diff --git a/apps/user/templates/user/profile-settings.html b/apps/user/templates/user/profile-settings.html index 68d41375..33baee8e 100644 --- a/apps/user/templates/user/profile-settings.html +++ b/apps/user/templates/user/profile-settings.html @@ -79,7 +79,7 @@ {% if form.email.errors %}
Укажите корректно свои данные
{% endif %} - +
ГОРОД
@@ -250,4 +250,4 @@ var openFile = function(file) { reader.readAsDataURL(input.files[0]); }; -{% endblock content %} \ No newline at end of file +{% endblock content %} diff --git a/apps/user/views.py b/apps/user/views.py index 44d9a486..53e1d689 100644 --- a/apps/user/views.py +++ b/apps/user/views.py @@ -26,7 +26,8 @@ from apps.notification.utils import send_email from apps.school.models import SchoolSchedule from apps.payment.models import AuthorBalance, CoursePayment, SchoolPayment -from .forms import UserEditForm, WithdrawalForm +from .forms import AuthorRequesForm, UserEditForm, WithdrawalForm +from .models import AuthorRequest User = get_user_model() @@ -182,3 +183,46 @@ class UserEditView(UpdateView): def get_success_url(self): return reverse('user-edit-profile', args=[self.object.id]) + + +class AuthorRequestView(FormView): + template_name = 'user/become-author.html' + form_class = AuthorRequesForm + success_url = reverse_lazy('author-request-success') + + def post(self, request, pk=None): + form = self.get_form() + if form.is_valid(): + if request.user.is_authenticated: + email = request.user.email + if request.user.role in [User.AUTHOR_ROLE, User.ADMIN_ROLE]: + messages.info('Вы уже являетесь автором') + return self.form_invalid(form) + else: + email = form.cleaned_data['email'] + + if AuthorRequest.objects.filter(email=email).exists(): + messages.error('Вы уже отправили заявку на преподавателя') + return self.form_invalid(form) + + AuthorRequest.objects.create( + first_name=form.cleaned_daLILta['first_name'], + last_name=form.cleaned_data['last_name'], + email=email, + about=form.cleaned_data['about'], + facebook=form.cleaned_data['facebook'], + ) + return self.form_valid(form) + else: + return self.form_invalid(form) + + def get_context_data(self): + if self.request.user.is_authenticated: + self.initial = { + 'first_name': self.request.user.first_name, + 'last_name': self.request.user.last_name, + 'email': self.request.user.email, + 'about': self.request.user.about, + 'facebook': self.request.user.facebook, + } + return super().get_context_data() diff --git a/project/templates/lilcity/index.html b/project/templates/lilcity/index.html index 2f28628d..b6bb1808 100644 --- a/project/templates/lilcity/index.html +++ b/project/templates/lilcity/index.html @@ -188,8 +188,11 @@