## -*- coding: utf-8 -*- <%inherit file="/base/base.html"/> <%def name="title()"> ${_('Journal')} - ${c.rhodecode_name} </%def> <%def name="breadcrumbs()"> ${c.rhodecode_name} </%def> <%def name="page_nav()"> ${self.menu('home')} </%def> <%def name="main()"> <div class="box box-left"> <!-- box / title --> <div class="title"> <h5>${_('Journal')}</h5> <ul class="links"> <li> <span><a id="refresh" href="${h.url('journal')}"><img class="icon" title="${_('Refresh')}" alt="${_('Refresh')}" src="${h.url('/images/icons/arrow_refresh.png')}"/> </a></span> </li> </ul> </div> <div id="journal">${c.journal_data}</div> </div> <div class="box box-right"> <!-- box / title --> <div class="title"> <h5> <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/> <a id="show_my" class="link-white" href="#my">${_('My repos')}</a> / <a id="show_watched" class="link-white" href="#watched">${_('Watched')}</a> </h5> %if h.HasPermissionAny('hg.admin','hg.create.repository')(): <ul class="links"> <li> <span>${h.link_to(_('ADD'),h.url('admin_settings_create_repository'))}</span> </li> </ul> %endif </div> <!-- end box / title --> <div id="my" class="table"> %if c.user_repos: <div id='repos_list_wrap' class="yui-skin-sam"> <table id="repos_list"> <thead> <tr> <th></th> <th class="left">${_('Name')}</th> <th class="left">${_('Tip')}</th> <th class="left">${_('Action')}</th> <th class="left">${_('Action')}</th> </thead> <tbody> <%namespace name="dt" file="/_data_table/_dt_elements.html"/> %for repo in c.user_repos: <tr> ##QUICK MENU <td class="quick_repo_menu"> ${dt.quick_menu(repo['name'])} </td> ##REPO NAME AND ICONS <td class="reponame"> ${dt.repo_name(repo['name'],repo['dbrepo']['repo_type'],repo['dbrepo']['private'],repo['dbrepo_fork'].get('repo_name'))} </td> ##LAST REVISION <td> ${dt.revision(repo['name'],repo['rev'],repo['tip'],repo['author'],repo['last_msg'])} </td> ## <td><a href="${h.url('repo_settings_home',repo_name=repo['name'])}" title="${_('edit')}"><img class="icon" alt="${_('private')}" src="${h.url('/images/icons/application_form_edit.png')}"/></a></td> <td> ${h.form(url('repo_settings_delete', repo_name=repo['name']),method='delete')} ${h.submit('remove_%s' % repo['name'],'',class_="delete_icon action_button",onclick="return confirm('Confirm to delete this repository');")} ${h.end_form()} </td> </tr> %endfor </tbody> </table> </div> %else: <div style="padding:5px 0px 10px 0px;"> ${_('No repositories yet')} %if h.HasPermissionAny('hg.admin','hg.create.repository')(): ${h.link_to(_('create one now'),h.url('admin_settings_create_repository'),class_="ui-btn")} %endif </div> %endif </div> <div id="watched" class="table" style="display:none"> %if c.following: <table> <thead> <tr> <th class="left">${_('Name')}</th> </thead> <tbody> %for entry in c.following: <tr> <td> %if entry.follows_user_id: <img title="${_('following user')}" alt="${_('user')}" src="${h.url('/images/icons/user.png')}"/> ${entry.follows_user.full_contact} %endif %if entry.follows_repo_id: <div style="float:right;padding-right:5px"> <span id="follow_toggle_${entry.follows_repository.repo_id}" class="following" title="${_('Stop following this repository')}" onclick="javascript:toggleFollowingRepo(this,${entry.follows_repository.repo_id},'${str(h.get_token())}')"> </span> </div> %if entry.follows_repository.repo_type == 'hg': <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/> %elif entry.follows_repository.repo_type == 'git': <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/> %endif %if entry.follows_repository.private: <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/> %else: <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/> %endif <span class="watched_repo"> ${h.link_to(entry.follows_repository.repo_name,h.url('summary_home',repo_name=entry.follows_repository.repo_name))} </span> %endif </td> </tr> %endfor </tbody> </table> %else: <div style="padding:5px 0px 10px 0px;"> ${_('You are not following any users or repositories')} </div> %endif </div> </div> <script type="text/javascript"> YUE.on('show_my','click',function(e){ YUD.setStyle('watched','display','none'); YUD.setStyle('my','display',''); var nodes = YUQ('#my tr td a.repo_name'); var target = 'q_filter'; var func = function(node){ return node.parentNode.parentNode.parentNode.parentNode; } q_filter(target,nodes,func); YUE.preventDefault(e); }) YUE.on('show_watched','click',function(e){ YUD.setStyle('my','display','none'); YUD.setStyle('watched','display',''); var nodes = YUQ('#watched .watched_repo a'); var target = 'q_filter'; var func = function(node){ return node.parentNode.parentNode; } q_filter(target,nodes,func); YUE.preventDefault(e); }) YUE.on('refresh','click',function(e){ ypjax(e.currentTarget.href,"journal",function(){show_more_event();tooltip_activate();}); YUE.preventDefault(e); }); // main table sorting var myColumnDefs = [ {key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"}, {key:"name",label:"${_('Name')}",sortable:true, sortOptions: { sortFunction: nameSort }}, {key:"tip",label:"${_('Tip')}",sortable:true, sortOptions: { sortFunction: revisionSort }}, {key:"action1",label:"",sortable:false}, {key:"action2",label:"",sortable:false}, ]; var myDataSource = new YAHOO.util.DataSource(YUD.get("repos_list")); myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE; myDataSource.responseSchema = { fields: [ {key:"menu"}, {key:"name"}, {key:"tip"}, {key:"action1"}, {key:"action2"} ] }; var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource, { sortedBy:{key:"name",dir:"asc"}, MSG_SORTASC:"${_('Click to sort ascending')}", MSG_SORTDESC:"${_('Click to sort descending')}", MSG_EMPTY:"${_('No records found.')}", MSG_ERROR:"${_('Data error.')}", MSG_LOADING:"${_('Loading...')}", } ); myDataTable.subscribe('postRenderEvent',function(oArgs) { tooltip_activate(); quick_repo_menu(); var func = function(node){ return node.parentNode.parentNode.parentNode.parentNode; } q_filter('q_filter',YUQ('#my tr td a.repo_name'),func); }); </script> </%def>