Changeset - d14723711d17
[Not reviewed]
beta
1 6 1
Marcin Kuzminski - 15 years ago 2011-02-04 17:36:41
marcin@python-works.com
fixes for journal, added paging now it's possible to view whole journal
fixed tooltip events for shortlog and journal paging. Moved journal to it's own templates
7 files changed with 63 insertions and 54 deletions:
0 comments (0 inline, 0 general)
docs/changelog.rst
Show inline comments
 
@@ -22,9 +22,9 @@ news
 
  into clone url
 
- fixed #90 whoosh indexer can index chooses repositories passed in command 
 
  line
 
- added dynamic download links in summary. With quick branch/tag selection
 
- extended journal with day aggregates and paging
 
- implemented #107 customizable code highlights on code sources
 

	
 
- implemented #108 extended and more powerfull LDAP configuration
 
fixes
 
-----
 

	
rhodecode/controllers/journal.py
Show inline comments
 
@@ -30,10 +30,11 @@ from sqlalchemy import or_
 

	
 
from pylons import request, response, session, tmpl_context as c, url
 

	
 
from webhelpers.paginate import Page
 

	
 
from rhodecode.lib.auth import LoginRequired, NotAnonymous
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.lib.helpers import get_token
 
from rhodecode.lib.utils import OrderedDict
 
from rhodecode.model.db import UserLog, UserFollowing
 
from rhodecode.model.scm import ScmModel
 

	
 
@@ -65,13 +66,17 @@ class JournalController(BaseController):
 
                        UserLog.repository_id.in_(repo_ids),
 
                        UserLog.user_id.in_(user_ids),
 
                        ))\
 
            .order_by(UserLog.action_date.desc())\
 
            .limit(30)\
 
            .all()
 
            .order_by(UserLog.action_date.desc())
 

	
 

	
 
        c.journal_day_aggreagate = self._get_daily_aggregate(journal)
 
        p = int(request.params.get('page', 1))
 
        c.journal_pager = Page(journal, page=p, items_per_page=10)
 
        c.journal_day_aggreagate = self._get_daily_aggregate(c.journal_pager)
 
        c.journal_data = render('journal/journal_data.html')
 
        if request.params.get('partial'):
 
            return c.journal_data
 

	
 
        return render('/journal.html')
 
        return render('journal/journal.html')
 

	
 

	
 
    def _get_daily_aggregate(self, journal):
rhodecode/lib/helpers.py
Show inline comments
 
@@ -479,7 +479,7 @@ def action_parser(user_log):
 
        if len(revs) > revs_limit:
 
            uniq_id = revs[0]
 
            html_tmpl = ('<span> %s '
 
            '<a class="show_more" id="_%s" href="#">%s</a> '
 
            '<a class="show_more" id="_%s" href="#more">%s</a> '
 
            '%s</span>')
 
            cs_links += html_tmpl % (_('and'), uniq_id, _('%s more') \
 
                                        % (len(revs) - revs_limit),
rhodecode/public/css/style.css
Show inline comments
 
@@ -1405,6 +1405,35 @@ padding-top:4px;
 
padding-bottom:4px;
 
}
 
 
#journal .journal_day{
 
font-size:20px;
 
padding:10px 0px;
 
border-bottom:2px solid #DDD;
 
margin-left:10px;
 
margin-right:10px;
 
}
 
 
#journal .journal_action{
 
padding-top:4px;
 
min-height:15px;
 
}
 
 
#journal .journal_icon{
 
float: left;
 
padding-top: 4px;
 
padding-left:12px;
 
}
 
 
#journal .journal_repo{
 
margin-left: 38px;
 
padding-top: 5px;
 
}
 
 
#journal .journal_repo .journal_repo_name{
 
font-weight: bold;
 
font-size: 1.1em;
 
}
 
 
.trending_language_tbl,.trending_language_tbl td {
 
border:0 !important;
 
margin:0 !important;
rhodecode/templates/base/base.html
Show inline comments
 
@@ -105,7 +105,12 @@
 
		       <p>RhodeCode ${c.rhodecode_version} &copy; 2010 by Marcin Kuzminski</p>
 
	       </div>
 
	   </div>
 
        <script type="text/javascript">${h.tooltip.activate()}</script>
 
        <script type="text/javascript">
 
        function tooltip_activate(){
 
        ${h.tooltip.activate()}
 
        }
 
        tooltip_activate();
 
        </script>
 
	</div>
 
	<!-- end footer -->
 
</body>
rhodecode/templates/journal/journal.html
Show inline comments
 
file renamed from rhodecode/templates/journal.html to rhodecode/templates/journal/journal.html
 
## -*- coding: utf-8 -*-
 
<%inherit file="base/base.html"/>
 
<%inherit file="/base/base.html"/>
 
<%def name="title()">
 
    ${_('Journal')} - ${c.rhodecode_name}
 
</%def>
 
@@ -16,38 +16,16 @@
 
	    <div class="title">
 
	        <h5>${_('Journal')}</h5>
 
	    </div>
 
	    <div>
 
	    %if c.journal_day_aggreagate:
 
            %for day,items in c.journal_day_aggreagate:
 
            <div style="font-size:20px;padding:10px 5px">${day}</div>
 
	            % for entry in items:
 
	            <div style="padding:10px">
 
	                <div class="gravatar">
 
	                    <img alt="gravatar" src="${h.gravatar_url(entry.user.email)}"/>
 
	                </div>
 
	                <div>${entry.user.name} ${entry.user.lastname}</div>
 
	                <div style="padding-left: 45px;padding-top:5px;min-height:20px">${h.action_parser(entry)}</div>
 
	                <div style="float: left; padding-top: 8px;padding-left:18px">
 
	                ${h.action_parser_icon(entry)}
 
	                </div>
 
	                <div style="margin-left: 45px;padding-top: 10px">
 
	                <span style="font-weight: bold;font-size: 1.1em">
 
			        %if entry.repository:
 
			          ${h.link_to(entry.repository.repo_name,
 
			                      h.url('summary_home',repo_name=entry.repository.repo_name))}
 
			        %else:
 
			          ${entry.repository_name}
 
			        %endif             
 
	                </span> - <span title="${entry.action_date}">${h.age(entry.action_date)}</span>
 
	                </div>
 
	            </div>
 
	            <div style="clear:both;border-bottom:1px dashed #DDD;padding:3px 3px;margin:0px 10px 0px 10px"></div>
 
	            %endfor
 
            %endfor
 
        %else:
 
            ${_('No entries yet')}
 
        %endif   
 
	    </div>
 
		<script type="text/javascript">
 
		function show_more_event(){
 
		YUE.on(YUD.getElementsByClassName('show_more'),'click',function(e){
 
		    var el = e.target;
 
		    YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
 
		    YUD.setStyle(el.parentNode,'display','none');
 
		});
 
		}
 
		</script> 	    
 
	    <div id="journal">${c.journal_data}</div>
 
    </div>
 
    
 
    <div class="box box-right">
 
@@ -83,13 +61,4 @@
 
        %endif               
 
        </div>
 
    </div>
 
    
 
    <script type="text/javascript">
 
    YUE.on(YUD.getElementsByClassName('show_more'),'click',function(e){
 
        var el = e.target;
 
        YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
 
        YUD.setStyle(el.parentNode,'display','none');
 
    });    
 
    </script>
 
    
 
</%def>    
rhodecode/templates/shortlog/shortlog_data.html
Show inline comments
 
@@ -49,14 +49,15 @@
 
  var data_div = 'shortlog_data';
 
  YAHOO.util.Event.onDOMReady(function(){
 
    YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
 
            YAHOO.util.Dom.setStyle('shortlog_data','opacity','0.3');});});
 
            YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});});
 
</script>
 

	
 
<div class="pagination-wh pagination-left">
 
${c.repo_changesets.pager('$link_previous ~2~ $link_next',     
 
onclick="""YAHOO.util.Connect.asyncRequest('GET','$partial_url',{
 
success:function(o){YAHOO.util.Dom.get(data_div).innerHTML=o.responseText;
 
YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
 
tooltip_activate();
 
YUE.on(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
 
        YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});       
 
YAHOO.util.Dom.setStyle(data_div,'opacity','1');}},null); return false;""")}
 
</div>
0 comments (0 inline, 0 general)