def manage_edit(request, issue_slug): issue = get_object_or_404(Issue, slug=issue_slug).get_typed() # only sponsors of an issue may edit it sunetid = request.user.webauth_username if not issue.sunetid_can_manage(sunetid): return HttpResponseForbidden() form = None if request.method == 'POST': form = form_class_for_issue(issue)(request.POST, request.FILES, instance=issue) if form.is_valid(): form.save() return HttpResponseRedirect(reverse('issues.views.manage_edit', None, [issue.slug])) else: form = form_class_for_issue(issue)(instance=issue) return render_to_response('issues/manage/edit.html', {'issue': issue, 'form': form}, context_instance=RequestContext(request))
def create(request): sunetid = request.user.webauth_username attrs = request.POST.copy() if len(attrs) == 0 or 'kind' not in attrs: return HttpResponseNotFound("The form did not submit correctly. Please try again.") new_issue = Issue(kind=attrs['kind'], sunetid1=sunetid).get_typed() form = form_class_for_issue(new_issue)(attrs, instance=new_issue) if form.is_valid() and new_issue.can_declare(): form.save() return HttpResponseRedirect(reverse('issues.views.manage_index')) else: return render_to_response('issues/manage/new.html', {'new_issue': new_issue, 'form': form,'error': True}, context_instance=RequestContext(request))
def manage_new(request, issue_kind): sunetid = request.user.webauth_username new_issue = Issue(kind=issue_kind, sunetid1=sunetid).get_typed() form = form_class_for_issue(new_issue)(instance=new_issue) return render_to_response('issues/manage/new.html', {'new_issue': new_issue, 'form': form}, context_instance=RequestContext(request))