diff --git a/user_profile/templates/user_profile/issue_card.html b/user_profile/templates/user_profile/issue_card.html new file mode 100644 index 0000000..190a26e --- /dev/null +++ b/user_profile/templates/user_profile/issue_card.html @@ -0,0 +1,34 @@ +
+
+
Total Issues Solved:
+

+ {{ totalProblemsSolved }} +

+
+
+ + + +
+
diff --git a/user_profile/templates/user_profile/profile.html b/user_profile/templates/user_profile/profile.html index 6aab79a..f34ac9b 100644 --- a/user_profile/templates/user_profile/profile.html +++ b/user_profile/templates/user_profile/profile.html @@ -24,6 +24,7 @@ {% if user.is_authenticated %} {% include "user_profile/profile-card.html" %} + {% include "user_profile/issue_card.html" %} {% comment %} In Django templates you can use the "get_FOO_display()" method, that will return the readable alias diff --git a/user_profile/views.py b/user_profile/views.py index 4660fe0..7ba32ac 100644 --- a/user_profile/views.py +++ b/user_profile/views.py @@ -59,6 +59,11 @@ def profile(request, username): pr_requests_for_mentor = chain(pending_pr_requests_for_mentor, accepted_pr_requests_for_mentor, rejected_pr_requests_for_mentor) + easyProblems = PullRequest.objects.filter(contributor=user, issue__level=1, state=1).count() + mediumProblems = PullRequest.objects.filter(contributor=user, issue__level=2, state=1).count() + hardProblems = PullRequest.objects.filter(contributor=user, issue__level=3, state=1).count() + totalProblemsSolved = PullRequest.objects.filter(contributor=user, state=1).count() + pr_form = PRSubmissionForm() judge_form = PRJudgeForm() @@ -74,7 +79,11 @@ def profile(request, username): "assignment_requests_for_mentor": assignment_requests_for_mentor, 'pr_form': pr_form, "judge_form": judge_form, - "native_profile": native_profile + "native_profile": native_profile, + "easyProblems": easyProblems, + "mediumProblems": mediumProblems, + "hardProblems": hardProblems, + "totalProblemsSolved": totalProblemsSolved, } return render(request, 'user_profile/profile.html', context=context) else: