Mercurial > public > src > rhodecode
changeset 715:df61378032f3 beta
#48 rewrote action logger, translated action logger messages, added some extra messages. Linked and showed pushed revisions in logs
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 05 Nov 2010 22:36:51 +0100 |
parents | 758f64f3fbda |
children | 673de12e6bf6 |
files | rhodecode/controllers/admin/repos.py rhodecode/controllers/settings.py rhodecode/lib/helpers.py rhodecode/templates/admin/admin_log.html |
diffstat | 4 files changed, 53 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- 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()
--- 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()
--- 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 = '<span title="%s"> %s </span>' + 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 #==============================================================================
--- 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 @@ <table> <tr> <th class="left">${_('Username')}</th> + <th class="left">${_('Action')}</th> <th class="left">${_('Repository')}</th> - <th class="left">${_('Action')}</th> <th class="left">${_('Date')}</th> <th class="left">${_('From IP')}</th> </tr> @@ -12,6 +12,7 @@ %for cnt,l in enumerate(c.users_log): <tr class="parity${cnt%2}"> <td>${h.link_to(l.user.username,h.url('edit_user', id=l.user.user_id))}</td> + <td>${h.action_parser(l)}</td> <td> %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 </td> - <td> - % 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 - </td> + <td>${l.action_date}</td> <td>${l.user_ip}</td> </tr>