# HG changeset patch # User Marcin Kuzminski # Date 1288993011 -3600 # Node ID df61378032f306b6f2c4bb225c6fe9111de7e8cc # Parent 758f64f3fbdaeb80e39e68c128699e032047319f #48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs diff -r 758f64f3fbda -r df61378032f3 rhodecode/controllers/admin/repos.py --- a/rhodecode/controllers/admin/repos.py Fri Nov 05 21:55:30 2010 +0100 +++ b/rhodecode/controllers/admin/repos.py Fri Nov 05 22:36:51 2010 +0100 @@ -137,6 +137,9 @@ h.flash(_('Repository %s updated succesfully' % repo_name), category='success') changed_name = form_result['repo_name'] + action_logger(self.rhodecode_user, 'admin_updated_repo', + changed_name, '', self.sa) + except formencode.Invalid, errors: c.repo_info = repo_model.get(repo_name) c.users_array = repo_model.get_users_js() diff -r 758f64f3fbda -r df61378032f3 rhodecode/controllers/settings.py --- a/rhodecode/controllers/settings.py Fri Nov 05 21:55:30 2010 +0100 +++ b/rhodecode/controllers/settings.py Fri Nov 05 22:36:51 2010 +0100 @@ -82,6 +82,8 @@ h.flash(_('Repository %s updated successfully' % repo_name), category='success') changed_name = form_result['repo_name'] + action_logger(self.rhodecode_user, 'user_updated_repo', + changed_name, '', self.sa) except formencode.Invalid, errors: c.repo_info = repo_model.get(repo_name) c.users_array = repo_model.get_users_js() diff -r 758f64f3fbda -r df61378032f3 rhodecode/lib/helpers.py --- a/rhodecode/lib/helpers.py Fri Nov 05 21:55:30 2010 +0100 +++ b/rhodecode/lib/helpers.py Fri Nov 05 22:36:51 2010 +0100 @@ -328,7 +328,7 @@ def _age(curdate): """turns a datetime into an age string.""" - + if not curdate: return '' @@ -357,6 +357,50 @@ person = lambda x: _person(x) short_id = lambda x: x[:12] + +def action_parser(user_log): + """ + This helper will map the specified string action into translated + fancy names with icons and links + + @param action: + """ + action = user_log.action + action_params = None + cs_links = '' + + x = action.split(':') + + if len(x) > 1: + action, action_params = x + + if action == 'push': + revs_limit = 5 + revs = action_params.split(',') + cs_links = " " + ', '.join ([link(rev, + url('changeset_home', + repo_name=user_log.repository.repo_name, + revision=rev)) for rev in revs[:revs_limit] ]) + if len(revs) > revs_limit: + html_tmpl = ' %s ' + cs_links += html_tmpl % (', '.join(r for r in revs[revs_limit:]), + _('and %s more revisions') % (len(revs) - revs_limit)) + + map = {'user_deleted_repo':_('User deleted repository'), + 'user_created_repo':_('User created repository'), + 'user_forked_repo':_('User forked repository'), + 'user_updated_repo':_('User updated repository'), + 'admin_deleted_repo':_('Admin delete repository'), + 'admin_created_repo':_('Admin created repository'), + 'admin_forked_repo':_('Admin forked repository'), + 'admin_updated_repo':_('Admin updated repository'), + 'push':_('Pushed') + literal(cs_links), + 'pull':_('Pulled'), } + + print action, action_params + return map.get(action, action) + + #============================================================================== # PERMS #============================================================================== diff -r 758f64f3fbda -r df61378032f3 rhodecode/templates/admin/admin_log.html --- a/rhodecode/templates/admin/admin_log.html Fri Nov 05 21:55:30 2010 +0100 +++ b/rhodecode/templates/admin/admin_log.html Fri Nov 05 22:36:51 2010 +0100 @@ -3,8 +3,8 @@ + - @@ -12,6 +12,7 @@ %for cnt,l in enumerate(c.users_log): + - +
${_('Username')}${_('Action')} ${_('Repository')}${_('Action')} ${_('Date')} ${_('From IP')}
${h.link_to(l.user.username,h.url('edit_user', id=l.user.user_id))}${h.action_parser(l)} %if l.repository: ${h.link_to(l.repository.repo_name,h.url('summary_home',repo_name=l.repository.repo_name))} @@ -19,14 +20,7 @@ ${l.repository_name} %endif - % if l.action == 'push' and l.revision: - ${h.link_to('%s - %s' % (l.action,l.revision), - h.url('changeset_home',repo_name=l.repository.repo_name,revision=l.revision))} - %else: - ${l.action} - %endif - ${l.action_date} ${l.user_ip}