Example #1
0
def relation_begin(request):
    # TODO We should use Django forms, or better: use sweet Ajax
    d = {}
    for t in ("who", "with", "how"):
        if t not in request.POST:
            raise ValueError, "Missing attr %s" % t
        if t == "how" and (not request.POST[t] or request.POST[t] == "null"):
            d[t] = None
        else:
            d[t] = _id(request.POST[t])
    if not Es.user_may_begin_relation(request.user, d["who"], d["with"], d["how"]):
        raise PermissionDenied

    # Check whether such a relation already exists
    dt = now()
    ok = False
    try:
        next(Es.query_relations(who=d["who"], _with=d["with"], how=d["how"], _from=dt, until=DT_MAX))
    except StopIteration:
        ok = True
    if not ok:
        raise ValueError, _("Deze relatie bestaat al")

    # Add the relation!
    relation_id = Es.add_relation(d["who"], d["with"], d["how"], dt, DT_MAX)

    # Notify informacie
    # TODO (rik) leave out 'als lid'
    Es.notify_informacie("relation_begin", request.user, relation=relation_id)

    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #2
0
def ik_chsmoel(request):
    if 'smoel' not in request.FILES:
        raise ValueError(_("Missende `smoel' in FILES"))
    if 'id' not in request.POST:
        raise ValueError(_("Missende `id' in POST"))
    user = Es.by_id(request.POST['id'])
    if not user.name:
        raise ValueError(_("Entiteit heeft geen naam"))
    if not request.user.may_upload_smoel_for(request.user):
        raise PermissionDenied
    original = default_storage.open(
        os.path.join(settings.SMOELEN_PHOTOS_PATH, str(user.name)) + ".orig",
        'wb+')
    for chunk in request.FILES['smoel'].chunks():
        original.write(chunk)
    original.seek(0)
    img = PIL.Image.open(original)
    if hasattr(img, '_getexif') and img._getexif() is not None:
        orientation = int(img._getexif().get(274, '1'))  # Orientation
        if orientation == 3:
            img = img.transpose(PIL.Image.ROTATE_180)
        elif orientation == 6:
            img = img.transpose(PIL.Image.ROTATE_270)
        elif orientation == 8:
            img = img.transpose(PIL.Image.ROTATE_90)
    width, height = resize_proportional(img.size[0], img.size[1],
                                        settings.SMOELEN_WIDTH * 2,
                                        settings.SMOELEN_HEIGHT * 2)
    img = img.resize((width, height), PIL.Image.ANTIALIAS)
    img.save(
        default_storage.open(
            os.path.join(settings.SMOELEN_PHOTOS_PATH, str(user.name)) +
            ".jpg", 'w'), "JPEG")
    Es.notify_informacie('set_smoel', request.user, entity=user)
    return redirect_to_referer(request)
Example #3
0
def ik_chsmoel(request):
    if not "smoel" in request.FILES:
        raise ValueError, _("Missende `smoel' in FILES")
    if not "id" in request.POST:
        raise ValueError, _("Missende `id' in POST")
    user = Es.by_id(request.POST["id"])
    if not user.name:
        raise ValueError, _("Entiteit heeft geen naam")
    if not request.user.may_upload_smoel_for(request.user):
        raise PermissionDenied
    original = default_storage.open(path.join(settings.SMOELEN_PHOTOS_PATH, str(user.name)) + ".orig", "wb+")
    for chunk in request.FILES["smoel"].chunks():
        original.write(chunk)
    original.seek(0)
    img = Image.open(original)
    if hasattr(img, "_getexif") and img._getexif() is not None:
        orientation = int(img._getexif().get(274, "1"))  # Orientation
        if orientation == 3:
            img = img.transpose(Image.ROTATE_180)
        elif orientation == 6:
            img = img.transpose(Image.ROTATE_270)
        elif orientation == 8:
            img = img.transpose(Image.ROTATE_90)
    width, height = resize_proportional(
        img.size[0], img.size[1], settings.SMOELEN_WIDTH * 2, settings.SMOELEN_HEIGHT * 2
    )
    img = img.resize((width, height), Image.ANTIALIAS)
    img.save(default_storage.open(path.join(settings.SMOELEN_PHOTOS_PATH, str(user.name)) + ".jpg", "w"), "JPEG")
    Es.notify_informacie("set_smoel", request.user, entity=user)
    return redirect_to_referer(request)
Example #4
0
def ik_chsmoel(request):
    if not 'smoel' in request.FILES:
        raise ValueError, "Missing `smoel' in FILES"
    if not 'id' in request.POST:
        raise ValueError, "Missing `id' in POST"
    user = Es.by_id(request.POST['id'])
    if not request.user.may_upload_smoel_for(request.user):
        raise PermissionDenied
    original = default_storage.open(path.join(settings.SMOELEN_PHOTOS_PATH,
            str(user.name)) + ".orig", 'wb+')
    for chunk in request.FILES['smoel'].chunks():
        original.write(chunk)
    original.seek(0)
    img = Image.open(original)
    if img._getexif() is not None:
        orientation = int(img._getexif().get(274, '1')) # Orientation
        if orientation == 3:
            img = img.transpose(Image.ROTATE_180)
        elif orientation == 6:
            img = img.transpose(Image.ROTATE_270)
        elif orientation == 8:
            img = img.transpose(Image.ROTATE_90)
    width, height = resize_proportional(img.size[0], img.size[1],
                                        settings.SMOELEN_WIDTH*2,
                                        settings.SMOELEN_HEIGHT*2)
    img = img.resize((width, height), Image.ANTIALIAS)
    img.save(default_storage.open(path.join(settings.SMOELEN_PHOTOS_PATH,
            str(user.name)) + ".jpg", 'w'), "JPEG")
    Es.notify_informacie('set_smoel', request.user, entity=user)
    return redirect_to_referer(request)
Example #5
0
def relation_begin(request):
    # TODO We should use Django forms, or better: use sweet Ajax
    d = {}
    for t in ('who', 'with', 'how'):
        if t not in request.POST:
            raise ValueError, "Missing attr %s" % t
        if t == 'how' and request.POST[t] == 'null':
            d[t] = None
        else:
            d[t] = _id(request.POST[t])
    if not Es.user_may_begin_relation(request.user, d['who'], d['with'],
                                                                d['how']):
        raise PermissionDenied
    # Check whether such a relation already exists
    dt = now()
    ok = False
    try:
        next(Es.query_relations(who=d['who'], _with=d['with'],
            how=d['how'], _from=dt, until=DT_MAX))
    except StopIteration:
        ok = True
    if not ok:
        raise ValueError, "This relation already exists"
    # Add the relation!
    Es.add_relation(d['who'], d['with'], d['how'], dt, DT_MAX)
    giedo.sync()
    return redirect_to_referer(request)
Example #6
0
def relation_end(request, _id):
    rel = Es.relation_by_id(_id)
    if rel is None:
        raise Http404
    if not Es.relation_is_active(rel):
        messages.info(request, _("Relatie was al beëindigd."))
        return redirect_to_referer(request)
    if not Es.user_may_end_relation(request.user, rel):
        raise PermissionDenied
    Es.end_relation(_id)

    # Notify informacie
    # TODO (rik) leave out 'als lid'
    Es.notify_informacie('relation_end', request.user, relation=_id)

    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #7
0
def relation_end(request, _id):
    rel = Es.relation_by_id(_id)
    if rel is None:
        raise Http404
    if not Es.relation_is_active(rel):
        messages.info(request, _("Relatie was al beëindigd."))
        return redirect_to_referer(request)
    if not Es.user_may_end_relation(request.user, rel):
        raise PermissionDenied
    Es.end_relation(_id)

    # Notify informacie
    # TODO (rik) leave out 'als lid'
    Es.notify_informacie('relation_end', request.user, relation=_id)

    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #8
0
def relation_end(request, _id):
    rel = Es.relation_by_id(_id)
    if rel is None:
        raise Http404
    if not Es.user_may_end_relation(request.user, rel):
        raise PermissionDenied
    Es.end_relation(_id)
    giedo.sync()
    return redirect_to_referer(request)
Example #9
0
def untag(request):
    group, tag = _get_group_and_tag(request)
    if not Es.user_may_untag(request.user, group, tag):
        raise PermissionDenied

    group.untag(tag)
    Es.notify_informacie('untag', request.user, entity=group, tag=tag)
    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #10
0
def untag(request):
    group, tag = _get_group_and_tag(request)
    if not Es.user_may_untag(request.user, group, tag):
        raise PermissionDenied

    group.untag(tag)
    Es.notify_informacie('untag', request.user, entity=group, tag=tag)
    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #11
0
def user_reset_password(request, _id):
    if not "secretariaat" in request.user.cached_groups_names:
        raise PermissionDenied
    u = Es.by_id(_id).as_user()
    if not u.is_active:
        raise ValueError, _("Gebruiker is niet geactiveerd")
    pwd = pseudo_randstr()
    u.set_password(pwd)
    giedo.change_password(str(u.name), pwd, pwd)
    render_then_email("leden/reset-password.mail.txt", u, {"user": u, "password": pwd})
    messages.info(request, _("Wachtwoord gereset!"))
    return redirect_to_referer(request)
Example #12
0
def user_reset_password(request, _id):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    u = Es.by_id(_id).as_user()
    pwd = pseudo_randstr()
    u.set_password(pwd)
    giedo.change_password(str(u.name), pwd, pwd)
    render_then_email("leden/reset-password.mail.txt",
                        u.canonical_full_email, {
                            'user': u,
                            'password': pwd})
    request.user.push_message("Wachtwoord gereset!")
    return redirect_to_referer(request)
Example #13
0
def relation_begin(request):
    # TODO We should use Django forms, or better: use sweet Ajax
    d = {}
    for t in ('who', 'with', 'how'):
        if t not in request.POST:
            raise ValueError("Missing attr %s" % t)
        if t == 'how' and (not request.POST[t] or request.POST[t] == 'null'):
            d[t] = None
        else:
            d[t] = _id(request.POST[t])
    if not Es.user_may_begin_relation(request.user, d['who'], d['with'],
                                      d['how']):
        raise PermissionDenied

    # Check whether such a relation already exists
    dt = now()
    ok = False
    try:
        next(
            Es.query_relations(who=d['who'],
                               _with=d['with'],
                               how=d['how'],
                               _from=dt,
                               until=DT_MAX))
    except StopIteration:
        ok = True
    if not ok:
        messages.info(request, _("Deze relatie bestaat al"))
        return redirect_to_referer(request)

    # Add the relation!
    relation_id = Es.add_relation(d['who'], d['with'], d['how'], dt, DT_MAX)

    # Notify informacie
    # TODO (rik) leave out 'als lid'
    Es.notify_informacie('relation_begin', request.user, relation=relation_id)

    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #14
0
def user_reset_password(request, _id):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    u = Es.by_id(_id).as_user()
    pwd = pseudo_randstr()
    u.set_password(pwd)
    giedo.change_password(str(u.name), pwd, pwd)
    render_then_email("leden/reset-password.mail.txt",
                        u.canonical_full_email, {
                            'user': u,
                            'password': pwd})
    request.user.push_message("Wachtwoord gereset!")
    return redirect_to_referer(request)
Example #15
0
def relation_end(request, _id):
    rel = Es.relation_by_id(_id)
    if rel is None:
        raise Http404
    if not Es.user_may_end_relation(request.user, rel):
        raise PermissionDenied
    Es.end_relation(_id)

    # Notify informacie
    # TODO (rik) leave out 'als lid'
    Es.notify_informacie("relation_end", request.user, relation=_id)

    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #16
0
def note_add(request):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    if 'on' not in request.POST or 'note' not in request.POST:
        raise ValueError, "missing `on' or `note'"
    on = Es.by_id(_id(request.POST['on']))
    if on is None:
        raise Http404
    on.add_note(request.POST['note'], request.user)
    render_then_email("leden/new-note.mail.txt",
                        Es.by_name('secretariaat').canonical_full_email, {
                            'user': request.user,
                            'note': request.POST['note'],
                            'on': on})
    return redirect_to_referer(request)
Example #17
0
def note_add(request):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    if 'on' not in request.POST or 'note' not in request.POST:
        raise ValueError, "missing `on' or `note'"
    on = Es.by_id(_id(request.POST['on']))
    if on is None:
        raise Http404
    on.add_note(request.POST['note'], request.user)
    render_then_email("leden/new-note.mail.txt",
                        Es.by_name('secretariaat').canonical_full_email, {
                            'user': request.user,
                            'note': request.POST['note'],
                            'on': on})
    return redirect_to_referer(request)
Example #18
0
def user_reset_password(request, _id):
    if 'secretariaat' not in request.user.cached_groups_names:
        raise PermissionDenied
    u = Es.by_id(_id).as_user()
    if not u.is_active:
        raise ValueError(_("Gebruiker is niet geactiveerd"))
    pwd = pseudo_randstr()
    u.set_password(pwd)
    giedo.change_password(str(u.name), pwd, pwd)
    render_then_email("leden/reset-password.mail.html", u, {
        'user': u,
        'password': pwd
    })
    messages.info(request, _("Wachtwoord gereset!"))
    return redirect_to_referer(request)
Example #19
0
def note_add(request):
    if not "secretariaat" in request.user.cached_groups_names:
        raise PermissionDenied
    if "on" not in request.POST or "note" not in request.POST:
        raise ValueError, _("missende `on' of `note'")
    on = Es.by_id(_id(request.POST["on"]))
    if on is None:
        raise Http404
    on.add_note(request.POST["note"], request.user)
    render_then_email(
        "leden/new-note.mail.txt",
        Es.by_name("secretariaat").canonical_full_email,
        {"user": request.user, "note": request.POST["note"], "on": on},
    )
    return redirect_to_referer(request)
Example #20
0
def ik_chsmoel(request):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    if not 'id' in request.POST:
        raise ValueError, "Missing `id' in POST"
    if not 'smoel' in request.FILES:
        raise ValueError, "Missing `smoel' in FILES"
    user = Es.by_id(request.POST['id'])
    img = Image.open(request.FILES['smoel'])
    img = img.resize((settings.SMOELEN_WIDTH,
        int(float(settings.SMOELEN_WIDTH) / img.size[0] * img.size[1])),
            Image.ANTIALIAS)
    img.save(default_storage.open(path.join(settings.SMOELEN_PHOTOS_PATH,
            str(user.name)) + ".jpg", 'w'), "JPEG")
    return redirect_to_referer(request)
Example #21
0
def ik_chsmoel(request):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    if not 'id' in request.POST:
        raise ValueError, "Missing `id' in POST"
    if not 'smoel' in request.FILES:
        raise ValueError, "Missing `smoel' in FILES"
    user = Es.by_id(request.POST['id'])
    img = Image.open(request.FILES['smoel'])
    smoelen_width = settings.SMOELEN_WIDTH * 2
    img = img.resize((smoelen_width,
        int(float(smoelen_width) / img.size[0] * img.size[1])),
            Image.ANTIALIAS)
    img.save(default_storage.open(path.join(settings.SMOELEN_PHOTOS_PATH,
            str(user.name)) + ".jpg", 'w'), "JPEG")
    return redirect_to_referer(request)
Example #22
0
def relation_end(request, _id):
    rel = Es.relation_by_id(_id)
    if rel is None:
        raise Http404
    if not Es.user_may_end_relation(request.user, rel):
        raise PermissionDenied
    Es.end_relation(_id)

    # Notify informacie
    if request.user == rel['who']:
        Es.notify_informacie('relation_ended', relation=_id)
    else:
        # TODO (rik) leave out 'als lid'
        Es.notify_informacie('relation_end', relation=_id)

    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #23
0
def note_add(request):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    if 'on' not in request.POST or 'note' not in request.POST:
        raise ValueError, "missing `on' or `note'"
    on = Es.by_id(_id(request.POST['on']))
    if on is None:
        raise Http404
    on.add_note(request.POST['note'], request.user)
    email = EmailMessage(
        "Nieuwe notitie",
        "Door %s is de volgende notitie geplaatst op %s:\r\n\r\n%s" % (
            request.user.full_name, unicode(on.humanName),
            request.POST['note']),
        'Karpe Noktem\'s ledenadministratie <*****@*****.**>',
        [Es.by_name('secretariaat').canonical_email]).send()
    return redirect_to_referer(request)
Example #24
0
def note_add(request):
    if 'secretariaat' not in request.user.cached_groups_names:
        raise PermissionDenied
    if 'on' not in request.POST or 'note' not in request.POST:
        raise ValueError(_("missende `on' of `note'"))
    on = Es.by_id(_id(request.POST['on']))
    if on is None:
        raise Http404
    note = on.add_note(request.POST['note'], request.user)
    render_then_email("leden/new-note.mail.html",
                      Es.by_name('secretariaat').canonical_full_email, {
                          'user': request.user,
                          'note': request.POST['note'],
                          'on': on},
                      headers={
                          'In-Reply-To': note.messageId,
                          'References': note.messageId})
    return redirect_to_referer(request)
Example #25
0
def _user_detail(request, user):
    ctx = _entity_detail(request, user)
    ctx["photosUrl"] = reverse("fotos", kwargs={"path": ""}) + "?q=tag:" + str(user.name)
    ctx["addStudyFormOpen"] = False
    if request.method == "POST":
        addStudyForm = AddStudyForm(request.POST)
        if "action" in request.POST and request.POST["action"] == "add-study":
            if "secretariaat" not in request.user.cached_groups_names:
                raise PermissionDenied
            ctx["addStudyFormOpen"] = True
            if addStudyForm.is_valid():
                fd = addStudyForm.cleaned_data
                # TODO: catch error when study start overlaps with last study
                user.study_start(fd["study"], fd["study_inst"], fd["study_number"], fd["study_from"])
                return redirect_to_referer(request)
    else:
        addStudyForm = AddStudyForm()
    if user.last_study_end_date < DT_MAX:
        ctx["addStudyForm"] = addStudyForm
    return render_to_response("leden/user_detail.html", ctx, context_instance=RequestContext(request))
Example #26
0
def note_add(request):
    if 'secretariaat' not in request.user.cached_groups_names:
        raise PermissionDenied
    if 'on' not in request.POST or 'note' not in request.POST:
        raise ValueError(_("missende `on' of `note'"))
    on = Es.by_id(_id(request.POST['on']))
    if on is None:
        raise Http404
    note = on.add_note(request.POST['note'], request.user)
    render_then_email("leden/new-note.mail.html",
                      Es.by_name('secretariaat').canonical_full_email, {
                          'user': request.user,
                          'note': request.POST['note'],
                          'on': on
                      },
                      headers={
                          'In-Reply-To': note.messageId,
                          'References': note.messageId
                      })
    return redirect_to_referer(request)
Example #27
0
def relation_end(request, _id):
    rel = Es.relation_by_id(_id)
    if rel is None:
        raise Http404
    if not Es.user_may_end_relation(request.user, rel):
        raise PermissionDenied
    Es.end_relation(_id)
    # Notify informacie
    if request.user == rel['who']:
        Es.notify_informacie("%s heeft zich uitgeschreven als %s %s" % (
                        request.user.full_name,
                        rel['how'].humanName if rel['how'] else 'lid',
                        rel['with'].humanName.genitive))
    else:
        # TODO (rik) leave out 'als lid'
        Es.notify_informacie("%s is geen %s meer %s" % (
                        rel['who'].humanName,
                        rel['how'].humanName if rel['how'] else 'lid',
                        rel['with'].humanName.genitive))
    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #28
0
def user_reset_password(request, _id):
    if not 'secretariaat' in request.user.cached_groups_names:
        raise PermissionDenied
    u = Es.by_id(_id).as_user()
    pwd = pseudo_randstr()
    u.set_password(pwd)
    giedo.change_password(str(u.name), pwd, pwd)
    email = EmailMessage(
        "[KN] Nieuw wachtwoord",
        ("Beste %s,\n\n"+
         "Jouw wachtwoord is gereset.  Je kunt inloggen met:\n"+
         "  gebruikersnaam     %s\n"+
         "  wachtwoord         %s\n\n"+
         "Met een vriendelijke groet,\n\n"+
         "  Het Karpe Noktem Smoelenboek") % (
              u.first_name, str(u.name), pwd),
        'Karpe Noktem\'s ledenadministratie <*****@*****.**>',
        [u.canonical_email])
    email.send()
    request.user.push_message("Wachtwoord gereset!")
    return redirect_to_referer(request)
Example #29
0
def relation_begin(request):
    # TODO We should use Django forms, or better: use sweet Ajax
    d = {}
    for t in ('who', 'with', 'how'):
        if t not in request.POST:
            raise ValueError, "Missing attr %s" % t
        if t == 'how' and (not request.POST[t] or
                               request.POST[t] == 'null'):
            d[t] = None
        else:
            d[t] = _id(request.POST[t])
    if not Es.user_may_begin_relation(request.user, d['who'], d['with'],
                                                                d['how']):
        raise PermissionDenied
    # Check whether such a relation already exists
    dt = now()
    ok = False
    try:
        next(Es.query_relations(who=d['who'], _with=d['with'],
            how=d['how'], _from=dt, until=DT_MAX))
    except StopIteration:
        ok = True
    if not ok:
        raise ValueError, "This relation already exists"
    # Add the relation!
    Es.add_relation(d['who'], d['with'], d['how'], dt, DT_MAX)
    # Notify informacie
    if request.user._id == d['who']:
        Es.notify_informacie("%s heeft zich ingeschreven als %s %s" % (
                            request.user.full_name,
                            Es.by_id(d['how']).humanName if d['how'] else 'lid',
                            Es.by_id(d['with']).humanName.genitive))
    else:
        # TODO (rik) leave out 'als lid'
        Es.notify_informacie("%s is nu %s %s" % (
                            Es.by_id(d['who']).humanName,
                            Es.by_id(d['how']).humanName if d['how'] else 'lid',
                            Es.by_id(d['with']).humanName.genitive))
    giedo.sync_async(request)
    return redirect_to_referer(request)
Example #30
0
def _user_detail(request, user):
    ctx = _entity_detail(request, user)
    ctx['photosUrl'] = (reverse('fotos', kwargs={'path': ''}) + '?q=tag:' +
                        str(user.name))
    ctx['addStudyFormOpen'] = False
    if request.method == 'POST':
        addStudyForm = AddStudyForm(request.POST)
        if 'action' in request.POST and request.POST['action'] == 'add-study':
            if 'secretariaat' not in request.user.cached_groups_names:
                raise PermissionDenied
            ctx['addStudyFormOpen'] = True
            if addStudyForm.is_valid():
                fd = addStudyForm.cleaned_data
                # TODO: catch error when study start overlaps with last study
                user.study_start(fd['study'], fd['study_inst'],
                                 fd['study_number'], fd['study_from'])
                return redirect_to_referer(request)
    else:
        addStudyForm = AddStudyForm()
    if user.last_study_end_date < DT_MAX:
        ctx['addStudyForm'] = addStudyForm
    return render(request, 'leden/user_detail.html', ctx)
Example #31
0
def _user_detail(request, user):
    ctx = _entity_detail(request, user)
    ctx['photosUrl'] = (reverse('fotos', kwargs={'path': ''})
                        + '?q=tag:' + str(user.name))
    ctx['addStudyFormOpen'] = False
    if request.method == 'POST':
        addStudyForm = AddStudyForm(request.POST)
        if 'action' in request.POST and request.POST['action'] == 'add-study':
            if 'secretariaat' not in request.user.cached_groups_names:
                raise PermissionDenied
            ctx['addStudyFormOpen'] = True
            if addStudyForm.is_valid():
                fd = addStudyForm.cleaned_data
                # TODO: catch error when study start overlaps with last study
                user.study_start(fd['study'], fd['study_inst'],
                                 fd['study_number'], fd['study_from'])
                return redirect_to_referer(request)
    else:
        addStudyForm = AddStudyForm()
    if user.last_study_end_date < DT_MAX:
        ctx['addStudyForm'] = addStudyForm
    return render(request, 'leden/user_detail.html', ctx)
Example #32
0
def secr_update_site_agenda(request):
    if "secretariaat" not in request.user.cached_groups_names:
        raise PermissionDenied
    giedo.update_site_agenda()
    messages.info(request, _("Agenda geupdate!"))
    return redirect_to_referer(request)
Example #33
0
def secr_update_site_agenda(request):
    if 'secretariaat' not in request.user.cached_groups_names:
        raise PermissionDenied
    giedo.update_site_agenda()
    messages.info(request, _("Agenda geupdate!"))
    return redirect_to_referer(request)
Example #34
0
def secr_update_site_agenda(request):
        if 'secretariaat' not in request.user.cached_groups_names:
                raise PermissionDenied
        giedo.update_site_agenda()
        request.user.push_message("Agenda geupdate!")
        return redirect_to_referer(request)