def register_company(request): # permissions: anybody can register a company # show CompanyForm, empty if request.method == 'POST': # submit data form = CompanyForm(request.POST, request.FILES) if form.is_valid(): company = form.save(False) company.created_by = request.user form.save() create_company_defaults(request.user, company) return redirect('pos:terminal', company=form.cleaned_data['url_name']) # home page else: # show an empty form form = CompanyForm() context = { 'form': form, 'pos_url': get_terminal_url(request), 'color_logo_dimensions': g.IMAGE_DIMENSIONS['color_logo'], 'monochrome_logo_dimensions': g.IMAGE_DIMENSIONS['monochrome_logo'], 'max_upload_size': g.MISC['max_upload_image_size'], 'title': _("Registration"), 'site_title': g.MISC['site_title'], } return render(request, 'web/register_company.html', context)
def edit_company(request, company): # get company, it must exist c = get_object_or_404(Company, url_name=company) # check if the user has permission to change it # only admins can change company details if not has_permission(request.user, c, 'company', 'edit'): return no_permission_view(request, c, _("You have no permission to edit company details.")) context = { 'company': c, 'color_logo_dimensions': g.IMAGE_DIMENSIONS['color_logo'], 'monochrome_logo_dimensions': g.IMAGE_DIMENSIONS['monochrome_logo'], 'max_upload_size': g.MISC['max_upload_image_size'], 'title': _("Company details"), 'site_title': g.MISC['site_title'], 'pos_url': get_terminal_url(request), } if request.method == 'POST': # submit data form = CompanyForm(request.POST, request.FILES, instance=c) if form.is_valid(): form.save() # for an eventual message for the user context['saved'] = True # if url_name was changed, redirect to new address return redirect('pos:edit_company', company=c.url_name) else: form = CompanyForm(instance=c) context['form'] = form return render(request, 'pos/manage/company.html', context)