def adjuster_add(request): context = {} if request.method == "POST": user_form = UserAddForm(request.POST) adjuster_form = AdjusterAddForm(request.POST, request=request) if user_form.is_valid() and adjuster_form.is_valid(): # TODO: сделать отправку сообщения о регистрации на email user = user_form.save(commit=False) user.type = 4 user.save() adjuster = adjuster_form.save(commit=False) adjuster.user = user adjuster.save() return HttpResponseRedirect(reverse('adjuster:change', args=(adjuster.id, ))) else: context.update({ 'error': u'Проверьте правильность ввода полей' }) else: user_form = UserAddForm() adjuster_form = AdjusterAddForm(request=request) try: request.session['adjuster_filtered_list'] except: request.session['adjuster_filtered_list'] = reverse('adjuster:list') context.update({ 'user_form': user_form, 'adjuster_form': adjuster_form, 'back_to_list': request.session['adjuster_filtered_list'] }) return render(request, 'adjuster/adjuster_add.html', context)
def manager_add(request): context = {} if request.method == "POST": u_form = UserAddForm(request.POST) m_form = ManagerForm(request.POST) if u_form.is_valid() and m_form.is_valid(): user = u_form.save(commit=False) user.type = 5 user.save() manager = m_form.save(commit=False) manager.user = user manager.save() return HttpResponseRedirect(reverse('manager:update', args=(manager.id,))) else: context.update({ 'error': u'Проверьте правильность ввода полей' }) else: m_form_initial = {} if request.user.type == 2: m_form_initial.update({ 'moderator': request.user }) elif request.user.type == 5: manager = Manager.objects.get(user=request.user) m_form_initial.update({ 'moderator': manager.moderator }) u_form = UserAddForm() m_form = ManagerForm(initial=m_form_initial) if request.user.type == 1: m_form.fields['moderator'].queryset = User.objects.filter(type=2) elif request.user.type == 6: m_form.fields['moderator'].queryset = User.objects.filter(pk__in=request.user.superviser.moderator_id_list()) elif request.user.type == 2: m_form.fields['moderator'].queryset = User.objects.filter(pk=request.user.id) elif request.user.type == 5: manager = Manager.objects.get(user=request.user) m_form.fields['moderator'].queryset = User.objects.filter(pk=manager.moderator.id) try: request.session['manager_filtered_list'] except: request.session['manager_filtered_list'] = reverse('manager:list') context.update({ 'u_form': u_form, 'm_form': m_form, 'back_to_list': request.session['manager_filtered_list'] }) return render(request, 'manager/manager_add.html', context)
def administrator_add(request): context = {} if request.method == "POST": form = UserAddForm(request.POST) if form.is_valid(): user = form.save(commit=False) user.type = 1 user.is_superuser = True user.is_staff = True user.is_active = True user.save() return HttpResponseRedirect( reverse('administrator:update', args=(user.id, ))) else: context.update({'error': u'Проверьте правильность ввода полей'}) else: form = UserAddForm() context.update({ 'form': form, }) return render(request, 'administrator/administrator_add.html', context)