Ejemplo n.º 1
0
def close_note(data, request):
    """ Wraps Note.close()

          >> {action:"close_note", id: "5038b134d4080073f410fafd"}
          << {ok: true}
        ( << {ok: false, error: "Note already closed"} ) """
    if not 'secretariaat' in request.user.cached_groups_names:
        return {'ok': False, 'error': 'Permission denied'}
    note = Es.note_by_id(_id(data.get('id')))
    if note is None:
        return {'ok': False, 'error': 'Note not found'}
    if not note.open:
        return {'ok': False, 'error': 'Note already closed'}
    note.close(_id(request.user))
    render_then_email('leden/note-closed.mail.txt',
                      Es.by_name('secretariaat').canonical_full_email,
                      {'note': note})
    return {'ok': True}
Ejemplo n.º 2
0
Archivo: api.py Proyecto: Jille/kninfra
def close_note(data, request):
    """ Wraps Note.close()

          >> {action:"close_note", id: "5038b134d4080073f410fafd"}
          << {ok: true}
        ( << {ok: false, error: "Note already closed"} ) """
    if not 'secretariaat' in request.user.cached_groups_names:
        return {'ok': False, 'error': 'Permission denied'}
    note = Es.note_by_id(_id(data.get('id'))) 
    if note is None:
        return {'ok': False, 'error': 'Note not found'}
    if not note.open:
        return {'ok': False, 'error': 'Note already closed'}
    note.close(_id(request.user))
    render_then_email('leden/note-closed.mail.txt',
                        Es.by_name('secretariaat').canonical_full_email, {
                            'note': note})
    return {'ok': True}
Ejemplo n.º 3
0
def delete_note(data, request):
    """ Wraps Note.delete()

          >> {action:"delete_note", id: "5038b134d4080073f410fafd"}
          << {ok: true}
        ( << {ok: false, error: "Note not found"} ) """
    if 'secretariaat' not in request.user.cached_groups_names:
        return {'ok': False, 'error': 'Permission denied'}
    note = Es.note_by_id(_id(data.get('id')))
    if note is None:
        return {'ok': False, 'error': 'Note not found'}
    note.delete()
    render_then_email('leden/note-deleted.mail.html',
                      Es.by_name('secretariaat').canonical_full_email,
                      {'note': note, 'closed_by': request.user},
                      headers={
                              'In-Reply-To': note.messageId,
                              'References': note.messageId,
                      })
    return {'ok': True}
Ejemplo n.º 4
0
def close_note(data, request):
    """ Wraps Note.close()

          >> {action:"close_note", id: "5038b134d4080073f410fafd"}
          << {ok: true}
        ( << {ok: false, error: "Note already closed"} ) """
    if not 'secretariaat' in request.user.cached_groups_names:
        return {'ok': False, 'error': 'Permission denied'}
    note = Es.note_by_id(_id(data.get('id'))) 
    if note is None:
        return {'ok': False, 'error': 'Note not found'}
    if not note.open:
        return {'ok': False, 'error': 'Note already closed'}
    note.close(_id(request.user))
    EmailMessage(
            "Notitie gesloten",
            ("De volgende notitie van %s op %s:\r\n\r\n%s\r\n\r\n"+
             "is door %s gesloten") % (
                    unicode(note.by.humanName), unicode(note.on.humanName),
                    unicode(note.note), unicode(note.closed_by.humanName)),
             'Karpe Noktem\'s ledenadministratie <*****@*****.**>',
             [Es.by_name('secretariaat').canonical_email]).send()
    return {'ok': True}