예제 #1
0
 def activate(self, user_id=''):
     user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)
     
     # Rules for setting levels.
     user_o['active'] = True
     holly_couch[user_id] = user_o
     
     raise redirect(request.referrer)
예제 #2
0
파일: user.py 프로젝트: asplunden/hollyrosa
    def activate(self, user_id=''):
        log.info("activate()")
        ensurePostRequest(request, __name__)
        user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)

        # Rules for setting levels.
        user_o['active'] = True
        holly_couch[user_id] = user_o

        raise redirect(request.referrer)
예제 #3
0
파일: note.py 프로젝트: asplunden/hollyrosa
    def delete_note(self, note_id, visiting_group_id):
        log.debug(u'Trying to delete note with id="%s" visting_group_id="%s"' % (note_id, visiting_group_id))
        note_o = common_couch.getCouchDBDocument(holly_couch, note_id, doc_type=None)
        if note_o['target_id'] != visiting_group_id:
            abort(403) # TODO: NOT ALLOWED TO DO THIS, FORBIDDEN.
        if note_o['type'] == 'attachment':
            note_o['attachment_state'] = -100
        elif note_o['type'] == 'note':
            note_o['note_state'] = -100
        holly_couch[note_id] = note_o

        # TODO: add to history
        raise redirect(request.referrer)
예제 #4
0
    def update_password(self, user_id, password, password2):
        if not password==password2:
            raise IOError, 'passwords must agree'
 
        s = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)
    
        # todo make salt part of development.ini
        h = hashlib.sha256('gninyd') # salt
        h.update(password)
        c = h.hexdigest()
        s['password'] = c
        holly_couch[user_id] = s
        raise redirect('show')
예제 #5
0
 def set_level(self, user_id='', level=''):
     user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)
     
     # Rules for setting levels.
     level_map = dict()
     level_map['viewer'] = ['viewer']
     level_map['staff'] = ['viewer','staff']
     level_map['pl'] = ['viewer','staff','pl']
     
     user_o['level'] = level_map.get(level,[])
     holly_couch[user_id] = user_o
     
     raise redirect(request.referrer)
예제 #6
0
 def save_user(self, _id='', display_name='', user_name=''):
     """edit user properties""" 
     if _id != '':
         user_o = getCouchDBDocument(holly_couch, _id, doc_type='user') #, doc_subtype=None)
     else:
         user_o = dict(type='user')
         _id = 'user.'+user_name
     user_o['display_name'] = display_name
     user_o['user_name'] = user_name
     user_o['level'] = []
     
     holly_couch[_id] = user_o
     
     raise redirect('show')
예제 #7
0
파일: user.py 프로젝트: asplunden/hollyrosa
    def update_password(self, user_id, password, password2):
        log.info("update_password()")
        ensurePostRequest(request, __name__)
        if not password==password2:
            raise IOError, 'passwords must agree'

        s = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)

        # todo make salt part of development.ini
        h = hashlib.sha256('gninyd') # salt # TODO: read from AppConfig / tg.config
        h.update(password)
        c = h.hexdigest()
        s['password'] = c
        holly_couch[user_id] = s
        raise redirect('show')
예제 #8
0
    def show(self, visiting_group_id='', user_id=''):
        for_group_name = ''
        if visiting_group_id != '':
            history = self.getBookingHistoryForVisitingGroup(holly_couch, visiting_group_id)
            vgroup = holly_couch[visiting_group_id]
            for_group_name = vgroup['name']
        elif user_id != '':
            user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)
            history = self.getBookingHistoryForUser(holly_couch, user_o['display_name'])
            
            for_group_name = 'for user ' + user_o['display_name']

        else:
            history = self.getBookingHistory(holly_couch, limit=250) 
        return dict(history=history,  change_op_map=change_op_map, for_group_name=for_group_name)
예제 #9
0
파일: user.py 프로젝트: asplunden/hollyrosa
    def save_user(self, user_id='', display_name='', user_name=''):
        log.info("save_user()")
        ensurePostRequest(request, __name__)
        """edit user properties"""
        if user_id != '':
            user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)
        else:
            user_o = dict(type='user', active=True)
            user_id = 'user.'+user_name
        user_o['display_name'] = display_name
        user_o['user_name'] = user_name
        user_o['level'] = []

        holly_couch[user_id] = user_o

        raise redirect('show')
예제 #10
0
파일: user.py 프로젝트: asplunden/hollyrosa
    def set_level(self, user_id='', level=''):
        log.info("set_level()")
        ensurePostRequest(request, __name__)
        user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)

        # Rules for setting levels.
        # TODO: refactor out
        level_map = dict()
        level_map['viewer'] = ['view']
        level_map['staff'] = ['view','staff']
        level_map['pl'] = ['view','staff','pl']

        user_o['level'] = level_map.get(level,[])
        holly_couch[user_id] = user_o

        raise redirect(request.referrer)
예제 #11
0
파일: user.py 프로젝트: asplunden/hollyrosa
 def edit(self, user_id=''):
     """edit user properties"""
     tmpl_context.form = create_edit_user_form
     user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)
     user_o['user_id'] = user_o['_id']
     return dict(user=user_o)
예제 #12
0
파일: user.py 프로젝트: asplunden/hollyrosa
    def change_password(self, user_id):
        tmpl_context.form = create_change_password_form
        user_o = getCouchDBDocument(holly_couch, user_id, doc_type='user') #, doc_subtype=None)

        return dict(user=dict(user_id=user_id), user_name=user_o['user_name'])