def edit(request, cred_id): cred = get_object_or_404(Cred, pk=cred_id) # Check user has perms if cred.group not in request.user.groups.all(): raise Http404 if request.method == 'POST': form = CredForm(request.user, request.POST, instance=cred) if form.is_valid(): # Assume metedata change chgtype = CredAudit.CREDMETACHANGE # Unless something thats not metadata changes for c in form.changed_data: if c not in Cred.METADATA: chgtype = CredAudit.CREDCHANGE # Clear pre-existing change queue items if chgtype == CredAudit.CREDCHANGE: CredChangeQ.objects.filter(cred=cred).delete() # Create audit log CredAudit(audittype=chgtype, cred=cred, user=request.user).save() form.save() return HttpResponseRedirect('/cred/list') else: form = CredForm(request.user, instance=cred) CredAudit(audittype=CredAudit.CREDVIEW, cred=cred, user=request.user).save() return render(request, 'cred_edit.html', {'form': form, 'action': '/cred/edit/' + cred_id + '/'})
def edit(request, cred_id): cred = get_object_or_404(Cred, pk=cred_id) next = request.GET.get('next', None) # Check user has perms if not cred.is_accessable_by(request.user): raise Http404 if request.method == 'POST': form = CredForm(request.user, request.POST, instance=cred) if form.is_valid(): # Assume metedata change chgtype = CredAudit.CREDMETACHANGE # Unless something thats not metadata changes for c in form.changed_data: if c not in Cred.METADATA: chgtype = CredAudit.CREDCHANGE # Clear pre-existing change queue items if chgtype == CredAudit.CREDCHANGE: CredChangeQ.objects.filter(cred=cred).delete() # Create audit log CredAudit(audittype=chgtype, cred=cred, user=request.user).save() form.save() if next is None: return HttpResponseRedirect(reverse('cred.views.detail', args=(cred.id,))) else: return HttpResponseRedirect(next) else: form = CredForm(request.user, instance=cred) CredAudit(audittype=CredAudit.CREDPASSVIEW, cred=cred, user=request.user).save() return render(request, 'cred_edit.html', {'form': form, 'action': reverse('cred.views.edit', args=(cred.id,)), 'next': next, 'icons': CredIcon.objects.all()})
def add(request): if request.method == 'POST': form = CredForm(request.user, request.POST) if form.is_valid(): form.save() CredAudit(audittype=CredAudit.CREDADD, cred=form.instance, user=request.user).save() return HttpResponseRedirect(reverse('cred.views.list')) else: form = CredForm(request.user) return render(request, 'cred_edit.html', {'form': form, 'action': reverse('cred.views.add'), 'icons': get_icon_list()})
def add(request): if request.method == 'POST': form = CredForm(request.user, request.POST) if form.is_valid(): form.save() CredAudit(audittype=CredAudit.CREDADD, cred=form.instance, user=request.user).save() return HttpResponseRedirect('/cred/list') else: form = CredForm(request.user) return render(request, 'cred_edit.html', {'form': form, 'action': '/cred/add/'})