Esempio n. 1
0
def create_user(request):

    if request.method == 'POST':

        form = UserForm(request.POST)
        profile = ProfileForm(request.POST)

        if form.is_valid() and profile.is_valid():

            shops = profile.cleaned_data['shops']

            #save form
            user_data = form.save(commit=False)
            user_data.save()

            #save profile form
            profile_data = profile.save(commit=False)
            profile_data.creator = request.user
            profile_data.updater = request.user
            profile_data.user = user_data
            profile_data.current_shop = shops[0]
            profile_data.save()
            profile.save_m2m()

            request.session['message'] = 'User Created Successfully'
            return HttpResponseRedirect(
                reverse('users:view_user', kwargs={'pk': profile_data.pk}))

        else:
            errors = generate_form_errors(form, formset=False)
            errors += generate_form_errors(profile, formset=False)

            context = {
                'form': form,
                'profile': profile,
                'title': 'Create User',
                'message': 'Form Validation Error',
                "errors": errors,
                'url': reverse('users:create_user'),
                "users_active": "active"
            }
            return render(request, 'users/entry_user.html', context)

    else:
        form = UserForm()
        profile = ProfileForm()
        context = {
            "form": form,
            "profile": profile,
            "title": "Create User",
            'url': reverse('users:create_user'),
            "users_active": "active"
        }
        return render(request, 'users/entry_user.html', context)
Esempio n. 2
0
def edit_user(request, pk):
    instance = get_object_or_404(
        Profile.objects.filter(pk=pk, is_deleted=False))

    if request.method == 'POST':
        form = EditUserForm(request.POST, instance=instance.user)
        profile = ProfileForm(request.POST, instance=instance)

        if form.is_valid() and profile.is_valid():

            #save auth user
            user_data = form.save(commit=False)
            user_data.save()

            #save profile
            profile_data = profile.save(commit=False)
            profile_data.updater = request.user
            profile_data.date_updated = datetime.datetime.now()
            profile_data.save()
            profile.save_m2m()

            request.session['message'] = 'User Successfully Edited'
            return HttpResponseRedirect(
                reverse('users:view_user', kwargs={'pk': instance.pk}))

        else:
            errors = generate_form_errors(form, formset=False)
            errors += generate_form_errors(profile, formset=False)
            context = {
                'message': 'Form Validation Error',
                'title': 'Edit Form',
                'form': form,
                'profile': profile,
                "errors": errors,
                "users_active": "active",
                'url': reverse('users:edit_user', kwargs={'pk': instance.pk}),
            }
            return render(request, 'users/entry_user.html', context)

    else:

        form = EditUserForm(instance=instance.user)
        profile = ProfileForm(instance=instance)

        context = {
            'title': 'Edit User' + instance.user.username,
            'form': form,
            'profile': profile,
            'instance': instance,
            'url': reverse('users:edit_user', kwargs={'pk': instance.pk}),
            "users_active": "active"
        }
        return render(request, 'users/entry_user.html', context)