- {% if owner %}
+ {% comment %}
{% if is_purchased_future %}
@@ -108,7 +106,8 @@
{% endif %}
{% endif %}
-
+ {% endcomment %}
+
- {% endif %}
-
+ {% if is_author %}
+
+ {% endif %}
diff --git a/apps/user/views.py b/apps/user/views.py
index 500d8404..abbd2e4d 100644
--- a/apps/user/views.py
+++ b/apps/user/views.py
@@ -44,22 +44,20 @@ def resend_email_verify(request):
return redirect('user-edit-profile', request.user.id)
-class UserView(DetailView):
+@method_decorator(login_required, name='dispatch')
+class ProfileView(TemplateView):
model = User
template_name = 'user/profile.html'
+ def get(self, request, *args, **kwargs):
+ self.object = self.request.user
+ context = self.get_context_data(object=self.object)
+ return self.render_to_response(context)
+
def get_context_data(self, object):
context = super().get_context_data()
- if not self.request.user.is_anonymous:
- context['simple_user'] = self.request.user.role == User.USER_ROLE
- context['guest'] = self.request.user.id != self.object.id and self.request.user.role <= User.USER_ROLE
- else:
- context['simple_user'] = True
- context['guest'] = True
- context['owner'] = self.request.user.id == self.object.id
-
- if context['guest'] and self.object.role <= User.USER_ROLE:
- raise Http404()
+ context['user'] = self.request.user
+ context['is_author'] = self.request.user.role == User.AUTHOR_ROLE
context['published'] = Course.objects.filter(
author=self.object,
@@ -110,6 +108,18 @@ class UserView(DetailView):
return context
+class UserView(DetailView):
+ model = User
+ template_name = 'user/author_profile.html'
+
+ def get_context_data(self, object):
+ context = super().get_context_data()
+ context['published'] = Course.objects.filter(
+ author=self.object,
+ )
+ return context
+
+
class SubscribeView(View):
def post(self, request, pk=None, **kwargs):
@@ -195,11 +205,8 @@ class UserEditView(UpdateView):
template_name = 'user/profile-settings.html'
form_class = UserEditForm
- @method_decorator(login_required)
def dispatch(self, request, *args, **kwargs):
- self.object = self.get_object()
- if request.user != self.object:
- raise Http404()
+ self.object = request.user
return super().dispatch(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
diff --git a/project/templates/blocks/user_menu.html b/project/templates/blocks/user_menu.html
index 13f4fbdf..e1bc7d57 100644
--- a/project/templates/blocks/user_menu.html
+++ b/project/templates/blocks/user_menu.html
@@ -26,7 +26,7 @@
{% endif %}
{% endif %}
{% endif %}
-