def delete_letter(request, id): data = {} letter = Letter.objects.get(id=id) if not request.user in letter.owners.all(): messages.error(request, _(u"Zugriff verweigert!")) return redirect_to_prev_page(request) letter.delete() messages.success(request, _(u"Brief gelöscht!")) return redirect_to_prev_page(request)
def edit_letter(request, id): data = {} letter = Letter.objects.get(id=id) if not request.user in letter.owners.all(): messages.error(request, _(u"Zugriff verweigert!")) return redirect_to_prev_page(request) if not request.method == 'POST': letter_form = LetterForm(instance=letter) else: letter_form = LetterForm(request.POST, instance=letter) if letter_form.is_valid(): letter = letter_form.save() messages.success(request, _(u"Brief erfolgreich bearbeitet.")) return redirect(letter) else: messages.error(request, _(u"Es gibt noch Fehler im Formular.")) helper = FormHelper() helper.form_id = "foobar" helper.form_class = "search" submit = Submit("send", _(u"Speichern")) helper.add_input(submit) reset = Submit("reset", _(u"Zurücksetzen")) helper.add_input(reset) data['form'] = letter_form data['helper'] = helper data.update(csrf(request)) return render_to_response("lettr/edit_letter.html", data, context_instance=RequestContext(request))
def login(request): data = {} if not ('username' in request.POST and 'password' in request.POST): messages.error(request, _(u"Login fehlgeschlagen: Kein Username und/oder Passwort übermittelt.")) return redirect_to_prev_page(request) username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: django_login(request, user) messages.success(request, _(u"Login erfolgreich!")) else: messages.error(request, _(u"Benutzer ist inaktiv!")) else: messages.error(request, _(u"Falsches Passwort!")) return redirect_to_prev_page(request)
def show_letter(request, id): data = {} letter = Letter.objects.get(id=id) data['letter'] = letter if not request.user in letter.owners.all(): messages.error(request, _(u"Zugriff verweigert!")) return redirect_to_prev_page(request) return render_to_response("lettr/show_letter.html", data, context_instance=RequestContext(request))
def generate_gbrief_png(request, id): data = {} data['letter'] = Letter.objects.get(id=id) if not request.user in data['letter'].owners.all(): messages.error(request, _(u"Zugriff verweigert!")) return redirect_to_prev_page(request) # Create the HttpResponse object with the appropriate PNG headers. response = HttpResponse(mimetype='image/png') response.write(process_latex("lettr/gbrief.tex", data, type="png")) return response
def generate_gbrief_pdf(request, id): data = {} data['letter'] = Letter.objects.get(id=id) if not request.user in data['letter'].owners.all(): messages.error(request, _(u"Zugriff verweigert!")) return redirect_to_prev_page(request) # Create the HttpResponse object with the appropriate PDF headers. response = HttpResponse(mimetype='application/pdf') filename = data['letter'].heading.replace(' ', '_').replace(u'ä', 'ae').replace(u"ö", "oe").replace(u'ü', 'ue').replace(u'ß', 'ss').replace(u'Ä', 'AE').replace(u'Ö', 'OE').replace(u'Ü', 'UE').encode('ascii', 'ignore') response['Content-Disposition'] = 'attachment; filename=%s.pdf' % filename response.write(process_latex("lettr/gbrief.tex", data)) return response
def generate_gbrief_tex(request, id): data = {} data['letter'] = Letter.objects.get(id=id) if not request.user in data['letter'].owners.all(): messages.error(request, _(u"Zugriff verweigert!")) return redirect_to_prev_page(request) # Create the HttpResponse object with the appropriate TeX headers. response = HttpResponse(mimetype='text/plain') t = loader.get_template("lettr/gbrief.tex") r = t.render(Context(data)) response.write(r) return response
def edit_letter_ownership(request, id): data = {} letter = Letter.objects.get(id=id) data['letter'] = letter if not request.user in letter.owners.all(): messages.error(request, _(u"Zugriff verweigert!")) return redirect_to_prev_page(request) if 'add' in request.GET: try: user = User.objects.get(username=request.GET['add']) if user in letter.owners.all(): message.error(request, _(u"Benutzer '%(name)s' ist schon berechtigt." % {'name':user.username})) else: ownership = Ownership_Letter.objects.create(owner=user, letter=letter) messages.success(request, _(u"Benutzer '%(name)s' Rechte gegeben." % {'name':user.username})) except: messages.error(request, _(u"Benutzer '%(name)s' nicht gefunden." % {'name':request.GET['add']})) if 'remove' in request.GET: try: user = User.objects.get(username=request.GET['remove']) if not user in letter.owners.all(): message.error(request, _(u"Benutzer '%(name)s' ist kein Besitzer dieses Briefes." % {'name':user.username})) else: ownership = Ownership_Letter.objects.get(owner=user, letter=letter) ownership.delete() messages.success(request, _(u"Benutzer '%(name)s' Rechte entzogen." % {'name':user.username})) except: messages.error(request, _(u"Benutzer '%(name)s' nicht gefunden." % {'name':request.GET['remove']})) if request.GET: return redirect(edit_letter_ownership, id) data['users'] = [user for user in User.objects.all() if not user in letter.owners.all() and not user == request.user] data['owners'] = [user for user in letter.owners.all() if not user == request.user] return render_to_response("lettr/edit_letter_ownership.html", data, context_instance=RequestContext(request))