|
|
|
|
@ -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): |
|
|
|
|
|