示例#1
0
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)
示例#2
0
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)
示例#3
0
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)