Mercurial > public > src > rhodecode
changeset 446:9a7ae16ff53e
fixes translations, style updates.
Added some extra info to activity graph
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 18 Aug 2010 16:24:27 +0200 |
parents | 9b6c1de4ce9e |
children | 9b67cebe6609 |
files | pylons_app/controllers/search.py pylons_app/controllers/summary.py pylons_app/public/css/diff.css pylons_app/public/css/style.css pylons_app/public/css/style_full.css pylons_app/templates/files/files_annotate.html pylons_app/templates/files/files_source.html pylons_app/templates/summary/summary.html |
diffstat | 8 files changed, 78 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- a/pylons_app/controllers/search.py Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/controllers/search.py Wed Aug 18 16:24:27 2010 +0200 @@ -26,10 +26,11 @@ from pylons.controllers.util import abort, redirect from pylons_app.lib.auth import LoginRequired from pylons_app.lib.base import BaseController, render -from pylons_app.lib.indexers import ANALYZER, IDX_LOCATION, SCHEMA +from pylons_app.lib.indexers import ANALYZER, IDX_LOCATION, SCHEMA, IDX_NAME from webhelpers.html.builder import escape from whoosh.highlight import highlight, SimpleFragmenter, HtmlFormatter, \ ContextFragmenter +from pylons.i18n.translation import _ from whoosh.index import open_dir, EmptyIndexError from whoosh.qparser import QueryParser, QueryParserError from whoosh.query import Phrase @@ -56,7 +57,7 @@ if c.cur_query: try: - idx = open_dir(IDX_LOCATION, indexname='HG_INDEX') + idx = open_dir(IDX_LOCATION, indexname=IDX_NAME) searcher = idx.searcher() qp = QueryParser("content", schema=SCHEMA) @@ -99,12 +100,12 @@ c.formated_results.append(d) except QueryParserError: - c.runtime = 'Invalid search query. Try quoting it.' + c.runtime = _('Invalid search query. Try quoting it.') except (EmptyIndexError, IOError): log.error(traceback.format_exc()) log.error('Empty Index data') - c.runtime = 'There is no index to search in. Please run whoosh indexer' + c.runtime = _('There is no index to search in. Please run whoosh indexer')
--- a/pylons_app/controllers/summary.py Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/controllers/summary.py Wed Aug 18 16:24:27 2010 +0200 @@ -77,7 +77,8 @@ y = td.year m = td.month d = td.day - c.ts_min = mktime((y, (td - timedelta(days=calendar.mdays[m] - 1)).month, d, 0, 0, 0, 0, 0, 0,)) + c.ts_min = mktime((y, (td - timedelta(days=calendar.mdays[m] - 1)).month, + d, 0, 0, 0, 0, 0, 0,)) c.ts_max = mktime((y, m, d, 0, 0, 0, 0, 0, 0,)) @@ -93,25 +94,44 @@ k = mktime(timetupple) if aggregate.has_key(author_key_cleaner(cs.author)): if aggregate[author_key_cleaner(cs.author)].has_key(k): - aggregate[author_key_cleaner(cs.author)][k] += 1 + aggregate[author_key_cleaner(cs.author)][k]["commits"] += 1 + aggregate[author_key_cleaner(cs.author)][k]["added"] += len(cs.added) + aggregate[author_key_cleaner(cs.author)][k]["changed"] += len(cs.changed) + aggregate[author_key_cleaner(cs.author)][k]["removed"] += len(cs.removed) + else: #aggregate[author_key_cleaner(cs.author)].update(dates_range) if k >= c.ts_min and k <= c.ts_max: - aggregate[author_key_cleaner(cs.author)][k] = 1 + aggregate[author_key_cleaner(cs.author)][k] = {} + aggregate[author_key_cleaner(cs.author)][k]["commits"] = 1 + aggregate[author_key_cleaner(cs.author)][k]["added"] = len(cs.added) + aggregate[author_key_cleaner(cs.author)][k]["changed"] = len(cs.changed) + aggregate[author_key_cleaner(cs.author)][k]["removed"] = len(cs.removed) + else: if k >= c.ts_min and k <= c.ts_max: aggregate[author_key_cleaner(cs.author)] = OrderedDict() #aggregate[author_key_cleaner(cs.author)].update(dates_range) - aggregate[author_key_cleaner(cs.author)][k] = 1 + aggregate[author_key_cleaner(cs.author)][k] = {} + aggregate[author_key_cleaner(cs.author)][k]["commits"] = 1 + aggregate[author_key_cleaner(cs.author)][k]["added"] = len(cs.added) + aggregate[author_key_cleaner(cs.author)][k]["changed"] = len(cs.changed) + aggregate[author_key_cleaner(cs.author)][k]["removed"] = len(cs.removed) d = '' tmpl0 = u""""%s":%s""" - tmpl1 = u"""{label:"%s",data:%s},""" + tmpl1 = u"""{label:"%s",data:%s,schema:["commits"]},""" for author in aggregate: + d += tmpl0 % (author.decode('utf8'), tmpl1 \ % (author.decode('utf8'), - [[x, aggregate[author][x]] for x in aggregate[author]])) + [{"time":x, + "commits":aggregate[author][x]['commits'], + "added":aggregate[author][x]['added'], + "changed":aggregate[author][x]['changed'], + "removed":aggregate[author][x]['removed'], + } for x in aggregate[author]])) if d == '': d = '"%s":{label:"%s",data:[[0,1],]}' \ % (author_key_cleaner(repo.contact),
--- a/pylons_app/public/css/diff.css Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/public/css/diff.css Wed Aug 18 16:24:27 2010 +0200 @@ -67,7 +67,7 @@ padding-left:2px; padding-right:2px; text-align:right; - width:20px; + width:30px; -moz-user-select:none; -webkit-user-select: none; }
--- a/pylons_app/public/css/style.css Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/public/css/style.css Wed Aug 18 16:24:27 2010 +0200 @@ -185,7 +185,7 @@ #header { margin: 0; - padding: 0 60px 0 60px; + padding: 0 30px 0 30px; background: #b0b0b0 url("../images/header_background.png") repeat; }
--- a/pylons_app/public/css/style_full.css Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/public/css/style_full.css Wed Aug 18 16:24:27 2010 +0200 @@ -2,7 +2,7 @@ GLOBAL WIDTH ----------------------------------------------------------- */ #header,#content,#footer{ - min-width: 1024px; + min-width: 1224px; } /* ----------------------------------------------------------- @@ -11,7 +11,7 @@ #content { - margin: 10px 60px 0 60px; + margin: 10px 30px 0 30px; padding: 0; min-height: 100%; clear: both;
--- a/pylons_app/templates/files/files_annotate.html Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/templates/files/files_annotate.html Wed Aug 18 16:24:27 2010 +0200 @@ -26,7 +26,8 @@ <h2>${_('Location')}: ${h.files_breadcrumbs(c.repo_name,c.cur_rev,c.file.path)}</h2> <dl class="overview"> <dt>${_('Last revision')}</dt> - <dd>r${c.file.last_changeset.revision}:${c.file.last_changeset._short}</dd> + <dd>${h.link_to("r%s:%s" % (c.file.last_changeset.revision,c.file.last_changeset._short), + h.url('files_annotate_home',repo_name=c.repo_name,revision=c.file.last_changeset._short,f_path=c.f_path))} </dd> <dt>${_('Size')}</dt> <dd>${h.format_byte_size(c.file.size,binary=True)}</dd> <dt>${_('Options')}</dt>
--- a/pylons_app/templates/files/files_source.html Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/templates/files/files_source.html Wed Aug 18 16:24:27 2010 +0200 @@ -1,6 +1,9 @@ <dl> <dt>${_('Last revision')}</dt> - <dd>r${c.files_list.last_changeset.revision}:${c.files_list.last_changeset._short}</dd> + <dd> + ${h.link_to("r%s:%s" % (c.files_list.last_changeset.revision,c.files_list.last_changeset._short), + h.url('files_home',repo_name=c.repo_name,revision=c.files_list.last_changeset._short,f_path=c.f_path))} + </dd> <dt>${_('Size')}</dt> <dd>${h.format_byte_size(c.files_list.size,binary=True)}</dd> <dt>${_('Options')}</dt> @@ -11,11 +14,13 @@ </dd> <dt>${_('History')}</dt> <dd> - ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='GET')} + <div> + ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')} ${h.hidden('diff2',c.files_list.last_changeset._short)} ${h.select('diff1','',c.file_history)} ${h.submit('diff','diff',class_="ui-button ui-widget ui-state-default ui-corner-all")} ${h.end_form()} + </div> </dd> </dl>
--- a/pylons_app/templates/summary/summary.html Wed Aug 18 01:46:18 2010 +0200 +++ b/pylons_app/templates/summary/summary.html Wed Aug 18 16:24:27 2010 +0200 @@ -118,14 +118,14 @@ </div> </div> -<div class="box box-right"> +<div class="box box-right" style="min-height:455px"> <!-- box / title --> <div class="title"> <h5>${_('Last month commit activity')}</h5> </div> <div class="table"> - <div id="commit_history" style="width:460px;height:370px;float:left"></div> + <div id="commit_history" style="width:560px;height:300px;float:left"></div> <div id="legend_data"> <div id="legend_container"></div> <div id="legend_choices"> @@ -142,11 +142,10 @@ for(var key in datasets) { datasets[key].color = i; i++; - choiceContainerTable.innerHTML += '<tr>'+ - '<td>'+ - '<input type="checkbox" name="' + key +'" checked="checked" />'+datasets[key].label+ - '</td>'+ - '</tr>'; + choiceContainerTable.innerHTML += '<tr><td>'+ + '<input type="checkbox" name="' + key +'" checked="checked" />' + +datasets[key].label+ + '</td></tr>'; }; @@ -164,6 +163,7 @@ }; if (data.length > 0){ + var plot = YAHOO.widget.Flot("commit_history", data, { bars: { show: true, align:'center',lineWidth:4 }, points: { show: true, radius:0,fill:true }, @@ -211,18 +211,36 @@ } var x = item.datapoint.x.toFixed(2); var y = item.datapoint.y.toFixed(2); - + if (!item.series.label){ item.series.label = 'commits'; } var d = new Date(x*1000); var fd = d.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate(); var nr_commits = parseInt(y); - var suffix = ''; - if(nr_commits > 1){ - var suffix = 's'; - } - showTooltip(item.pageX, item.pageY, item.series.label + " on " + fd + ": " + nr_commits+" commit" + suffix); + + var cur_data = datasets[item.series.label].data[item.dataIndex]; + var added = cur_data.added; + var changed = cur_data.changed; + var removed = cur_data.removed; + + var nr_commits_suffix = " ${_('commits')} "; + var added_suffix = " ${_('files added')} "; + var changed_suffix = " ${_('files changed')} "; + var removed_suffix = " ${_('files removed')} "; + + + if(nr_commits == 1){nr_commits_suffix = " ${_('commit')} ";} + if(added==1){added_suffix=" ${_('file added')} ";} + if(changed==1){changed_suffix=" ${_('file changed')} ";} + if(removed==1){removed_suffix=" ${_('file removed')} ";} + + showTooltip(item.pageX, item.pageY, item.series.label + " on " + fd + +'<br/>'+ + nr_commits + nr_commits_suffix+'<br/>'+ + added + added_suffix +'<br/>'+ + changed + changed_suffix + '<br/>'+ + removed + removed_suffix + '<br/>'); } } else { @@ -253,6 +271,7 @@ </div> <div class="table"> <%include file='../shortlog/shortlog_data.html'/> + ${h.link_to(_('show more'),h.url('changelog_home',repo_name=c.repo_name))} </div> </div> <div class="box"> @@ -261,6 +280,7 @@ </div> <div class="table"> <%include file='../tags/tags_data.html'/> + ${h.link_to(_('show more'),h.url('tags_home',repo_name=c.repo_name))} </div> </div> <div class="box"> @@ -269,6 +289,7 @@ </div> <div class="table"> <%include file='../branches/branches_data.html'/> + ${h.link_to(_('show more'),h.url('branches_home',repo_name=c.repo_name))} </div> </div>