Exemple #1
0
def edit_failed_contact(request, pk):
    contact_obj = get_object_or_404(FailedContact, pk=pk)
    if not (request.user.role == 'ADMIN' or request.user.is_superuser
            or contact_obj.created_by == request.user):
        raise PermissionDenied
    if request.method == 'GET':
        form = ContactForm(instance=contact_obj)
        return render(request, 'marketing/lists/edit_contact.html',
                      {'form': form})

    if request.method == 'POST':
        form = ContactForm(request.POST, instance=contact_obj)
        if form.is_valid():
            contact = form.save(commit=False)
            contact.save()
            form.save_m2m()
            return JsonResponse({
                'error':
                False,
                'success_url':
                reverse('marketing:contacts_list')
            })
        else:
            return JsonResponse({
                'error': True,
                'errors': form.errors,
            })
Exemple #2
0
def edit_contact(request, pk):
    url_redirect_to = None
    contact_obj = get_object_or_404(Contact, pk=pk)
    if not (request.user.role == 'ADMIN' or request.user.is_superuser
            or contact_obj.created_by == request.user or
            (contact_obj.id
             in request.user.marketing_contactlist.all().values_list(
                 'contacts', flat=True))):
        raise PermissionDenied
    if request.method == 'GET':
        form = ContactForm(instance=contact_obj)
        return render(request, 'marketing/lists/edit_contact.html',
                      {'form': form})

    if request.method == 'POST':
        form = ContactForm(request.POST, instance=contact_obj)
        if form.is_valid():
            if form.has_changed():
                if contact_obj.contact_list.count() > 1:
                    contact_list_obj = ContactList.objects.filter(
                        id=request.POST.get('from_url')).first()
                    if contact_list_obj:
                        contact_obj.contact_list.remove(contact_list_obj)
                    updated_contact = ContactForm(request.POST)
                    if updated_contact.is_valid():
                        updated_contact_obj = updated_contact.save()
                        updated_contact_obj.created_by = request.user
                        updated_contact_obj.save()
                        updated_contact_obj.contact_list.add(contact_list_obj)
                else:
                    contact = form.save(commit=False)
                    if form.is_valid():
                        contact.save()
                        form.save_m2m()
            else:
                contact = form.save(commit=False)
                if form.is_valid():
                    contact.save()
                    form.save_m2m()
            if request.POST.get('from_url'):
                return JsonResponse({
                    'error':
                    False,
                    'success_url':
                    reverse('marketing:contact_list_detail',
                            args=(request.POST.get('from_url'), ))
                })
            return JsonResponse({
                'error':
                False,
                'success_url':
                reverse('marketing:contacts_list')
            })
        else:
            return JsonResponse({
                'error': True,
                'errors': form.errors,
            })