def update_bylaws(request): denied_message = 'You are not authorized to update bylaws.' if not Permissions.can_manage_bylaws(request.user): request.session['error_message'] = denied_message return redirect('about:bylaws') form = GoverningDocumentForm(request.POST or None, request.FILES or None) if request.method == 'POST': if form.is_valid(): form.save() request.session['success_message'] = ('Document uploaded ' 'successfully') return get_previous_page(request, 'about:bylaws') else: request.session['error_message'] = messages.GENERIC_SUBMIT_ERROR template = loader.get_template('generic_form.html') context_dict = { 'form': form, 'subnav': 'bylaws', 'has_files': True, 'submit_name': 'Update Governing Document', 'form_title': 'Upload New Version of Governing Document', 'help_text': 'This will replace the existing document of this type.', 'base': 'about/base_about.html', } context_dict.update(get_common_context(request)) context_dict.update(get_permissions(request.user)) return HttpResponse(template.render(context_dict, request))
def get_permissions(user): """ Standardized way of querying user permissions across the website. Permissions for the entire (or most of it) module are loaded into a dictionary that gets merged with the template context to provide the template with a list of permissions so as to generate the page correctly. """ permission_dict = { 'can_edit_about_photos': Permissions.can_manage_website(user), 'can_edit_bylaws': Permissions.can_manage_bylaws(user), } return permission_dict
def update_governing_doc_types(request): """ Standard form view based on the generic_formset. Used to update the text in the joining page. """ denied_message = 'You are not authorized to update bylaws.' if not Permissions.can_manage_bylaws(request.user): request.session['error_message'] = denied_message return redirect('about:bylaws') prefix = 'bylaws' # messages and static text success_message = 'Governing doc types updated successfully updated.' formset = GoverningDocumentTypeFormset(request.POST or None, prefix=prefix) if request.method == 'POST': if formset.is_valid(): instances = formset.save() request.session['success_message'] = success_message return redirect('about:bylaws') else: request.session['error_message'] = FORM_ERROR context_dict = { 'formset': formset, 'prefix': prefix, 'subnav': 'bylaws', 'has_files': False, 'submit_name': 'Update Governing Document Types', 'back_button': {'link': reverse('about:bylaws'), 'text': 'To Bylaws Page'}, 'form_title': 'Update or Add Governing Document Types', 'help_text': 'Used to add or rename governing document types.', 'can_add_row': True, 'base': 'about/base_about.html', } context_dict.update(get_common_context(request)) context_dict.update(get_permissions(request.user)) template = loader.get_template('generic_formset.html') return HttpResponse(template.render(context_dict,request))