svn commit: r1460325 - /incubator/bloodhound/site/index.html
Author: gjm Date: Sun Mar 24 12:11:33 2013 New Revision: 1460325 URL: http://svn.apache.org/r1460325 Log: dropping incubating mention from page title in site/index.html Modified: incubator/bloodhound/site/index.html Modified: incubator/bloodhound/site/index.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/site/index.html?rev=1460325r1=1460324r2=1460325view=diff == --- incubator/bloodhound/site/index.html (original) +++ incubator/bloodhound/site/index.html Sun Mar 24 12:11:33 2013 @@ -1,6 +1,6 @@ html head - titleApache Bloodhound (Incubating)/title + titleApache Bloodhound/title link rel=stylesheet type=text/css href=css/bootstrap.min.css / link rel=stylesheet type=text/css href=css/bootstrap-responsive.min.css / /head
svn commit: r1459967 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py
Author: gjm Date: Fri Mar 22 20:13:31 2013 New Revision: 1459967 URL: http://svn.apache.org/r1459967 Log: ensure that ticket events listed on a ticket page include all the details - towards #471 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1459967r1=1459966r2=1459967view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Fri Mar 22 20:13:31 2013 @@ -37,6 +37,7 @@ from trac.resource import Resource, reso from trac.timeline.web_ui import TimelineModule from trac.ticket.api import TicketSystem from trac.ticket.model import Ticket +from trac.ticket.web_ui import TicketModule from trac.util.datefmt import utc from trac.util.translation import _ from trac.web.chrome import add_stylesheet @@ -277,7 +278,17 @@ class TimelineFilterAdapter: # ITimelineEventProvider methods -#def get_timeline_filters(self, req): +def get_timeline_filters(self, req): +gen = self.provider.get_timeline_filters(req) +if (self.context.resource.realm == 'ticket' and +isinstance(self.provider, TicketModule) and +'TICKET_VIEW' in req.perm): +# ensure ticket_details appears once if this is a query on a ticket +gen = list(gen) +if not [g for g in gen if g[0] == 'ticket_details']: +gen.append(('ticket_details', _(Ticket updates), False)) +return gen + #def render_timeline_event(self, context, field, event): def get_timeline_events(self, req, start, stop, filters):
svn commit: r1459423 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py
Author: gjm Date: Thu Mar 21 17:55:37 2013 New Revision: 1459423 URL: http://svn.apache.org/r1459423 Log: enhancing activity widget to show unlimited history for ticket resources - towards #471 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1459423r1=1459422r2=1459423view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Thu Mar 21 17:55:37 2013 @@ -37,6 +37,7 @@ from trac.resource import Resource, reso from trac.timeline.web_ui import TimelineModule from trac.ticket.api import TicketSystem from trac.ticket.model import Ticket +from trac.util.datefmt import utc from trac.util.translation import _ from trac.web.chrome import add_stylesheet @@ -145,6 +146,15 @@ class TimelineWidget(WidgetBase): 'max', 'realm', 'id') start, days, user, precision, filters, count, realm, rid = \ self.bind_params(name, options, *params) +if context.resource.realm == 'ticket': +if days is None: +# calculate a long enough time daysback +ticket = Ticket(self.env, context.resource.id) +ticketage = datetime.now(utc) - ticket.time_created +days = ticketage.days + 1 +if count is None: +# ignore short count for ticket feeds +count = 0 if count is None: count = self.default_count @@ -225,6 +235,12 @@ class FilteredTimeline: process_request = TimelineModule.__dict__['process_request'] _provider_failure = TimelineModule.__dict__['_provider_failure'] _event_data = TimelineModule.__dict__['_event_data'] +max_daysback = TimelineModule.max_daysback + +@property +def max_daysback(self): +return (-1 if self.context.resource.realm == 'ticket' + else self.max_daysback) @property def event_providers(self):
svn commit: r1458370 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Tue Mar 19 16:01:50 2013 New Revision: 1458370 URL: http://svn.apache.org/r1458370 Log: adjust handling of ticket summary changes to allow it to be outside the main form - towards #437 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1458370r1=1458369r2=1458370view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Mar 19 16:01:50 2013 @@ -103,9 +103,12 @@ var fieldval = editor.val(); editor = editor.clone(false); if (fieldnm === 'summary') { -editor.hide(); +editor.hide().appendTo($('#dummy-vc-summary')); } - editor.appendTo(fc).val(fieldval); + else { +editor.appendTo(fc); + } + editor.val(fieldval); if (editor.prop('tagName') === 'TEXTAREA') { if (editor.is('.wikitext')) addWikiFormattingToolbar(editor.get(0)); @@ -127,11 +130,22 @@ $('#edit-workflow-buttons').show(); } +function add_update_hidden_summary_fn() { + $('h2#vc-summary span').blur(function () { +if ($('#vc-summary.edit-active').length == 1) { + $('#dummy-vc-summary input#field-summary').val($('#vc-summary span').text()); +} + }); +} + function revert_ticket(e) { $('[data-edit=inplace]').each(function() { var fc = $(this).removeClass('edit-active'); fc.html(fc.attr('data-edit-orig')).attr('data-edit-orig', ''); }); + //remove summary field and re-add the summary blur function + $('#dummy-vc-summary div').remove(); + add_update_hidden_summary_fn(); $('#inplace-edit').show(); $('h2#vc-summary span').attr('contenteditable', 'false'); $('#edit-state-buttons').hide(); @@ -187,11 +201,7 @@ }); } -$('h2#vc-summary span').blur(function () { - if ($('#vc-summary.edit-active').length == 1) { -$('#vc-summary.ticket-summary input#field-summary').val($('#vc-summary span').text()); - } -}); +add_update_hidden_summary_fn(); $('#inplace-edit-button button#inplace-edit').click(function (e) { modify_ticket(); @@ -385,6 +395,7 @@ py:with=preview_mode = change_preview.fields ; colcount = 4 if bhdb else 6/ /div +div id=dummy-vc-summary style=display: none/ /py:if /div
svn commit: r1458401 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Tue Mar 19 16:49:29 2013 New Revision: 1458401 URL: http://svn.apache.org/r1458401 Log: move ticket summary to a span12 row - towards #437 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1458401r1=1458400r2=1458401view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Mar 19 16:49:29 2013 @@ -338,6 +338,12 @@ a href=#propertyform title=Go to the ticket editorModify/a darr; /div br/ + + div class=row +div class=span12 + ${render_ticket_summary(ticket, False)} +/div + /div div class=row form py:strip=not has_property_editor method=post id=inplace-propertyform @@ -355,7 +361,6 @@ div class=$colspan !--! ticket properties -- div class=properties - ${render_ticket_summary(ticket, False)} ${render_ticket_summary_details(ticket)} /div /div
svn commit: r1458413 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Tue Mar 19 17:12:09 2013 New Revision: 1458413 URL: http://svn.apache.org/r1458413 Log: restructure so that activity column can be larger - towards #437 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1458413r1=1458412r2=1458413view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Mar 19 17:12:09 2013 @@ -346,6 +346,8 @@ /div div class=row +div class=$colspan +div class=row form py:strip=not has_property_editor method=post id=inplace-propertyform action=${href.ticket(ticket.id) + '#trac-add-comment' if ticket.exists else href.newticket() + '#ticket'} py:if test=has_property_editor @@ -354,20 +356,16 @@ /py:if input id=hidden-comment type=hidden name=comment value= / - !--! ticket + activity headers -- - div class=span12 -div class=row - !--! ticket info -- + + div class=$colspan !--! ticket properties -- div class=properties ${render_ticket_summary_details(ticket)} /div /div -/div - /div - div id=content class=span8 + div id=content class=$colspan div id=belowStatus !--! ticket details -- @@ -403,14 +401,6 @@ /div /form -div py:if=bhdb and ticket.exists id=activity class=$cols_activity hidden-phone - bh:widget urn=Timeline -bh:args - bh:arg name=filtersticket,ticket_details,changeset/bh:arg -/bh:args - /bh:widget -/div - !--! do not show attachments for old versions of this ticket or for new tickets -- div class=$colspan py:if=not version and version != 0 and ticket.exists xi:include href=bh_list_of_attachments.html @@ -666,6 +656,16 @@ /div /div /div +/div +/div + +div py:if=bhdb and ticket.exists id=activity class=$cols_activity + bh:widget urn=Timeline +bh:args + bh:arg name=filtersticket,ticket_details,changeset/bh:arg +/bh:args + /bh:widget +/div div class=$colspan div py:if=not ticket.exists @@ -678,16 +678,6 @@ /div /div -div py:if=bhdb and ticket.exists class=$cols_activity visible-phone - div id=mobile-activity -bh:widget urn=Timeline - bh:args -bh:arg name=filtersticket,ticket_details,changeset/bh:arg - /bh:args -/bh:widget - /div -/div - /div /div
svn commit: r1458420 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Tue Mar 19 17:32:21 2013 New Revision: 1458420 URL: http://svn.apache.org/r1458420 Log: move a last few missed divs into the right hand ticket column - towards #437 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1458420r1=1458419r2=1458420view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Mar 19 17:32:21 2013 @@ -656,28 +656,29 @@ /div /div /div -/div -/div - -div py:if=bhdb and ticket.exists id=activity class=$cols_activity - bh:widget urn=Timeline -bh:args - bh:arg name=filtersticket,ticket_details,changeset/bh:arg -/bh:args - /bh:widget -/div div class=$colspan div py:if=not ticket.exists xi:include href=bh_ticket_box.html py:with=preview_mode = True/ /div - div id=help class=help-block pull-right i18n:msg= + div id=help class=help-block i18n:msg= span class=label label-infoNote:/span See a href=${href.wiki('TracTickets')}TracTickets/a for help on using tickets. /div /div +/div +/div + +div py:if=bhdb and ticket.exists id=activity class=$cols_activity + bh:widget urn=Timeline +bh:args + bh:arg name=filtersticket,ticket_details,changeset/bh:arg +/bh:args + /bh:widget +/div + /div /div
svn commit: r1458496 - in /incubator/bloodhound/trunk: bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js bloodhound_theme/bhtheme/htdocs/bloodhound.css bloodhound_theme/bhtheme/tem
Author: gjm Date: Tue Mar 19 20:19:51 2013 New Revision: 1458496 URL: http://svn.apache.org/r1458496 Log: reduces the sticky area height for large pages, losing the logo and meta nav to save space - towards #449 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js?rev=1458496r1=1458495r2=1458496view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js Tue Mar 19 20:19:51 2013 @@ -18,7 +18,6 @@ */ $(document).ready(function stickyStatus() { - function stickyLogic() { var windowHeight = $(window).height(); var headerHeight = $(header).height(); @@ -28,21 +27,18 @@ $(document).ready(function stickyStatus( var headerTop = $(header).offset().top; var headerBottom = headerTop + headerHeight - headerStickyHeight; -var stickyHeight; if(windowHeight = 768) { - headerBottom = 0; + headerBottom = headerTop + $(header .nonsticky-header).height(); $(div#breadcrumb-row div).attr('id','oldstickyStatus'); $(div#breadcrumb-row div).removeClass(sticky); - $('header').attr('id','stickyStatus'); - stickyHeight = $(#stickyStatus).outerHeight(); + $('header .sticky-header').attr('id','stickyStatus'); } else { - $('header').attr('id','oldstickyStatus'); - $(header).removeClass(sticky); + $('header .sticky-header').attr('id','oldstickyStatus'); + $(header .sticky-header).removeClass(sticky); $(div#breadcrumb-row div).attr('id','stickyStatus'); - stickyHeight = $(#stickyStatus).outerHeight(); } - +var stickyHeight = $(#stickyStatus).outerHeight(); if (docViewTop headerBottom) { $(#stickyStatus).addClass(sticky); $(.stickyOffset).css(height, stickyHeight + px); Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1458496r1=1458495r2=1458496view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Tue Mar 19 20:19:51 2013 @@ -955,7 +955,7 @@ tt { } #stickyStatus h2, -#stickyStatus ul { +#stickyStatus ul.breadcrumb { margin-bottom: 3px; } Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html?rev=1458496r1=1458495r2=1458496view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Tue Mar 19 20:19:51 2013 @@ -51,7 +51,7 @@ div class=container !--! header -- header -div class=row +div class=row nonsticky-header !--! logo -- div id=logo class=span4 p @@ -86,6 +86,7 @@ /div /py:with /div +div class=sticky-header !--! search + main nav -- div class=row !--! search box -- @@ -297,6 +298,8 @@ /div /div /div +!--! end div.sticky-header -- +/div /header div class=stickyOffset style=height: 0px;/div
svn commit: r1455875 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Wed Mar 13 10:47:58 2013 New Revision: 1455875 URL: http://svn.apache.org/r1455875 Log: move include of attachments outside of the main ticket form to prevent multiple actions being posted - fixes #462 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1455875r1=1455874r2=1455875view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Mar 13 10:47:58 2013 @@ -385,12 +385,6 @@ py:with=preview_mode = change_preview.fields ; colcount = 4 if bhdb else 6/ /div - -!--! do not show attachments for old versions of this ticket or for new tickets -- -div py:if=not version and version != 0 and ticket.exists - xi:include href=bh_list_of_attachments.html - py:with=alist = attachments; foldable = True/ -/div /py:if /div @@ -405,6 +399,12 @@ /bh:widget /div +!--! do not show attachments for old versions of this ticket or for new tickets -- +div class=$colspan py:if=not version and version != 0 and ticket.exists + xi:include href=bh_list_of_attachments.html + py:with=alist = attachments; foldable = True/ +/div + div class=$colspan !--! add comment + modify ticket -- form py:if=has_property_editor method=post id=propertyform
svn commit: r1455103 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_ticket.html
Author: gjm Date: Mon Mar 11 11:55:11 2013 New Revision: 1455103 URL: http://svn.apache.org/r1455103 Log: replace scrollspy with update button and make summary contenteditable - towards #451 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1455103r1=1455102r2=1455103view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Mon Mar 11 11:55:11 2013 @@ -356,6 +356,31 @@ h1, h2, h3, h4 { .table tbody tr:hover td { background: #eed !important } +/* copied from bootstrap for appropriate focus/unfocused state for contenteditable*/ +span[contenteditable=true] { + border-radius: 4px 4px 4px 4px; + background-color: #ff; + border: 1px solid #cc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +span[contenteditable=true]:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + /* @end */ /* @group Alternate download links */ Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1455103r1=1455102r2=1455103view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Mon Mar 11 11:55:11 2013 @@ -86,15 +86,24 @@ if ($('#vc-summary').is('.edit-active')) // Already in editable state return; + $('h2#vc-summary span').attr('contenteditable', 'true'); $('[data-edit=inplace]').each(function() { var fc = $(this).addClass('edit-active'); var fieldnm = fc.attr('id').substr(3); - fc.attr('data-edit-orig', fc.html()).empty(); + fc.attr('data-edit-orig', fc.html()); + + if (fieldnm != 'summary') { +fc.empty(); + } var editor = $('#properties #field-' + fieldnm); if (editor.length == 0) editor = $('#editor-' + fieldnm); var fieldval = editor.val(); - editor = editor.clone(false).appendTo(fc).val(fieldval); + editor = editor.clone(false); + if (fieldnm === 'summary') { +editor.hide(); + } + editor.appendTo(fc).val(fieldval); if (editor.prop('tagName') === 'TEXTAREA') { if (editor.is('.wikitext')) addWikiFormattingToolbar(editor.get(0)); @@ -146,8 +155,9 @@ //$('#inplace-propertyform').autoSubmit({preview : 1}, //full_preview, '#overview .trac-loading') $('#inplace-propertyform').submit(function() { - $('#hidden-comment').val($('#comment').val()) + $('#hidden-comment').val($('#comment').val()); }) + $('#inplace-edit-button').hide(); } function revert_ticket() { @@ -155,9 +165,20 @@ var fc = $(this).removeClass('edit-active'); fc.html(fc.attr('data-edit-orig')).attr('data-edit-orig', ''); }); + $('#inplace-edit-button').show(); + $('h2#vc-summary span').attr('contenteditable', 'false'); } -$('.local-nav a[href = #inplace-edit]').click(modify_ticket); +$('h2#vc-summary span').blur(function () { + if ($('#vc-summary.edit-active').length == 1) { +$('#vc-summary.ticket-summary input#field-summary').val($('#vc-summary span').text()); + } +}); + +$('#inplace-edit-button button#inplace-edit').click(function (e
svn commit: r1452843 - in /incubator/bloodhound/trunk: bloodhound_dashboard/bhdashboard/templates/bh_model_view.html bloodhound_theme/bhtheme/htdocs/bloodhound.css bloodhound_theme/bhtheme/templates/b
Author: gjm Date: Tue Mar 5 15:10:26 2013 New Revision: 1452843 URL: http://svn.apache.org/r1452843 Log: remove the DIV.stickyOffset and dropping #stickyStatus from templates other than bloodhound_theme.html - towards #431 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html?rev=1452843r1=1452842r2=1452843view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html Tue Mar 5 15:10:26 2013 @@ -42,7 +42,7 @@ script type=text/javascript src=${href.chrome('dashboard/js/bloodhound-stickyscroll.js')}/script xi:include href=widget_macros.html / - div id=stickyStatus class=span12 + div class=span12 div class=row div class=$colspan $heading @@ -63,8 +63,6 @@ /div /div - div class=stickyOffset style=height: 0px;/div - div class=$colspan div py:if=ticket_query id=overview bh:widget urn=TicketGroupStats Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1452843r1=1452842r2=1452843view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Tue Mar 5 15:10:26 2013 @@ -593,7 +593,7 @@ input[type=submit].btn.btn-micro { padding-right: 8px; } - #logo, #usermenu, #breadcrumbbar { + #logo, #usermenu, #stickyStatus{ float: left; } Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1452843r1=1452842r2=1452843view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Mar 5 15:10:26 2013 @@ -283,8 +283,8 @@ /py:if input id=hidden-comment type=hidden name=comment value= / - !--! ticket + activity sticky -- - div id=stickyStatus class=span12 + !--! ticket + activity headers -- + div class=span12 div class=row !--! ticket info -- div class=$colspan @@ -328,7 +328,6 @@ div id=content class=span8 div id=belowStatus - div class=stickyOffset style=height: 0px;/div !--! ticket details -- py:if test=ticket.exists
svn commit: r1452844 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js
Author: gjm Date: Tue Mar 5 15:14:44 2013 New Revision: 1452844 URL: http://svn.apache.org/r1452844 Log: refactoring sticky js to provide the breadcrumb as sticky area for small screens and full header for screen heights over 768px - towards #431 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js?rev=1452844r1=1452843r2=1452844view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bloodhound-stickyscroll.js Tue Mar 5 15:14:44 2013 @@ -19,41 +19,40 @@ $(document).ready(function stickyStatus() { - $(window).scroll(function onScroll() { - -var windowWidth = $(window).width(); - + function stickyLogic() { +var windowHeight = $(window).height(); +var headerHeight = $(header).height(); var docViewTop = $(window).scrollTop(); -var docViewBottom = docViewTop + $(window).height(); +var headerStickyHeight = $(header #stickyStatus).height(); var headerTop = $(header).offset().top; -var headerBottom = headerTop + $(header).height(); - -var statusTop = $(#stickyStatus).offset().top; -var statusBottom = statusTop + $(#stickyStatus).height(); - -var desktopStickyHeight = $(#stickyStatus).outerHeight(); +var headerBottom = headerTop + headerHeight - headerStickyHeight; -if(windowWidth = 768) { - if (docViewTop headerBottom) { -$(#stickyStatus).addClass(sticky); -$(.stickyOffset).css(height, desktopStickyHeight + px); - } - else { -$(#stickyStatus).removeClass(sticky); -$(.stickyOffset).css(height, 0px); - } +var stickyHeight; +if(windowHeight = 768) { + headerBottom = 0; + $(div#breadcrumb-row div).attr('id','oldstickyStatus'); + $(div#breadcrumb-row div).removeClass(sticky); + $('header').attr('id','stickyStatus'); + stickyHeight = $(#stickyStatus).outerHeight(); } else { - if (docViewTop headerBottom) { -$(#stickyStatus).addClass(sticky); -$(.stickyOffset).css(height, mobileStickyHeight + px); - } - else { -$(#stickyStatus).removeClass(sticky); -$(.stickyOffset).css(height, 0px); - } + $('header').attr('id','oldstickyStatus'); + $(header).removeClass(sticky); + $(div#breadcrumb-row div).attr('id','stickyStatus'); + stickyHeight = $(#stickyStatus).outerHeight(); } - - }); + +if (docViewTop headerBottom) { + $(#stickyStatus).addClass(sticky); + $(.stickyOffset).css(height, stickyHeight + px); +} +else { + $(#stickyStatus).removeClass(sticky); + $(.stickyOffset).css(height, 0px); +} +$(#oldstickyStatus).removeClass(sticky); + }; + $(window).scroll(stickyLogic); + $(window).resize(stickyLogic); });
svn commit: r1447418 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js
Author: gjm Date: Mon Feb 18 18:24:50 2013 New Revision: 1447418 URL: http://svn.apache.org/r1447418 Log: check for base_urls of / when constructing quick ticket post url - #399 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js?rev=1447418r1=1447417r2=1447418view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Mon Feb 18 18:24:50 2013 @@ -75,6 +75,8 @@ $( function () { $('#qct-create').click( function() { var base_url = $('#qct-create').attr('data-target'); + if (base_url === '/') +base_url = ''; $.post(base_url + '/qct', $('#qct-form').serialize(), function(ticket_id) { qct_alert({
svn commit: r1447578 - /incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py
Author: gjm Date: Tue Feb 19 03:18:20 2013 New Revision: 1447578 URL: http://svn.apache.org/r1447578 Log: adding test for models that do not define unique fields, inspired by a patch from franco - #336 Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py?rev=1447578r1=1447577r2=1447578view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py Tue Feb 19 03:18:20 2013 @@ -176,6 +176,36 @@ class ProductTestCase(unittest.TestCase) product.description = new_description self.assertEqual(new_description, product.description) +def test_missing_unique_fields(self): +ensure that that insert method works when _meta does not specify +unique fields when inserting more than one ProductResourceMap instances + +from multiproduct.model import ModelBase +class TestModel(ModelBase): +A test model with no unique_fields +_meta = {'table_name': 'bloodhound_testmodel', + 'object_name': 'TestModelObject', + 'key_fields': ['id',], + 'non_key_fields': ['value'], + 'unique_fields': [],} + +from trac.db import DatabaseManager +schema = [TestModel._get_schema(), ] +with self.env.db_transaction as db: +db_connector, dummy = DatabaseManager(self.env)._get_connector() +for table in schema: +for statement in db_connector.to_sql(table): +db(statement) + +structure = dict([(table.name, [col.name for col in table.columns]) + for table in schema]) +tm1 = TestModel(self.env) +tm1._data.update({'id':1,'value':'value1'}) +tm1.insert() +tm2 = TestModel(self.env) +tm2._data.update({'id':2,'value':'value2'}) +tm2.insert() + if __name__ == '__main__': unittest.main()
svn commit: r1447579 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py
Author: gjm Date: Tue Feb 19 03:21:22 2013 New Revision: 1447579 URL: http://svn.apache.org/r1447579 Log: fix for missing unique fields definition, allowing more than one record to be inserted - #336 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py?rev=1447579r1=1447578r2=1447579view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Tue Feb 19 03:21:22 2013 @@ -144,7 +144,7 @@ class ModelBase(object): for k in self._meta['key_fields']]))): sdata = {'keys':','.join([%s='%s' % (k, self._data[k]) for k in self._meta['key_fields']])} -elif len(self.select(self._env, where = +elif self._meta['unique_fields'] and len(self.select(self._env, where = dict([(k,self._data[k]) for k in self._meta['unique_fields']]))): sdata = {'keys':','.join([%s='%s' % (k, self._data[k])
svn commit: r1447581 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html
Author: gjm Date: Tue Feb 19 03:48:17 2013 New Revision: 1447581 URL: http://svn.apache.org/r1447581 Log: put wiki edit title in its own span12 element - #397 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html?rev=1447581r1=1447580r2=1447581view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html Tue Feb 19 03:48:17 2013 @@ -90,7 +90,7 @@ a py:otherwise= href=#info title=See the previewPreview/a darr; /div - h1 i18n:msg=nameEditing ${name_of(page.resource)}/h1 + span class=span12h1 i18n:msg=nameEditing ${name_of(page.resource)}/h1/span div py:if=merge class=system-message span12 div class=alert p
svn commit: r1447585 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates: bh_query.html bh_report_view.html
Author: gjm Date: Tue Feb 19 04:05:29 2013 New Revision: 1447585 URL: http://svn.apache.org/r1447585 Log: fixing report and custom query title alignments - #397 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html?rev=1447585r1=1447584r2=1447585view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_query.html Tue Feb 19 04:05:29 2013 @@ -51,7 +51,7 @@ body div id=content class=query row - h1$title small class=numrows(${ngettext('%(num)s match', '%(num)s matches', query.num_items)})/small/h1 + span class=span12h1$title small class=numrows(${ngettext('%(num)s match', '%(num)s matches', query.num_items)})/small/h1/span div py:if=description id=description class=span12 xml:space=preserve Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html?rev=1447585r1=1447584r2=1447585view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html Tue Feb 19 04:05:29 2013 @@ -36,9 +36,9 @@ body div id=content class=report row - h1$title + span class='span12'h1$title small py:if=numrows class=numrows(${ngettext('%(num)s match', '%(num)s matches', numrows)})/small - /h1 + /h1/span div class=span9 div py:if=description id=description xml:space=preserve
svn commit: r1446603 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py
Author: gjm Date: Fri Feb 15 14:36:58 2013 New Revision: 1446603 URL: http://svn.apache.org/r1446603 Log: set hints for rendering abbreviated messages for activity - #340 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1446603r1=1446602r2=1446603view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Fri Feb 15 14:36:58 2013 @@ -161,21 +161,22 @@ class TimelineWidget(WidgetBase): if start is not None: fakereq.args['from'] = start.strftime('%x %X') +wcontext = context.child() if (realm, rid) != (None, None): # Override rendering context resource = Resource(realm, rid) if resource_exists(self.env, resource) or \ realm == rid == '': -context = RenderingContext(resource) -context.req = req +wcontext = context.child(resource) +wcontext.req = req else: self.log.warning(TimelineWidget: Resource %s not found, resource) # FIXME: Filter also if existence check is not conclusive ? -if resource_exists(self.env, context.resource): -module = FilteredTimeline(self.env, context) +if resource_exists(self.env, wcontext.resource): +module = FilteredTimeline(self.env, wcontext) self.log.debug('Filtering timeline events for %s', \ -context.resource) +wcontext.resource) else: module = timemdl data = module.process_request(fakereq)[1] @@ -188,7 +189,10 @@ class TimelineWidget(WidgetBase): exclude=[stylesheet, alternate]) data['today'] = today = datetime.now(req.tz) data['yesterday'] = today - timedelta(days=1) -data['context'] = context +if 'context' in data: +# Needed for abbreviated messages in widget events (#340) +wcontext.set_hints(**(data['context']._hints or {})) +data['context'] = wcontext return 'widget_timeline.html', \ { 'title' : _('Activity'),
svn commit: r1445549 - /incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py
Author: gjm Date: Wed Feb 13 10:55:40 2013 New Revision: 1445549 URL: http://svn.apache.org/r1445549 Log: test for table.field style updates - #378 Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py?rev=1445549r1=1445548r2=1445549view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py Wed Feb 13 10:55:40 2013 @@ -54,6 +54,23 @@ class ProductTestCase(unittest.TestCase) shutil.rmtree(self.env.path) self.env.reset_db() +def test_set_table_field(self): +tests that table.field style update works +test = {'prefix': 'td', +'name': 'test field access', +'description': 'product to test field setting'} + +product = Product(self.env) + +# attempt to set the fields from the data +product.prefix = test['prefix'] +product.name = test['name'] +product.description = test['description'] + +self.assertEqual(product._data['prefix'], test['prefix']) +self.assertEqual(product._data['name'], test['name']) +self.assertEqual(product._data['description'], test['description']) + def test_select(self): tests that select can search Products by fields
svn commit: r1445551 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py
Author: gjm Date: Wed Feb 13 11:00:18 2013 New Revision: 1445551 URL: http://svn.apache.org/r1445551 Log: fix key names to get the data and fields for table.field = value style updates - #378 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py?rev=1445551r1=1445550r2=1445551view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Wed Feb 13 11:00:18 2013 @@ -83,9 +83,8 @@ class ModelBase(object): def __setattr__(self, name, value): Overridden to allow table.field = value style field setting. -data = self.__dict__.get('data') -fields = self.__dict__.get('fields') - +data = self.__dict__.get('_data') +fields = self.__dict__.get('_all_fields') if data and fields and name in fields: self._data[name] = value else:
svn commit: r1444733 - in /incubator/bloodhound/vendor/trac/current: ./ .tx/ contrib/ contrib/workflow/ doc/ doc/api/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/wor
Author: gjm Date: Mon Feb 11 10:52:21 2013 New Revision: 1444733 URL: http://svn.apache.org/r1444733 Log: importing trac-1.0.1 [This commit notification would consist of 82 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r1444734 - /incubator/bloodhound/vendor/trac/1.0.1/
Author: gjm Date: Mon Feb 11 10:57:23 2013 New Revision: 1444734 URL: http://svn.apache.org/r1444734 Log: tagging trac 1.0.1 Added: incubator/bloodhound/vendor/trac/1.0.1/ - copied from r1444733, incubator/bloodhound/vendor/trac/current/
svn commit: r1444846 - in /incubator/bloodhound/trunk/trac: ./ .tx/ contrib/ contrib/workflow/ doc/ doc/api/ doc/dev/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ tr
Author: gjm Date: Mon Feb 11 16:21:55 2013 New Revision: 1444846 URL: http://svn.apache.org/r1444846 Log: merging trac-1.0.1 into trunk/trac - towards #363 [This commit notification would consist of 79 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r1445000 - /incubator/bloodhound/trunk/trac/trac/TRAC_VERSION
Author: gjm Date: Tue Feb 12 00:06:37 2013 New Revision: 1445000 URL: http://svn.apache.org/r1445000 Log: updating trac version in TRAC_VERSION Modified: incubator/bloodhound/trunk/trac/trac/TRAC_VERSION Modified: incubator/bloodhound/trunk/trac/trac/TRAC_VERSION URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/TRAC_VERSION?rev=1445000r1=1444999r2=1445000view=diff == --- incubator/bloodhound/trunk/trac/trac/TRAC_VERSION (original) +++ incubator/bloodhound/trunk/trac/trac/TRAC_VERSION Tue Feb 12 00:06:37 2013 @@ -1 +1 @@ -1.0 +1.0.1
svn commit: r1431296 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_ticket.html
Author: gjm Date: Thu Jan 10 11:44:31 2013 New Revision: 1431296 URL: http://svn.apache.org/viewvc?rev=1431296view=rev Log: fixing vertical alignment of fields in the ticket summary - #348 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1431296r1=1431295r2=1431296view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Thu Jan 10 11:44:31 2013 @@ -218,7 +218,7 @@ pre.wiki { padding-left: 5px; } -.ticket .properties .enum h5 { +.ticket .properties .enum h5, #basic-properties h5 { margin-top: 0px; } Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1431296r1=1431295r2=1431296view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Thu Jan 10 11:44:31 2013 @@ -310,7 +310,7 @@ setup_sticky_panel('#overview'); /script - div + div id=basic-properties div class=row div class=span4 div class=row
svn commit: r1431447 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css
Author: gjm Date: Thu Jan 10 15:49:52 2013 New Revision: 1431447 URL: http://svn.apache.org/viewvc?rev=1431447view=rev Log: make workflow dropdown display when overview converts to sticky region - fixes #341 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1431447r1=1431446r2=1431447view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Thu Jan 10 15:49:52 2013 @@ -296,7 +296,7 @@ h1, h2, h3, h4 { white-space: nowrap; } -.clip.edit-active, .affix .clip-affic.edit-active { +.clip.edit-active, .affix .clip-affix.edit-active { overflow: visible; } /* @end */
svn commit: r1430903 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_ticket.html templates/bh_ticket_box.html
Author: gjm Date: Wed Jan 9 15:41:44 2013 New Revision: 1430903 URL: http://svn.apache.org/viewvc?rev=1430903view=rev Log: stop comment previews from conflicting with in-place edit - fixes #346 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1430903r1=1430902r2=1430903view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Wed Jan 9 15:41:44 2013 @@ -231,6 +231,13 @@ pre.wiki { width: auto; } +.trac-loading { + background: url(../common/loading.gif) 0 50% no-repeat; + margin: 0 1em; + padding-left: 16px; + display: none; +} + /* @end */ /* @group Quick Ticket fieldset */ Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1430903r1=1430902r2=1430903view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Jan 9 15:41:44 2013 @@ -116,12 +116,16 @@ }) } }); + + // Enable automatic preview + $('#inplace-propertyform').autoSubmit({preview : 1}, + full_preview, '#overview .trac-loading') } function revert_ticket() { $('[data-edit=inplace]').each(function() { var fc = $(this).removeClass('edit-active'); - fc.html(fc.attr('data-edit-orig')); + fc.html(fc.attr('data-edit-orig')).attr('data-edit-orig', ''); }); } @@ -154,10 +158,8 @@ var comment_focused = false; $(#comment).focus(function() { comment_focused = true; }) .blur(function() { comment_focused = false; }); -$(#propertyform).autoSubmit({preview: '1'}, function(data, reply) { +function full_preview(data, reply) { var items = $(reply); - // Update ticket box - $(#ticket).replaceWith(items.filter('#ticket')); // Unthread, unrevert and update changelog if (!$('#trac-comments-oldest').checked()) $('#trac-comments-oldest').click().change(); @@ -176,7 +178,9 @@ // Collapse property form if comment editor has focus if (show_preview comment_focused) $(#modify).parent().addClass(collapsed); -}, #ticketchange .trac-loading); +} +$(#propertyform).autoSubmit({preview: '1'}, full_preview, +#ticketchange .trac-loading); $(#trac-comment-editor).autoSubmit({preview_comment: '1'}, function(data, reply) { var comment = $(#trac-comment-editor).next(div.comment).html(reply); comment.toggle(comment.children().length != 0); @@ -678,6 +682,9 @@ ${value}/textarea Cancel /button /div + div class=btn-group +span class=trac-loadingnbsp;/span + /div /div /script /body Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html?rev=1430903r1=1430902r2=1430903view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Wed Jan 9 15:41:44 2013 @@ -100,10 +100,8 @@ Arguments: div class=pull-right form py:if=ticket.exists and ticket.description and can_append id=addreply method=get action=#comment -input type=hidden name=replyto value=description / -input type=submit name=reply value=${_('Reply')} -class=btn btn-mini -title=Reply, quoting this description / +a href=?replyto=description#trac-add-comment class=btn btn-mini +title=Reply, quoting this description type=submitReply/a /form /div div class=searchable xml:space=preserve
svn commit: r1431128 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Wed Jan 9 22:51:45 2013 New Revision: 1431128 URL: http://svn.apache.org/viewvc?rev=1431128view=rev Log: allow modify ticket state to submit comment along with other state changes, disabling comment only submission - towards #345 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1431128r1=1431127r2=1431128view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Jan 9 22:51:45 2013 @@ -55,7 +55,10 @@ // Install in place editing var modify_elem = $('#modify'); -py:if test=ticket.existsmodify_elem.parent().hide();/py:if +py:if test=ticket.exists + modify_elem.parent().hide(); + $('#propertyform .buttons').hide(); +/py:if function modify_ticket() { if ($('#vc-summary').is('.edit-active')) @@ -118,8 +121,11 @@ }); // Enable automatic preview - $('#inplace-propertyform').autoSubmit({preview : 1}, - full_preview, '#overview .trac-loading') + //$('#inplace-propertyform').autoSubmit({preview : 1}, + //full_preview, '#overview .trac-loading') + $('#inplace-propertyform').submit(function() { + $('#hidden-comment').val($('#comment').val()) +}) } function revert_ticket() { @@ -227,6 +233,8 @@ input type=hidden name=view_time value=${to_utimestamp(ticket['changetime'])} / /py:if + input id=hidden-comment type=hidden name=comment + value=/ div class=stickyBox div id=overview class=stickyStatus $colspan div class=whitebox/div
svn commit: r1430317 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Tue Jan 8 15:10:18 2013 New Revision: 1430317 URL: http://svn.apache.org/viewvc?rev=1430317view=rev Log: make ticket form display when the ticket does not exist for newticket page - fixes #343 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1430317r1=1430316r2=1430317view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Jan 8 15:10:18 2013 @@ -55,7 +55,7 @@ // Install in place editing var modify_elem = $('#modify'); -modify_elem.parent().hide(); +py:if test=ticket.existsmodify_elem.parent().hide();/py:if function modify_ticket() { if ($('#vc-summary').is('.edit-active'))
svn commit: r1430428 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html
Author: gjm Date: Tue Jan 8 18:17:47 2013 New Revision: 1430428 URL: http://svn.apache.org/viewvc?rev=1430428view=rev Log: make sure that DIV#vc-description is available when there is no ticket description - fixes #344 (thanks olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html?rev=1430428r1=1430427r2=1430428view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Tue Jan 8 18:17:47 2013 @@ -106,10 +106,12 @@ Arguments: title=Reply, quoting this description / /form /div -div py:if=ticket.description class=searchable xml:space=preserve +div class=searchable xml:space=preserve data-edit=${'inplace' if can_edit or can_create else None} id=vc-description - ${wiki_to_html(context, ticket.description, escape_newlines=preserve_newlines)} + py:if test=ticket.description +${wiki_to_html(context, ticket.description, escape_newlines=preserve_newlines)} + /py:if /div br py:if=not ticket.description style=clear: both / /div
svn commit: r1429859 - /incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py
Author: gjm Date: Mon Jan 7 15:53:30 2013 New Revision: 1429859 URL: http://svn.apache.org/viewvc?rev=1429859view=rev Log: fix check that file is the main program so it will run tests -towards #333 Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py?rev=1429859r1=1429858r2=1429859view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/tests/model.py Mon Jan 7 15:53:30 2013 @@ -159,6 +159,6 @@ class ProductTestCase(unittest.TestCase) product.description = new_description self.assertEqual(new_description, product.description) -if __name__ == '__main_': +if __name__ == '__main__': unittest.main()
svn commit: r1429875 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py
Author: gjm Date: Mon Jan 7 16:16:01 2013 New Revision: 1429875 URL: http://svn.apache.org/viewvc?rev=1429875view=rev Log: adding ability to specify auto_increment field so that more schema can be generated - towards #333 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py?rev=1429875r1=1429874r2=1429875view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Mon Jan 7 16:16:01 2013 @@ -47,6 +47,7 @@ class ModelBase(object): 'object_name':'WhatIWillCallMyselfInMessages', 'key_fields':['id','id2'], 'non_key_fields':['thing','anotherthing'], + 'auto_inc_fields': ['id',], } @@ -232,7 +233,10 @@ class ModelBase(object): @classmethod def _get_schema(cls): -fields = [Column(field) for field in cls._get_fields()] +Generate schema from the class meta data +auto_inc = cls._meta.get('auto_inc_fields', []) +fields = [Column(f, auto_increment=f in auto_inc) + for f in cls._get_fields()] return Table(cls._meta['table_name'], key=set(cls._meta['key_fields'] + cls._meta['unique_fields'])) [fields]
svn commit: r1429877 - /incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py
Author: gjm Date: Mon Jan 7 16:18:26 2013 New Revision: 1429877 URL: http://svn.apache.org/viewvc?rev=1429877view=rev Log: adding the auto increment field specification to the ProductResourceMap model - towards #333 Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py?rev=1429877r1=1429876r2=1429877view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py Mon Jan 7 16:18:26 2013 @@ -86,6 +86,7 @@ class ProductResourceMap(ModelBase): 'non_key_fields':['product_id','resource_type','resource_id',], 'no_change_fields':['id',], 'unique_fields':[], +'auto_inc_fields': ['id'], } def reparent_resource(self, product=None):
svn commit: r1428834 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Fri Jan 4 13:15:34 2013 New Revision: 1428834 URL: http://svn.apache.org/viewvc?rev=1428834view=rev Log: making ticket type editable again - fixes #331 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1428834r1=1428833r2=1428834view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Fri Jan 4 13:15:34 2013 @@ -327,7 +327,8 @@ Type: /h5 /div - div class=span2 + div id=vc-type class=span2 + data-edit=${'inplace' if can_modify or can_edit or can_create else None} small py:if=ticket.type${ticket.type}/small nbsp; /div
svn commit: r1427698 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_ticket.html templates/bh_ticket_box.html
Author: gjm Date: Wed Jan 2 08:29:55 2013 New Revision: 1427698 URL: http://svn.apache.org/viewvc?rev=1427698view=rev Log: improvements to ticket header - towards #146 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1427698r1=1427697r2=1427698view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Wed Jan 2 08:29:55 2013 @@ -226,6 +226,10 @@ pre.wiki { margin-top: 0px; } +.ownership { + margin-left: 25px; +} + /* @end */ /* @group Quick Ticket fieldset */ Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1427698r1=1427697r2=1427698view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Jan 2 08:29:55 2013 @@ -138,13 +138,13 @@ div class=whitebox/div div class=properties h2 class=summary searchable clip-affix py:choose= -py:when test=ticket.exists$ticket.summary/py:when +py:when test=ticket.exists#9734; $ticket.summary/py:when py:otherwiseCreate Ticket/py:otherwise /h2 /div div class=row - div class=span3 -h5 id=trac-ticket-title py:choose= + span class=ownership +py:choose test= py:when test=ticket.exists a href=${href.ticket(ticket.id)} i18n:msg=idTicket #${ticket.id}/a @@ -152,25 +152,20 @@ py:otherwise New Ticket smallspan py:if=preview_mode and ticket.type class=status(${ticket.type})/span/small /py:otherwise -/h5 - /div - div class=offset3 -h6 class=date pull-right - span i18n:msg=created py:if=ticket.existsOpened ${pretty_dateinfo(ticket.time)}/span - py:if test=ticket.changetime != ticket.time, -span i18n:msg=modifiedLast modified ${pretty_dateinfo(ticket.changetime)}/span +/py:choose +py:if test=ticket.exists - + py:if test=ticket.changetime != ticket.time +span i18n:msg=modifiedLast modified + time datetime=${ticket.changetime.strftime('%Y-%m-%d')} +${pretty_dateinfo(ticket.changetime)} + /time. +/span /py:if - span py:if=not ticket.exists class=label label-warning(ticket not yet created)/span -/h6 -h6 class=pull-right - span id=h_reporterReported by -${reporter_link if defined('reporter_link') else authorinfo(ticket.reporter)} - /span, - span id=h_ownerAssigned to -${(owner_link if defined('owner_link') else authorinfo(ticket.owner)) if ticket.owner else ''} - /span -/h6 - /div +/py:if +span id=h_ownerAssigned to + ${(owner_link if defined('owner_link') else authorinfo(ticket.owner)) if ticket.owner else ''}. +/span + /span /div div class=local-nav py:if=ticket.exists py:with=sections = ( @@ -201,29 +196,69 @@ /script py:if test=ticket.exists div class=row -div class=span6 - h4 class=statussmall${ticket.status}py:if - test=ticket.type ${ticket.type}/py:ifpy:if - test=ticket.resolution: ${ticket.resolution}/py:if/small/h4 - py:choose test= -py:when test=version is None / -py:when test=version == 0 - mdash; - small -i18n:msgat a href=#comment:descriptionInitial Version/a/i18n:msg - /small -/py:when -py:otherwise - mdash; - small -i18n:msg
svn commit: r1427699 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_ticket.html templates/bh_ticket_box.html
Author: gjm Date: Wed Jan 2 08:33:52 2013 New Revision: 1427699 URL: http://svn.apache.org/viewvc?rev=1427699view=rev Log: add in-place editing of fields - towards #146 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1427699r1=1427698r2=1427699view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Wed Jan 2 08:33:52 2013 @@ -230,6 +230,11 @@ pre.wiki { margin-left: 25px; } +.ticket textarea { + height: auto; + width: auto; +} + /* @end */ /* @group Quick Ticket fieldset */ Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1427699r1=1427698r2=1427699view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Jan 2 08:33:52 2013 @@ -41,6 +41,32 @@ $(.local-nav a).click(function() { $($(this).attr('href')).removeClass('collapsed').parent().removeClass(collapsed); }); $('.trac-nav').hide(); $('.trac-topnav').hide(); + +// Install in place editing + +var modify_elem = $('#modify'); +modify_elem.parent().hide(); + +function modify_ticket() { + $('[data-edit=inplace]').each(function() { + var fc = $(this); + var fieldurl = fc.find('a').attr('href'); + var fieldnm = fc.attr('id').substr(3); + fc.empty(); + var editor = $('#properties #field-' + fieldnm); + if (editor.length == 0) +editor = $('#editor-' + fieldnm); + var fieldval = editor.val(); + editor = editor.clone(false).appendTo(fc).val(fieldval); + if (editor.prop('tagName') == 'TEXTAREA') { +if (editor.is('.wikitext')) + addWikiFormattingToolbar(editor.get(0)); + } +}); +} + +$('.local-nav a[href = #inplace-edit]').click(modify_ticket); + $('body').scrollspy({ 'target' : '.local-nav' , 'offset' : $('.stickyBox').height() + 40 @@ -173,7 +199,7 @@ (_('Attachments'), 'attachments', attachments.attachments or attachments.can_create, _('Go to the list of attachments'), 'icon-file'), (_('Comments'), 'changelog', True, _('Go to the changelog'), 'icon-comment'), (_('Add comment'), 'propertyform', ticket.exists and can_append, _('Go to the ticket editor'), 'icon-plus-sign'), -(_('Modify Ticket'), 'modify', can_modify or can_edit or can_create, _('Modify ticket fields and description'), 'icon-edit'), +(_('Modify Ticket'), 'inplace-edit', can_modify or can_edit or can_create, _('Modify ticket fields and description'), 'icon-edit'), ) div small @@ -408,9 +434,10 @@ ${ticket.description}/textarea field.edit_label or field.label or field.name}:/label /th td class=col${idx + 1} py:if=idx == 0 or not fullrow - colspan=${3 if fullrow else None} + colspan=${3 if fullrow else None} + id=${'editor-' + field.name if field else None} py:choose test=field.type py:if=field - select py:when='select' id=field-${field.name} name=field_${field.name} + select py:when='select' id=field-${field.name} name=field_${field.name} class=input-medium option py:if=field.optional/option option py:for=option in field.options selected=${value == option or None} Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html?rev=1427699r1=1427698r2=1427699view=diff
svn commit: r1427702 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_ticket.html templates/bh_ticket_box.html
Author: gjm Date: Wed Jan 2 08:37:15 2013 New Revision: 1427702 URL: http://svn.apache.org/viewvc?rev=1427702view=rev Log: editing of special fields (summany, description, etc) - towards #146 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1427702r1=1427701r2=1427702view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Wed Jan 2 08:37:15 2013 @@ -214,10 +214,6 @@ pre.wiki { width: 505px; } -#field-reporter { - width: 505px; -} - .bh-ticket-buttons { padding-left: 5px; } Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1427702r1=1427701r2=1427702view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Jan 2 08:37:15 2013 @@ -163,7 +163,9 @@ div id=overview class=stickyStatus $colspan div class=whitebox/div div class=properties - h2 class=summary searchable clip-affix py:choose= + h2 class=summary searchable clip-affix py:choose= + data-edit=${'inplace' if can_modify or can_create else None} + id=vc-summary py:when test=ticket.exists#9734; $ticket.summary/py:when py:otherwiseCreate Ticket/py:otherwise /h2 @@ -232,7 +234,8 @@ Reporter: /h5 /div - div class=span2 + div class=span2 id=vc-reporter + data-edit=${'inplace' if only_for_admin else None} ${reporter_link if defined('reporter_link') else authorinfo(ticket.reporter)} nbsp; /div @@ -402,7 +405,7 @@ ${comment}/textarea thlabel for=field-reporterReporter:/label/th td class=fullrow colspan=3 input type=text id=field-reporter name=field_reporter - value=${ticket.reporter} size=70 / + value=${ticket.reporter} class=input-medium / /td /tr /py:if Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html?rev=1427702r1=1427701r2=1427702view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Wed Jan 2 08:37:15 2013 @@ -80,7 +80,8 @@ Arguments: py:for each=field in fields py:if test=field.name == 'keywords' div title=Keywords -i class=icon-tags/i ${field.rendered} +i class=icon-tags/i +span data-edit=${'inplace' if can_modify or can_edit or can_create else None} id=vc-keywords${field.rendered}/span /div /py:if /py:for @@ -105,7 +106,9 @@ Arguments: title=Reply, quoting this description / /form /div -div py:if=ticket.description class=searchable xml:space=preserve +div py:if=ticket.description class=searchable xml:space=preserve +data-edit=${'inplace' if can_edit or can_create else None} +id=vc-description ${wiki_to_html(context, ticket.description, escape_newlines=preserve_newlines)} /div br py:if=not ticket.description style=clear: both /
svn commit: r1425621 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css
Author: gjm Date: Mon Dec 24 10:22:21 2012 New Revision: 1425621 URL: http://svn.apache.org/viewvc?rev=1425621view=rev Log: adjusting css for better alignment of enum fields - for #242 (from andrej) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1425621r1=1425620r2=1425621view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Mon Dec 24 10:22:21 2012 @@ -222,8 +222,8 @@ pre.wiki { padding-left: 5px; } -.ticket .properties h5 { - margin-bottom: 0px; +.ticket .properties .enum h5 { + margin-top: 0px; } /* @end */
svn commit: r1424851 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py
Author: gjm Date: Fri Dec 21 10:30:18 2012 New Revision: 1424851 URL: http://svn.apache.org/viewvc?rev=1424851view=rev Log: reverse priority ordering so that dashboard ticket queries show high priority as top instead of lowest - fixes #315 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py?rev=1424851r1=1424850r2=1424851view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py Fri Dec 21 10:30:18 2012 @@ -196,7 +196,7 @@ class DashboardModule(Component): 'query' : 'status=!closedgroup=milestone'\ 'col=idcol=summarycol=owner' \ 'col=statuscol=priority' \ -'order=prioritydesc=1', +'order=priority', 'title' : 'Active Tickets'}}], 'altlinks' : False }, @@ -209,7 +209,7 @@ class DashboardModule(Component): 'query' : 'status=!closedgroup=milestone'\ 'col=idcol=summarycol=owner' \ 'col=statuscol=priority' \ -'order=prioritydesc=1' \ +'order=priority' \ 'owner=$USER', 'title' : 'My Tickets'} }],
svn commit: r1424544 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: templates/bloodhound_theme.html theme.py
Author: gjm Date: Thu Dec 20 15:50:31 2012 New Revision: 1424544 URL: http://svn.apache.org/viewvc?rev=1424544view=rev Log: enhancing quick ticket with configurable fields and link to /newticket form - towards #234 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html?rev=1424544r1=1424543r2=1424544view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Thu Dec 20 15:50:31 2012 @@ -140,7 +140,13 @@ div id=qct-box class=dropdown-menu style=width: 300px; py:choose= div class=popover-title - a href=${href.newticket()}h3Create Ticket/h3/a + h3 +Create Ticket +a style=top: -33px; right: -25px; position: relative; +class=pull-right href=${href.newticket()} + smallFull dialogue raquo;/small +/a + /h3 /div div class=popover-content py:when test='TICKET_CREATE' in perm Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py?rev=1424544r1=1424543r2=1424544view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Thu Dec 20 15:50:31 2012 @@ -22,6 +22,7 @@ from genshi.filters.transform import Tra from trac.config import Option from trac.core import * +from trac.config import ListOption from trac.mimeview.api import get_mimetype from trac.resource import Resource from trac.ticket.api import TicketSystem @@ -330,7 +331,9 @@ class BloodhoundTheme(ThemeBase): class QuickCreateTicketDialog(Component): implements(IRequestFilter, IRequestHandler) -qct_fields = ('product', 'version', 'type', 'component') +qct_fields = ListOption('ticket', 'quick_create_fields', +'product,version,type', +doc=Multiple selection fields displayed in create ticket menu) # IRequestFilter(Interface): @@ -355,7 +358,8 @@ class QuickCreateTicketDialog(Component) ticket = Ticket(self.env) tm._populate(fakereq, ticket, False) all_fields = dict([f['name'], f] \ - for f in tm._prepare_fields(fakereq, ticket)) + for f in tm._prepare_fields(fakereq, ticket) \ + if f['type'] == 'select') data['qct'] = {'fields': [all_fields[k] for k in self.qct_fields if k in all_fields]} return template, data, content_type
svn commit: r1424549 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css htdocs/js/theme.js templates/bloodhound_theme.html
Author: gjm Date: Thu Dec 20 15:56:19 2012 New Revision: 1424549 URL: http://svn.apache.org/viewvc?rev=1424549view=rev Log: adds the ticket description field to the quick ticket - towards #234 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1424549r1=1424548r2=1424549view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Thu Dec 20 15:56:19 2012 @@ -206,6 +206,10 @@ pre.wiki { width: 505px; } +#qct-fieldset #field-description { + width: auto; +} + #field-summary { width: 505px; } Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js?rev=1424549r1=1424548r2=1424549view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Thu Dec 20 15:56:19 2012 @@ -22,8 +22,8 @@ $( function () { var qct_timeout = null; // Do not close dropdown menu if user interacts with form controls -$('.dropdown-menu input, .dropdown-menu label, .dropdown-menu select') -.click(function (e) { e.stopPropagation(); }); +$('.dropdown-menu input, .dropdown-menu label, .dropdown-menu select' + +', .dropdown-menu textarea').click(function (e) { e.stopPropagation(); }); // Install popover for create ticket shortcut // Important: Further options specified in markup @@ -57,7 +57,7 @@ $( function () { // Clear input controls inside quick create box function qct_clearui() { - $('#qct-fieldset input, #qct-fieldset select').val(''); + $('#qct-fieldset input, #qct-fieldset select, #qct-fieldset textarea').val(''); } // We want to submit via #qct-create Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html?rev=1424549r1=1424548r2=1424549view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Thu Dec 20 15:56:19 2012 @@ -117,9 +117,17 @@ /select /py:def py:def function=qct_box() - label for=field-summarySummary/label - input type=text id=field-summary - name=field_summary placeholder=Ticket summary / + div +label for=field-summarySummary/label +input type=text id=field-summary +name=field_summary placeholder=Ticket summary / + /div + div +label for=field-descriptionDescription/label +textarea id=field-description name=field_description +rows=3 cols=28 +placeholder=Ticket description/textarea + /div div class=form-horizontal py:for each=field in qct.fields label class=control-label for=field-${field.name}${field.label}/label
svn commit: r1424271 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py
Author: gjm Date: Thu Dec 20 02:29:28 2012 New Revision: 1424271 URL: http://svn.apache.org/viewvc?rev=1424271view=rev Log: adding the ability to output schema to ModelBase in terms of trac's Table and Column for consistency of dump generation across trac and bh schema - towards #314 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py?rev=1424271r1=1424270r2=1424271view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/model.py Thu Dec 20 02:29:28 2012 @@ -16,6 +16,7 @@ # specific language governing permissions and limitations # under the License. +from trac.db import Table, Column from trac.core import TracError from trac.resource import ResourceNotFound from trac.ticket.api import TicketSystem @@ -224,4 +225,14 @@ class ModelBase(object): model.__init__(env, data) rows.append(model) return rows + +@classmethod +def _get_fields(cls): +return cls._meta['key_fields']+cls._meta['non_key_fields'] + +@classmethod +def _get_schema(cls): +fields = [Column(field) for field in cls._get_fields()] +return Table(cls._meta['table_name'], key=set(cls._meta['key_fields'] + +cls._meta['unique_fields'])) [fields]
svn commit: r1421269 - /incubator/bloodhound/trunk/.rat-ignore
Author: gjm Date: Thu Dec 13 12:55:37 2012 New Revision: 1421269 URL: http://svn.apache.org/viewvc?rev=1421269view=rev Log: Updates to RAT reporting to ignore Trac and a few other files - fixes #274 Modified: incubator/bloodhound/trunk/.rat-ignore Modified: incubator/bloodhound/trunk/.rat-ignore URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/.rat-ignore?rev=1421269r1=1421268r2=1421269view=diff == --- incubator/bloodhound/trunk/.rat-ignore (original) +++ incubator/bloodhound/trunk/.rat-ignore Thu Dec 13 12:55:37 2012 @@ -1,6 +1,10 @@ -trac/contrib/ .rat-ignore +**/CHANGES **/MANIFEST.in +**/TESTING_README +**/TODO bloodhound_dashboard/bhdashboard/default-pages/ doc/wireframes/src/ +installer/README.rst +trac/
svn commit: r1420831 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py
Author: gjm Date: Wed Dec 12 17:01:58 2012 New Revision: 1420831 URL: http://svn.apache.org/viewvc?rev=1420831view=rev Log: get application_short label from config instead of req.chrome['label'] in the BloodhoundTheme.filter_stream method - fixes #298 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py?rev=1420831r1=1420830r2=1420831view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Wed Dec 12 17:01:58 2012 @@ -123,6 +123,22 @@ class BloodhoundTheme(ThemeBase): implements(IRequestFilter, INavigationContributor, ITemplateProvider, ITemplateStreamFilter) +def _get_whitelabelling(self): +Gets the whitelabelling config values +c = self.env.config +return dict( +application_short = c.get( +'labels', 'application_short', Bloodhound), +application_full = c.get( +'labels', 'application_full', Apache Bloodhound), +footer_left_prefix = c.get( +'labels', 'footer_left_prefix', ), +footer_left_postfix = c.get( +'labels', 'footer_left_postfix', ), +footer_right = c.get( +'labels', 'footer_right', ), +application_version = ..join(map(str, application_version))) + # ITemplateStreamFilter methods def filter_stream(self, req, method, filename, stream, data): @@ -156,7 +172,7 @@ class BloodhoundTheme(ThemeBase): .map(lambda text: wiki.new_name(text), TEXT) # Rename trac error -app_short = req.chrome['labels']['application_short'] +app_short = self._get_whitelabelling()['application_short'] tx = tx.end() \ .select(body//div[@class='error']/h1) \ .map(lambda text: text.replace(Trac, app_short), TEXT) @@ -197,19 +213,7 @@ class BloodhoundTheme(ThemeBase): is_active = active_theme['name'] == this_theme_name return is_active -c = self.env.config -req.chrome['labels'] = dict( -application_short = c.get( -'labels', 'application_short', Bloodhound), -application_full = c.get( -'labels', 'application_full', Apache Bloodhound), -footer_left_prefix = c.get( -'labels', 'footer_left_prefix', ), -footer_left_postfix = c.get( -'labels', 'footer_left_postfix', ), -footer_right = c.get( -'labels', 'footer_right', ), -application_version = ..join(map(str, application_version))) +req.chrome['labels'] = self._get_whitelabelling() links = req.chrome.get('links',{}) # replace favicon if appropriate
svn commit: r1419352 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py
Author: gjm Date: Mon Dec 10 11:42:11 2012 New Revision: 1419352 URL: http://svn.apache.org/viewvc?rev=1419352view=rev Log: move footer whitelabelling code from pre_process_request to post_process_request - for #294 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py?rev=1419352r1=1419351r2=1419352view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Mon Dec 10 11:42:11 2012 @@ -161,20 +161,6 @@ class BloodhoundTheme(ThemeBase): def pre_process_request(self, req, handler): Pre process request filter -c = self.env.config -req.chrome['labels'] = dict( -application_short = c.get( -'labels', 'application_short', Bloodhound), -application_full = c.get( -'labels', 'application_full', Apache Bloodhound), -footer_left_prefix = c.get( -'labels', 'footer_left_prefix', ), -footer_left_postfix = c.get( -'labels', 'footer_left_postfix', ), -footer_right = c.get( -'labels', 'footer_right', ), -application_version = ..join(map(str, application_version))) - def hwiki(*args, **kw): def new_name(name): @@ -205,6 +191,20 @@ class BloodhoundTheme(ThemeBase): is_active = active_theme['name'] == this_theme_name return is_active +c = self.env.config +req.chrome['labels'] = dict( +application_short = c.get( +'labels', 'application_short', Bloodhound), +application_full = c.get( +'labels', 'application_full', Apache Bloodhound), +footer_left_prefix = c.get( +'labels', 'footer_left_prefix', ), +footer_left_postfix = c.get( +'labels', 'footer_left_postfix', ), +footer_right = c.get( +'labels', 'footer_right', ), +application_version = ..join(map(str, application_version))) + links = req.chrome.get('links',{}) # replace favicon if appropriate if self.env.project_icon == 'common/trac.ico':
svn commit: r1419672 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Mon Dec 10 19:06:31 2012 New Revision: 1419672 URL: http://svn.apache.org/viewvc?rev=1419672view=rev Log: change scrollspy bar to navbar style to make it smaller and always in view - towards #295 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1419672r1=1419671r2=1419672view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Mon Dec 10 19:06:31 2012 @@ -38,11 +38,11 @@ script type=text/javascript py:choose= jQuery(document).ready(function($) { /* Affixed navbar */ -$(.navbar a).click(function() { $($(this).attr('href')).removeClass('collapsed').parent().removeClass(collapsed); }); +$(.local-nav a).click(function() { $($(this).attr('href')).removeClass('collapsed').parent().removeClass(collapsed); }); $('.trac-nav').hide(); $('.trac-topnav').hide(); $('body').scrollspy({ -'target' : '.navbar' , +'target' : '.local-nav' , 'offset' : $('.stickyBox').height() + 40 }) @@ -172,7 +172,7 @@ /h6 /div /div -div class=navbar visible-affix py:if=ticket.exists +div class=local-nav py:if=ticket.exists py:with=sections = ( (_('Overview'), 'content', True, _('View ticket fields and description'), 'icon-list'), (_('Attachments'), 'attachments', attachments.attachments or attachments.can_create, _('Go to the list of attachments'), 'icon-file'), @@ -180,10 +180,10 @@ (_('Add comment'), 'propertyform', ticket.exists and can_append, _('Go to the ticket editor'), 'icon-plus-sign'), (_('Modify Ticket'), 'modify', can_modify or can_edit or can_create, _('Modify ticket fields and description'), 'icon-edit'), ) - div class=navbar-inner + div small - ul class=nav -li py:for=s in sections py:if=s[2] + ul class=nav btn-group +li py:for=s in sections py:if=s[2] class=btn a href=#${s[1]} title=${s[3]} i class=${s[4]}/i ${s[0]}
svn commit: r1419751 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html
Author: gjm Date: Mon Dec 10 20:47:37 2012 New Revision: 1419751 URL: http://svn.apache.org/viewvc?rev=1419751view=rev Log: remove redundant metanav items from mainnav dropdown - towards #188 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html?rev=1419751r1=1419750r2=1419751view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Mon Dec 10 20:47:37 2012 @@ -198,7 +198,8 @@ ul py:if=chrome.nav.mainnav or chrome.nav.metanav class=nav nav-tabs pull-right id=mainnav -py:with=mainnav_show = ('wiki', 'tickets', 'browser') +py:with=mainnav_show = ('wiki', 'tickets', 'browser'); +metanav_hide = ('login', 'logout', 'prefs', 'help', 'about') !-- TODO: Parameterize visible mainnav items in trac.ini -- li py:if=chrome.nav.mainnav py:for=idx, item in enumerate(i for i in chrome.nav.mainnav if i.name in mainnav_show) @@ -212,6 +213,7 @@ py:if test=chrome.nav.metanav li class=divider/li li py:for=idx, item in enumerate(chrome.nav.metanav) +py:if=item.name not in metanav_hide class=${classes(first_last(idx, chrome.nav.metanav), active=item.active)} ${item.label} /li
svn commit: r1415755 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/default-pages/BloodhoundWidgets
Author: gjm Date: Fri Nov 30 17:30:34 2012 New Revision: 1415755 URL: http://svn.apache.org/viewvc?rev=1415755view=rev Log: adding initial version of wiki documentation for widgets - towards #139 Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/default-pages/BloodhoundWidgets Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/default-pages/BloodhoundWidgets URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/default-pages/BloodhoundWidgets?rev=1415755view=auto == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/default-pages/BloodhoundWidgets (added) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/default-pages/BloodhoundWidgets Fri Nov 30 17:30:34 2012 @@ -0,0 +1,323 @@ += Bloodhound widgets = + +[[PageOutline]] + +[http://issues.apache.org/bloodhound Bloodhound] widgets are plugins to extend the Trac engine with custom visual components written in Python. They are designed to insert dynamic HTML data in any given context so as to display summarized information in a reduced space. Therefore they are a generalization of WikiMacros and WikiProcessors as it is possible to rewrite them all using [#API Bloodhound Widgets API]. Nonetheless the later are not aimed at replacing any of the former as they are still used to [#WikiFormatting insert widgets using WikiFormatting]. Widgets development is recommended rather than macros due to their advantages. + +== Anatomy of a widget #overview + +Widgets are designed to look like a small version of a web page. From the top to the bottom and from left to right the visual representation of a widget consists of the following parts. + + - '''Title''' briefly describing what are widget contents about. + - '''Context navigation links''' pointing to pages where +users can find related information. + - '''Alternate download links''' included in ''Download'' drop down +menu allow users to download widget data in different formats. + - '''Contents pane''' is the area where widget contents are rendered + - '''Pagination links''' is displayed when there is a huge dataset +involved and only part of it can be displayed. They allow users to +request information in case they are interested in further details. + +=== Widget parameters #parameters + +Widget visualization may be customized by specifying arguments. For instance, in order to insert a widget displaying the results of a ticket report it is mandatory to provide the identifier of the target report. This is an example of a '''required parameter'''. If a value is not provided for this kind of parameters then an [#error_handling error message] is displayed. On the other hand '''optional parameters''' are those that may be ignored either because they are related to a minor characteristic or a value can be considered by default under certain circumstances. The line between both groups might be fuzzy sometimes because it is possible that an ''optional parameter'' may be required depending on the values set to other parameters, the state of widget rendering context , and maybe other factors. + +All parameters mentioned above have certain meaning for a particular widget. There is another set of parameters used to customize its look and feel and other aspect present in all widgets. They are known as '''meta-parameters'''. At present they are the following : + + - '''altlinks''' is a boolean parameter controlling whether widget alternate +download links will be visible or hidden. + - '''ctxtnav''' is a boolean parameter controlling whether widget context +navigation links will be visible or hidden. + - '''id''' consisiting of an identifier for ''DOM'' element container + - '''title''' parameter may be used to display a user-defined title +rather than the one shown by default. + +There is no collision between parameters and meta-parameters. Hence, for instance, it's possible for a widget to accept an argument named ''title'' even if there is a meta-parameter with the same name. + +=== Widget context #context + +It is very important to mention that widgets can take advantage of context information used to render parent web page. For instance, ''Timeline'' widget is able to detect whether it is embedded in a page related to a resource. If so it filters events stream to show only those related to that resource. That's only an example of how smart a widget can be. + +== Using widgets #usage + +Widgets encourage extreme reuse of visual components. This means that its scope spans far beyond the boundaries of WikiFormatting, WikiMacros, and WikiProcessors. Therefore they are helpful for Trac users as well as plugin developers. Both use cases are documented in this section. + +=== Embedding widgets using Widget macro #WikiFormatting + +It's possible to embed widget contents
svn commit: r1415756 - in /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard: api.py util.py widgets/templates/widget_doc.html
Author: gjm Date: Fri Nov 30 17:32:56 2012 New Revision: 1415756 URL: http://svn.apache.org/viewvc?rev=1415756view=rev Log: adding a widget to display widgets docs - towards #139 (from olemis) Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_doc.html (with props) Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/api.py incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/util.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/api.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/api.py?rev=1415756r1=1415755r2=1415756view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/api.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/api.py Fri Nov 30 17:32:56 2012 @@ -28,9 +28,12 @@ __metaclass__ = type from datetime import date, time, datetime, timedelta from sys import version_info +from genshi.builder import tag + from trac.core import Component, ExtensionPoint, implements, \ Interface, TracError from trac.perm import IPermissionRequestor +from trac.resource import get_resource_url, Resource, resource_exists from trac.util.compat import set from trac.util.datefmt import parse_date from trac.util.translation import _ @@ -95,7 +98,7 @@ class ILayoutProvider(Interface): class DashboardSystem(Component): -implements(IPermissionRequestor) +implements(IPermissionRequestor, IWidgetProvider) widget_providers = ExtensionPoint(IWidgetProvider) layout_providers = ExtensionPoint(ILayoutProvider) @@ -106,7 +109,136 @@ class DashboardSystem(Component): # 'DASHBOARD_CREATE', 'DASHBOARD_EDIT' = Coming soon ;) ] +# IWidgetProvider methods + +def get_widgets(self): +List the name of the widgets that will always be available + +yield 'WidgetDoc' + +def get_widget_description(self, name): +Return plain text description of the widget with specified name. + +try: +return { +'WidgetDoc' : Display widget documentation +}[name] +except KeyError: +raise InvalidIdentifier('Widget name MUST match any of ' + +', '.join(self.get_widgets()), +title='Invalid widget identifier') + +def get_widget_params(self, name): +Return a dictionary describing wigdet preference for the widget +with specified name. Used to customize widget behavior. + +try: +return { +'WidgetDoc' : { +'urn' : { +'desc' : Widget name. If missing then +documentation for all widgets +will be displayed. +} +} + }[name] +except KeyError: +raise InvalidIdentifier('Widget name MUST match any of ' + +', '.join(self.get_widgets()), +title='Invalid widget identifier') + +def render_widget(self, name, context, options): +Render widget considering given options. + +if name == 'WidgetDoc': +widget_name, = self.bind_params(options, +self.get_widget_params(name), 'urn') +if widget_name is not None: +try: +providers = [([widget_name], +self.resolve_widget(widget_name))] +except LookupError: +return 'widget_alert.html', { +'title' : _('Widget documentation'), +'data' : { +'msglabel' : 'Alert', +'msgbody' : 'Unknown identifier', +'msgdetails' : [ +('Widget name', widget_name) +] + } +}, context +else: +providers = [(provider.get_widgets(), provider) \ +for provider in self.widget_providers] +metadata = [self._prepare_doc_metadata(self.widget_metadata(wnm, p)) \ +for widgets, p in providers for wnm in widgets] +docs_resource = Resource('wiki', 'BloodhoundWidgets') +insert_docs = resource_exists(self.env, docs_resource) and \ +not (context.resource and \ +docs_resource == context.resource) +return 'widget_doc.html', { +'title' : _('Widget documentation
svn commit: r1415767 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/admin.py
Author: gjm Date: Fri Nov 30 17:54:44 2012 New Revision: 1415767 URL: http://svn.apache.org/viewvc?rev=1415767view=rev Log: add wiki pages in our default-pages directory to wiki on 'wiki bh-upgrade' - for #283 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/admin.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/admin.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/admin.py?rev=1415767r1=1415766r2=1415767view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/admin.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/admin.py Fri Nov 30 17:54:44 2012 @@ -23,6 +23,7 @@ rProject dashboard for Apache(TM) Blo Administration commands for Bloodhound Dashboard. +import pkg_resources from trac.admin.api import IAdminCommandProvider, AdminCommandError from trac.core import Component, implements @@ -82,6 +83,9 @@ class BloodhoundAdmin(Component): comment = 'Bloodhound guide update' redirection.save('bloodhound', comment, '0.0.0.0') self._do_wiki_rename_links('TracGuideToc', 'UserGuideToc') + +pages = pkg_resources.resource_filename('bhdashboard', 'default-pages') +wiki_admin.load_pages(pages, create_only=['WikiStart', 'InterMapTxt']) def _do_wiki_rename_links(self, old_name, new_name): import re
svn commit: r1415169 - in /incubator/bloodhound/trunk/bloodhound_dashboard: bhdashboard/layouts/templates/widget_macros.html bhdashboard/templates/widget.html bhdashboard/templates/widget_macros.html
Author: gjm Date: Thu Nov 29 14:07:47 2012 New Revision: 1415169 URL: http://svn.apache.org/viewvc?rev=1415169view=rev Log: macros for widgets - towards #138 Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget.html (with props) incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget_macros.html - copied unchanged from r1415108, incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/templates/widget_macros.html incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/wiki.py (with props) Removed: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/layouts/templates/widget_macros.html Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py incubator/bloodhound/trunk/bloodhound_dashboard/setup.py Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget.html?rev=1415169view=auto == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget.html (added) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget.html Thu Nov 29 14:07:47 2012 @@ -0,0 +1,33 @@ +!--! + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + License); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +-- + +html +xmlns=http://www.w3.org/1999/xhtml; +xmlns:py=http://genshi.edgewall.org/; +xmlns:xi=http://www.w3.org/2001/XInclude; +xmlns:bh=http://issues.apache.org/bloodhound/wiki/Ui/Dashboard; +py:strip= + xi:include href=widget_macros.html / + + bh:widget id=${id or None} urn=$widget py:attrs=opts or {} +bh:args + bh:arg name=$argnm py:for=argnm, value in args.iteritems()$value/bh:arg +/bh:args + /bh:widget +/html Propchange: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget.html -- svn:eol-style = native Propchange: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/widget.html -- svn:mime-type = text/html Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py?rev=1415169r1=1415168r2=1415169view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py Thu Nov 29 14:07:47 2012 @@ -286,6 +286,13 @@ class DashboardModule(Component): 'altlinks' : w.get('altlinks', True) and data.get('altlinks') or None}] \ for k, w, (template, data, wctx) in data_strm) +def alert_disabled(self): +return tag.div(tag.span('Error', class_='label label-important'), + ' Could not load dashboard. Is ', + tag.code('bhdashboard.web_ui.DashboardModule'), + ' component disabled ?', + class_='alert alert-error') + #-- #Dashboard Helpers to be used in templates #-- Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/wiki.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/wiki.py?rev=1415169view=auto == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/wiki.py (added) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/wiki.py Thu Nov 29 14:07:47 2012 @@ -0,0 +1,93 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership
svn commit: r1413964 - /incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py
Author: gjm Date: Tue Nov 27 01:06:37 2012 New Revision: 1413964 URL: http://svn.apache.org/viewvc?rev=1413964view=rev Log: fixing wrong permission in rendering product description - fixes #254 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py?rev=1413964r1=1413963r2=1413964view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py Tue Nov 27 01:06:37 2012 @@ -168,7 +168,7 @@ class MultiProductSystem(Component): href = context.href.products(product.prefix) if 'PRODUCT_VIEW' in context.perm(product.resource): return tag.a(label, class_='product', href=href + extra) -elif 'MILESTONE_CREATE' in context.perm('product', name): +elif 'PRODUCT_CREATE' in context.perm('product', name): return tag.a(label, class_='missing product', href=context.href('products', action='new'), rel='nofollow')
svn commit: r1413972 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_view.html
Author: gjm Date: Tue Nov 27 02:10:53 2012 New Revision: 1413972 URL: http://svn.apache.org/viewvc?rev=1413972view=rev Log: use enhanced attachment list in wiki pages - #251 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_view.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_view.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_view.html?rev=1413972r1=1413971r2=1413972view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_view.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_wiki_view.html Tue Nov 27 02:10:53 2012 @@ -95,7 +95,7 @@ /div div class=span12 -xi:include href=list_of_attachments.html +xi:include href=bh_list_of_attachments.html py:with=alist = attachments; compact = True; foldable = True/ /div
svn commit: r1412030 - in /incubator/bloodhound/trunk: bloodhound_dashboard/setup.py bloodhound_multiproduct/setup.py bloodhound_theme/setup.py
Author: gjm Date: Wed Nov 21 09:43:18 2012 New Revision: 1412030 URL: http://svn.apache.org/viewvc?rev=1412030view=rev Log: updating package versions to match next expected release version number - for #160 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/setup.py incubator/bloodhound/trunk/bloodhound_multiproduct/setup.py incubator/bloodhound/trunk/bloodhound_theme/setup.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/setup.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/setup.py?rev=1412030r1=1412029r2=1412030view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/setup.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/setup.py Wed Nov 21 09:43:18 2012 @@ -29,7 +29,9 @@ Add custom dashboards in multiple pages versions = [ -(1, 0, 0), +(0, 1, 0), +(0, 2, 0), +(0, 3, 0), ] latest = '.'.join(str(x) for x in versions[-1]) Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/setup.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/setup.py?rev=1412030r1=1412029r2=1412030view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/setup.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/setup.py Wed Nov 21 09:43:18 2012 @@ -21,7 +21,7 @@ from setuptools import setup setup( name = 'BloodhoundMultiProduct', -version = '0.0.1', +version = '0.3.0', packages = ['multiproduct', 'multiproduct.ticket', 'tests',], package_data = {'multiproduct' : ['templates/*.html',]}, entry_points = {'trac.plugins': [ Modified: incubator/bloodhound/trunk/bloodhound_theme/setup.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/setup.py?rev=1412030r1=1412029r2=1412030view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/setup.py (original) +++ incubator/bloodhound/trunk/bloodhound_theme/setup.py Wed Nov 21 09:43:18 2012 @@ -22,7 +22,7 @@ from setuptools import setup setup( name = 'BloodhoundTheme', - version = '1.0.1', + version = '0.3.0', description = Look and feel of Bloodhound issue tracker, license = Apache License v2, keywords = trac plugin theme bloodhound,
svn commit: r1411625 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js
Author: gjm Date: Tue Nov 20 11:43:01 2012 New Revision: 1411625 URL: http://svn.apache.org/viewvc?rev=1411625view=rev Log: add appropriate stickybox height offset to get to right location when clicking page anchor links - fixes #167 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js?rev=1411625r1=1411624r2=1411625view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Tue Nov 20 11:43:01 2012 @@ -112,16 +112,31 @@ function setup_sticky_panel(selector) { var $spy = $(this); $spy.affix( { 'offset' : $spy.position().top } ) }); - target.parent('.stickyBox').height(target.height()); - target = null; + var h = target.height(); + target.parent('.stickyBox').height(h); + + // Create style tag to fix anchor position + function _sticky_offset_rules(_h) { +return '.stickyBox~* form[id], .stickyBox~* div[id] { margin-top:-' + + _h + 'px; padding-top: ' + _h + 'px } ' + + '.stickyBox, .stickyBox [id] { margin-top: 0px ; padding-top: 0px }'; + } + $('style id=sticky-offset / ').text( _sticky_offset_rules(h) ) + .appendTo('head'); + + target = h = null; $(window).on('scroll.affix.data-api', function() { var affix_data = $(selector).data('affix'); var target = $(selector); - if (affix_data !affix_data.affixed) -target.parent('.stickyBox').height(target.height()); - else + if (affix_data !affix_data.affixed) { +var h = target.height(); +target.parent('.stickyBox').height(h); +$('style#sticky-offset').text(_sticky_offset_rules(h)) + } + else { target.parent('.stickyBox').css('height', ''); + } }) }
svn commit: r1411631 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py
Author: gjm Date: Tue Nov 20 11:58:59 2012 New Revision: 1411631 URL: http://svn.apache.org/viewvc?rev=1411631view=rev Log: disables timeline.css - towards #226 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1411631r1=1411630r2=1411631view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Tue Nov 20 11:58:59 2012 @@ -186,7 +186,6 @@ class TimelineWidget(WidgetBase): else: merge_links(srcreq=fakereq, dstreq=req, exclude=[stylesheet, alternate]) -add_stylesheet(req, 'dashboard/css/timeline.css') data['today'] = today = datetime.now(req.tz) data['yesterday'] = today - timedelta(days=1) data['context'] = context
svn commit: r1411353 - /incubator/bloodhound/trunk/trac/trac/TRAC_VERSION
Author: gjm Date: Mon Nov 19 18:53:50 2012 New Revision: 1411353 URL: http://svn.apache.org/viewvc?rev=1411353view=rev Log: updating Trac version - fixes #253 Modified: incubator/bloodhound/trunk/trac/trac/TRAC_VERSION Modified: incubator/bloodhound/trunk/trac/trac/TRAC_VERSION URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/TRAC_VERSION?rev=1411353r1=1411352r2=1411353view=diff == --- incubator/bloodhound/trunk/trac/trac/TRAC_VERSION (original) +++ incubator/bloodhound/trunk/trac/trac/TRAC_VERSION Mon Nov 19 18:53:50 2012 @@ -1 +1 @@ -0.13dev-r11046 \ No newline at end of file +1.0
svn commit: r1409747 - in /incubator/bloodhound/trunk: bloodhound_dashboard/setup.py installer/requirements-dev.txt installer/requirements.txt
Author: gjm Date: Thu Nov 15 12:01:50 2012 New Revision: 1409747 URL: http://svn.apache.org/viewvc?rev=1409747view=rev Log: updating requirements files to reduce dependence on trac-hacks. Also fixes missing default-pages directory for non-dev install - towards #161 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/setup.py incubator/bloodhound/trunk/installer/requirements-dev.txt incubator/bloodhound/trunk/installer/requirements.txt Modified: incubator/bloodhound/trunk/bloodhound_dashboard/setup.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/setup.py?rev=1409747r1=1409746r2=1409747view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/setup.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/setup.py Thu Nov 15 12:01:50 2012 @@ -94,7 +94,7 @@ PKG_INFO = {'bhdashboard' : ('bhdashboar '../NOTICE', '../README', '../TESTING_README', 'htdocs/*.*', 'htdocs/css/*.css', 'htdocs/img/*.*', 'htdocs/js/*.js', - 'templates/*'], + 'templates/*', 'default-pages/*'], ), 'bhdashboard.widgets' : ('bhdashboard/widgets', # Package dir # Package data Modified: incubator/bloodhound/trunk/installer/requirements-dev.txt URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/installer/requirements-dev.txt?rev=1409747r1=1409746r2=1409747view=diff == --- incubator/bloodhound/trunk/installer/requirements-dev.txt (original) +++ incubator/bloodhound/trunk/installer/requirements-dev.txt Thu Nov 15 12:01:50 2012 @@ -22,8 +22,8 @@ Genshi -e ../trac -e svn+https://trac-hacks.org/svn/accountmanagerplugin/0.11#egg=TracAccountManager -e ../bloodhound_multiproduct --e svn+https://trac-hacks.org/svn/themeengineplugin/0.11#egg=TracThemeEngine +TracThemeEngine -e ../bloodhound_dashboard -e ../bloodhound_theme --e svn+https://trac-hacks.org/svn/permredirectplugin/0.11#egg=TracPermRedirect +TracPermRedirect Modified: incubator/bloodhound/trunk/installer/requirements.txt URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/installer/requirements.txt?rev=1409747r1=1409746r2=1409747view=diff == --- incubator/bloodhound/trunk/installer/requirements.txt (original) +++ incubator/bloodhound/trunk/installer/requirements.txt Thu Nov 15 12:01:50 2012 @@ -19,11 +19,11 @@ Pygments pytz Babel Genshi --e svn+https://svn.apache.org/repos/asf/incubator/bloodhound/trunk/trac#egg=Trac --e svn+https://trac-hacks.org/svn/accountmanagerplugin/0.11#egg=TracAccountManager --e svn+https://svn.apache.org/repos/asf/incubator/bloodhound/trunk/bloodhound_multiproduct#egg=BloodhoundMultiProduct --e svn+https://trac-hacks.org/svn/themeengineplugin/0.11#egg=TracThemeEngine --e svn+https://svn.apache.org/repos/asf/incubator/bloodhound/trunk/bloodhound_dashboard#egg=BloodhoundDashboardPlugin --e svn+https://svn.apache.org/repos/asf/incubator/bloodhound/trunk/bloodhound_theme#egg=BloodhoundTheme --e svn+https://trac-hacks.org/svn/permredirectplugin/0.11#egg=TracPermRedirect +../trac +svn+https://trac-hacks.org/svn/accountmanagerplugin/0.11#egg=TracAccountManager +../bloodhound_multiproduct +TracThemeEngine +../bloodhound_dashboard +../bloodhound_theme +TracPermRedirect
svn commit: r1409197 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py
Author: gjm Date: Wed Nov 14 13:38:56 2012 New Revision: 1409197 URL: http://svn.apache.org/viewvc?rev=1409197view=rev Log: fix processing of attachment events in activity widget - towards #250 - based on a patch from olemis Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1409197r1=1409196r2=1409197view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Wed Nov 14 13:38:56 2012 @@ -348,7 +348,10 @@ class TicketFieldTimelineFilter(Componen getattr(context, '_ticket_cache', None) or {} for t in ticket_ids: if isinstance(t, Resource): -t = t.id +if event[0] != 'attachment': +t = t.id +else: +t = t.parent.id if isinstance(t, (int, basestring)): t = ticket_cache.get(t) or Ticket(self.env, t) if field_name == 'ticket':
svn commit: r1409272 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_ticket_change.html
Author: gjm Date: Wed Nov 14 17:43:39 2012 New Revision: 1409272 URL: http://svn.apache.org/viewvc?rev=1409272view=rev Log: hiding comment edit and reply controls on desktops to show on row hover - towards #182 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_change.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1409272r1=1409271r2=1409272view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Wed Nov 14 17:43:39 2012 @@ -439,6 +439,20 @@ input[type=submit].btn.btn-micro { display: none !important; } +.hidden-desktop { + display: none !important; +} + +.visible-desktop-hover:hover .hidden-desktop { + display: inherit !important; +} + +@media (max-width: 979px) { + .hidden-desktop { +display: inherit !important; + } +} + /* Revert some changes introduced in 2.1.0 */ h6 { Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_change.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_change.html?rev=1409272r1=1409271r2=1409272view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_change.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_change.html Wed Nov 14 17:43:39 2012 @@ -49,7 +49,7 @@ Arguments: py:def function=commentref(prefix, cnum, cls=None) a href=#comment:$cnum class=$cls$prefix$cnum/a /py:def - div class=row + div class=row visible-desktop-hover div class=span2 h6 style=margin-left: 0px; margin-top:10px; py:choose @@ -82,7 +82,7 @@ Arguments: /div div class=offset2 h4 class=change - div py:if=show_buttons class=pull-right bh-ticket-buttons + div py:if=show_buttons class=pull-right bh-ticket-buttons hidden-desktop form py:if='cnum' in change and can_edit_comment method=get style=display:inline action=#comment:${cnum} div class=inlinebuttons
svn commit: r1409281 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py
Author: gjm Date: Wed Nov 14 18:16:14 2012 New Revision: 1409281 URL: http://svn.apache.org/viewvc?rev=1409281view=rev Log: modifies the dashboard queries to order by milestone - #225 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py?rev=1409281r1=1409280r2=1409281view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/web_ui.py Wed Nov 14 18:16:14 2012 @@ -193,10 +193,10 @@ class DashboardModule(Component): None, {'args' : { 'max' : 10, -'query' : 'status=!closedgroup=time' \ -'col=idcol=summarycol=owner' \ +'query' : 'status=!closedgroup=milestone'\ +'col=idcol=summarycol=owner' \ 'col=statuscol=priority' \ -'order=prioritygroupdesc=1desc=1', +'order=prioritydesc=1', 'title' : 'Active Tickets'}}], 'altlinks' : False }, @@ -206,10 +206,10 @@ class DashboardModule(Component): None, {'args' : { 'max' : 10, -'query' : 'status=!closedgroup=time' \ -'col=idcol=summarycol=owner' \ +'query' : 'status=!closedgroup=milestone'\ +'col=idcol=summarycol=owner' \ 'col=statuscol=priority' \ -'order=prioritygroupdesc=1desc=1' \ +'order=prioritydesc=1' \ 'owner=$USER', 'title' : 'My Tickets'} }],
svn commit: r1409290 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Wed Nov 14 18:40:53 2012 New Revision: 1409290 URL: http://svn.apache.org/viewvc?rev=1409290view=rev Log: make attachment link in scrollspy consistent with availability of the section - fixes #247 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1409290r1=1409289r2=1409290view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Nov 14 18:40:53 2012 @@ -175,7 +175,7 @@ div class=navbar visible-affix py:if=ticket.exists py:with=sections = ( (_('Overview'), 'content', True, _('View ticket fields and description'), 'icon-list'), -(_('Attachments'), 'attachments', True, _('Go to the list of attachments'), 'icon-file'), +(_('Attachments'), 'attachments', attachments.attachments or attachments.can_create, _('Go to the list of attachments'), 'icon-file'), (_('Comments'), 'changelog', True, _('Go to the changelog'), 'icon-comment'), (_('Add comment'), 'propertyform', ticket.exists and can_append, _('Go to the ticket editor'), 'icon-plus-sign'), (_('Modify Ticket'), 'modify', can_modify or can_edit or can_create, _('Modify ticket fields and description'), 'icon-edit'),
svn commit: r1408740 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Tue Nov 13 14:17:56 2012 New Revision: 1408740 URL: http://svn.apache.org/viewvc?rev=1408740view=rev Log: fix radio field labels by stopping the stripping of the label element - towards #207 (from andrej) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1408740r1=1408739r2=1408740view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Nov 13 14:17:56 2012 @@ -369,7 +369,7 @@ ${ticket.description}/textarea py:with=value = ticket.get_value_or_default(field.name) th class=col${idx + 1} py:if=idx == 0 or not fullrow label for=field-${field.name} py:if=field - py:strip=field.type == 'radio' i18n:msg=field${ + i18n:msg=field${ field.edit_label or field.label or field.name}:/label /th td class=col${idx + 1} py:if=idx == 0 or not fullrow
svn commit: r1408753 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Tue Nov 13 14:34:24 2012 New Revision: 1408753 URL: http://svn.apache.org/viewvc?rev=1408753view=rev Log: add .checkbox and .inline to radio button controls to get them rendering in rows instead of a single column - for #208 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1408753r1=1408752r2=1408753view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Tue Nov 13 14:34:24 2012 @@ -397,7 +397,7 @@ ${value}/textarea checked=${value == '1' or None} value=1 / input type=hidden name=field_checkbox_${field.name} value=1 / /span - label py:when='radio' + label py:when='radio' class=checkbox inline py:for=idx, option in enumerate(field.options) input type=radio name=field_${field.name} value=${option} checked=${value == option or None} /
svn commit: r1408312 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/jquery-1.7.1.min.js
Author: gjm Date: Mon Nov 12 14:58:12 2012 New Revision: 1408312 URL: http://svn.apache.org/viewvc?rev=1408312view=rev Log: removing redundant minified jquery - towards #255 Removed: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/jquery-1.7.1.min.js
svn commit: r1404931 - /incubator/bloodhound/trunk/trac/trac/ticket/api.py
Author: gjm Date: Fri Nov 2 11:55:12 2012 New Revision: 1404931 URL: http://svn.apache.org/viewvc?rev=1404931view=rev Log: updating Trac to allow ticket fields to store references to resources using a different primary key than the name - #towards #110 Modified: incubator/bloodhound/trunk/trac/trac/ticket/api.py Modified: incubator/bloodhound/trunk/trac/trac/ticket/api.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/ticket/api.py?rev=1404931r1=1404930r2=1404931view=diff == --- incubator/bloodhound/trunk/trac/trac/ticket/api.py (original) +++ incubator/bloodhound/trunk/trac/trac/ticket/api.py Fri Nov 2 11:55:12 2012 @@ -165,6 +165,7 @@ class ITicketFieldProvider(Interface): (rank, field) where field is a dictionary that defines: * name: the field name +* pk: the primary key of the field table * label: the label to display, preferably wrapped with N_() * cls: the model describing the field the following keys can also usefully be defined: @@ -344,7 +345,10 @@ class TicketSystem(Component): for rank, field in selects: cls = field['cls'] name = field['name'] -options = [val.name for val in cls.select(self.env, db=db)] +pk_field = field.get('pk', 'name') +options = [getattr(val, pk_field) + for val in cls.select(self.env, db=db)] + if not options: # Fields without possible values are treated as if they didn't # exist
svn commit: r1404932 - in /incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct: api.py model.py
Author: gjm Date: Fri Nov 2 12:00:16 2012 New Revision: 1404932 URL: http://svn.apache.org/viewvc?rev=1404932view=rev Log: change trac tickets to link to product.prefix instead of product.name - includes a basic migration to update tickets from the old name references - towards #110 Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py?rev=1404932r1=1404931r2=1404932view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py Fri Nov 2 12:00:16 2012 @@ -33,7 +33,7 @@ from trac.web.chrome import ITemplatePro from multiproduct.model import Product -DB_VERSION = 1 +DB_VERSION = 2 DB_SYSTEM_KEY = 'bloodhound_multi_product_version' PLUGIN_NAME = 'Bloodhound multi product' @@ -102,6 +102,18 @@ class MultiProductSystem(Component): for statement in db_connector.to_sql(table): db(statement) db_installed_version = self.get_version() + +if db_installed_version == 1: +from multiproduct.model import Product +products = Product.select(self.env) +for prod in products: +db(UPDATE ticket SET product=%s + WHERE product=%s, (prod.prefix, prod.name)) + +db(UPDATE system SET value=%s + WHERE name=%s, (DB_VERSION, DB_SYSTEM_KEY)) +self.log.info(Upgraded multiproduct db schema from version %d + to %d % (db_installed_version, DB_VERSION)) # ITemplateProvider methods def get_templates_dirs(self): @@ -122,7 +134,7 @@ class MultiProductSystem(Component): def get_select_fields(self): Product select fields return [(35, {'name': 'product', 'label': N_('Product'), - 'cls': Product, 'optional': True})] + 'cls': Product, 'pk': 'prefix', 'optional': True})] def get_radio_fields(self): Product radio fields Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py?rev=1404932r1=1404931r2=1404932view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py Fri Nov 2 12:00:16 2012 @@ -273,9 +273,8 @@ class Product(ModelBase): now = datetime.now(utc) comment = 'Product %s renamed to %s' % (old_name, new_name) if old_name != new_name: -for t in Product.get_tickets(self._env, old_name): +for t in Product.get_tickets(self._env, self._data['prefix']): ticket = Ticket(self._env, t['id'], db) -ticket['product'] = new_name ticket.save_changes(author, comment, now) @classmethod
svn commit: r1404956 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html
Author: gjm Date: Fri Nov 2 12:52:23 2012 New Revision: 1404956 URL: http://svn.apache.org/viewvc?rev=1404956view=rev Log: update the queries on the product pages to reflect the change from product.name to product.prefix on tickets - towards #110 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html?rev=1404956r1=1404955r2=1404956view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html Fri Nov 2 12:52:23 2012 @@ -78,7 +78,7 @@ bh:widget urn=TicketQuery bh:args bh:arg name=max10/bh:arg -bh:arg name=queryproduct=${product.name}amp;status=!closedamp;group=timeamp;col=idamp;col=summaryamp;col=owneramp;col=statusamp;col=priorityamp;order=priorityamp;groupdesc=1amp;desc=1/bh:arg +bh:arg name=queryproduct=${product.prefix}amp;status=!closedamp;group=timeamp;col=idamp;col=summaryamp;col=owneramp;col=statusamp;col=priorityamp;order=priorityamp;groupdesc=1amp;desc=1/bh:arg bh:arg name=titleActive tickets/bh:arg /bh:args /bh:widget @@ -86,14 +86,14 @@ bh:args bh:arg name=fieldversion/bh:arg bh:arg name=verbosetrue/bh:arg -bh:arg name=queryproduct=${product.name}amp;group=version/bh:arg +bh:arg name=queryproduct=${product.prefix}amp;group=version/bh:arg /bh:args /bh:widget bh:widget urn=TicketFieldValues bh:args bh:arg name=fieldcomponent/bh:arg bh:arg name=verbosetrue/bh:arg -bh:arg name=queryproduct=${product.name}amp;group=component/bh:arg +bh:arg name=queryproduct=${product.prefix}amp;group=component/bh:arg /bh:args /bh:widget /py:def
svn commit: r1404957 - /incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py
Author: gjm Date: Fri Nov 2 12:58:04 2012 New Revision: 1404957 URL: http://svn.apache.org/viewvc?rev=1404957view=rev Log: change product to return resources giving the prefix instead of the name - towards #110 Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py?rev=1404957r1=1404956r2=1404957view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/model.py Fri Nov 2 12:58:04 2012 @@ -246,7 +246,7 @@ class Product(ModelBase): @property def resource(self): Allow Product to be treated as a Resource -return Resource('product', self.name) +return Resource('product', self.prefix) def delete(self, resources_to=None): override the delete method so that we can move references to this
svn commit: r1404963 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: templates/bh_path_ticket.html theme.py
Author: gjm Date: Fri Nov 2 13:58:03 2012 New Revision: 1404963 URL: http://svn.apache.org/viewvc?rev=1404963view=rev Log: adding a breadcrumb to the ticket view with links to dashboard views based on view resource view permissions - towards #249 Added: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_path_ticket.html (with props) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Added: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_path_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_path_ticket.html?rev=1404963view=auto == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_path_ticket.html (added) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_path_ticket.html Fri Nov 2 13:58:03 2012 @@ -0,0 +1,44 @@ +!--! + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + License); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +-- + +div xmlns=http://www.w3.org/1999/xhtml; + xmlns:py=http://genshi.edgewall.org/; + xmlns:i18n=http://genshi.edgewall.org/i18n; + xmlns:xi=http://www.w3.org/2001/XInclude; +py:strip= + li py:if=bhdb +a title=View the dashboard href=${href.dashboard()}Dashboard/a +span class=divider//span + /li + li py:if=ticket.product py:with=prodlink = path_show_product and href.products(ticket.product) or href.query(product=ticket['product'], active='!closed') +a title=Active tickets for product ${ticket.product} +href=${prodlink} + ${ticket.product} +/a +span class=divider//span + /li + li py:if=ticket.milestone py:with=mslink = path_show_milestone and href.milestone(ticket.milestone) or href.query(milestone=ticket['milestone'], active='!closed') +a title=Active tickets in milestone ${ticket.milestone} +href=${mslink} + ${ticket.milestone} +/a +span class=divider//span + /li + lispanTicket #${ticket.id}/span/li +/div Propchange: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_path_ticket.html -- svn:eol-style = native Propchange: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_path_ticket.html -- svn:mime-type = text/html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py?rev=1404963r1=1404962r2=1404963view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Fri Nov 2 13:58:03 2012 @@ -21,6 +21,7 @@ from genshi.filters.transform import Tra from trac.core import * from trac.mimeview.api import get_mimetype +from trac.resource import Resource from trac.ticket.api import TicketSystem from trac.ticket.model import Ticket from trac.ticket.notification import TicketNotifyEmail @@ -94,7 +95,7 @@ class BloodhoundTheme(ThemeBase): 'report_edit.html' : ('bh_report_edit.html', None), 'report_list.html' : ('bh_report_list.html', None), 'report_view.html' : ('bh_report_view.html', None), -'ticket.html' : ('bh_ticket.html', '_modify_scrollspy'), +'ticket.html' : ('bh_ticket.html', '_modify_ticket'), 'ticket_preview.html' : ('bh_ticket_preview.html', None), # Multi Product @@ -224,6 +225,18 @@ class BloodhoundTheme(ThemeBase): add_stylesheet(req, 'dashboard/css/roadmap.css') +def _modify_ticket(self, req, template, data, content_type, is_active): +Insert Bootstrap scroll spy files. + +self._modify_scrollspy(req, template, data, content_type, is_active) +if data: +data['resourcepath_template'] = 'bh_path_ticket.html' +# determine path permissions +for resname, permname in [('milestone', 'MILESTONE_VIEW'), + ('product', 'PRODUCT_VIEW
svn commit: r1404964 - /incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py
Author: gjm Date: Fri Nov 2 14:01:33 2012 New Revision: 1404964 URL: http://svn.apache.org/viewvc?rev=1404964view=rev Log: adjust permission checking on product views to respect PRODUCT_VIEW on a per resource basis - towards #249 Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py?rev=1404964r1=1404963r2=1404964view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py Fri Nov 2 14:01:33 2012 @@ -137,6 +137,8 @@ class ProductModule(Component): req.perm.require('PRODUCT_VIEW') pid = req.args.get('productid', None) +if pid: +req.perm('product', pid).require('PRODUCT_VIEW') action = req.args.get('action', 'view') products = [p for p in Product.select(self.env)
svn commit: r1398842 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html
Author: gjm Date: Tue Oct 16 15:20:12 2012 New Revision: 1398842 URL: http://svn.apache.org/viewvc?rev=1398842view=rev Log: fix for missing keyword regression from #206 - fixes #236 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html?rev=1398842r1=1398841r2=1398842view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Tue Oct 16 15:20:12 2012 @@ -61,10 +61,10 @@ Arguments: /div /py:def - py:with vars=fields = [f for f in fields if not f.skip and f.name not in ('type', 'owner', 'keywords')]; - small_fields = [f for f in fields if f.type not in ('text', 'textarea') and f.name != 'cc']; - text_fields = [f for f in fields if f.type == 'text' or f.name == 'cc']; - area_fields = [f for f in fields if f.type == 'textarea']; + py:with vars=basefields = [f for f in fields if not f.skip and f.name not in ('type', 'owner', 'keywords')]; + small_fields = [f for f in basefields if f.type not in ('text', 'textarea') and f.name != 'cc']; + text_fields = [f for f in basefields if f.type == 'text' or f.name == 'cc']; + area_fields = [f for f in basefields if f.type == 'textarea']; _colcount = colcount or 6 div class=properties style=margin: 1.2em 0px py:with vars=_fields, csscls, count, fontsize, is_inline =
svn commit: r1398858 [5/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/
Modified: incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/el/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/el/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/el/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/el/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/messages-js.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/messages-js.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/messages-js.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/messages-js.po Tue Oct 16 15:55:00 2012 @@ -5,17 +5,17 @@ # msgid msgstr -Project-Id-Version: Trac 0.12\n +Project-Id-Version: Trac 1.0\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2010-05-24 23:55+0200\n -PO-Revision-Date: 2012-02-25 10:30+0100\n +POT-Creation-Date: 2012-09-02 08:26+0200\n +PO-Revision-Date: 2012-08-15 12:04+0100\n Last-Translator: Mikael Relbe mik...@relbe.se\n Language-Team: en_GB trac-...@googlegroups.com\n Plural-Forms: nplurals=2; plural=(n != 1)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.5\n +Generated-By: Babel 0.9.6\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) @@ -63,35 +63,116 @@ msgstr Fold directory msgid Show %(title)s msgstr Show %(title)s -#: trac/htdocs/js/folding.js:77 +#: trac/htdocs/js/folding.js:78 #, python-format msgid %(title)s (click to hide column) msgstr %(title)s (click to hide column) -#: trac/htdocs/js/query.js:131 +#. TRANSLATOR: Format in month heading in the datepicker, extracts yearSuffix +#. and showMonthAfterYear +#: trac/htdocs/js/jquery-ui-i18n.js:4 +msgid $month$year +msgstr $month$year + +#. TRANSLATOR: Link that closes the datepicker +#. TRANSLATOR: Link that closes the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:7 trac/htdocs/js/jquery-ui-i18n.js:39 +msgid Done +msgstr Done + +#. TRANSLATOR: Link to the previous month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:9 +msgid Prev +msgstr Prev + +#. TRANSLATOR: Link to the next month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:11 +msgid Next +msgstr Next + +#. TRANSLATOR: Link to the current day in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:13 +msgid Today +msgstr Today + +#. TRANSLATOR: Heading for the week-of-the-year column in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:20 +msgid Wk +msgstr Wk + +#. TRANSLATOR: Heading of the standalone timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:30 +msgid Choose Time +msgstr Choose Time + +#. TRANSLATOR: Time selector label +#: trac/htdocs/js/jquery-ui-i18n.js:32 +msgid Time +msgstr Time + +#.
svn commit: r1398858 [7/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/
Modified: incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/en_GB/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -1,21 +1,21 @@ # English (United Kingdom) translations for Trac. -# Copyright (C) 2011 Edgewall Software +# Copyright (C) 2012 Edgewall Software # This file is distributed under the same license as the Trac project. -# FIRST AUTHOR EMAIL@ADDRESS, 2011. +# Mikael Relbe (mrelbe) mik...@relbe.se, 2012 # msgid msgstr -Project-Id-Version: Trac 0.13\n +Project-Id-Version: Trac 1.0\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2011-02-23 13:05+0900\n -PO-Revision-Date: 2012-02-25 10:30+0100\n +POT-Creation-Date: 2012-09-02 08:26+0200\n +PO-Revision-Date: 2012-09-04 14:46+0100\n Last-Translator: Mikael Relbe mik...@relbe.se\n -Language-Team: en_GB l...@li.org\n +Language-Team: en_GB trac-...@googlegroups.com\n Plural-Forms: nplurals=2; plural=(n != 1)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.5\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/enscript.py:105 msgid Path to the Enscript executable. @@ -69,10 +69,56 @@ msgstr quality ratio used by the SilverCity render, which is 3\n (''since 0.10''). -#: tracopt/perm/authz_policy.py:133 +#: tracopt/perm/authz_policy.py:132 msgid Location of authz policy configuration file. msgstr Location of authz policy configuration file. +#: tracopt/perm/config_perm_provider.py:24 +msgid +This section provides a way to add arbitrary permissions to a\n +Trac environment. This can be useful for adding new permissions to use\n +for workflow actions, for example.\n +\n +To add new permissions, create a new section `[extra-permissions]` in\n +your `trac.ini`. Every entry in that section defines a meta-permission\n +and a comma-separated list of permissions. For example:\n +{{{\n +[extra-permissions]\n +extra_admin = extra_view, extra_modify, extra_delete\n +}}}\n +This entry will define three new permissions `EXTRA_VIEW`,\n +`EXTRA_MODIFY` and `EXTRA_DELETE`, as well as a meta-permissions\n +`EXTRA_ADMIN` that grants all three permissions.\n +\n +If you don't want a meta-permission, start the meta-name with an\n +underscore (`_`):\n +{{{\n +[extra-permissions]\n +_perms = extra_view, extra_modify\n +}}} +msgstr +This section provides a way to add arbitrary permissions to a\n +Trac environment. This can be useful for adding new permissions to use\n +for workflow actions, for example.\n +\n +To add new permissions, create a new section `[extra-permissions]` in\n +your `trac.ini`. Every entry in that section defines a meta-permission\n +and a comma-separated list of permissions. For example:\n +{{{\n +[extra-permissions]\n +extra_admin = extra_view, extra_modify, extra_delete\n +}}}\n +This entry will define three new permissions `EXTRA_VIEW`,\n +`EXTRA_MODIFY` and `EXTRA_DELETE`, as well as a meta-permissions\n +`EXTRA_ADMIN` that grants all three permissions.\n +\n +If you don't want a meta-permission, start the meta-name with an\n +underscore (`_`):\n +{{{\n +[extra-permissions]\n +_perms = extra_view, extra_modify\n +}}} + #: tracopt/ticket/commit_updater.py:107 msgid Require commands to be enclosed in an envelope.\n @@ -119,7 +165,196 @@ msgstr msgid Send ticket change notification when updating a ticket. msgstr Send ticket change notification when updating a ticket. -#: trac/attachment.py:386 +#: tracopt/versioncontrol/git/git_fs.py:169 +msgid Enable persistent caching of commit tree. +msgstr Enable persistent caching of commit tree. + +#: tracopt/versioncontrol/git/git_fs.py:172 +msgid Wrap `GitRepository` in `CachedRepository`. +msgstr Wrap `GitRepository` in `CachedRepository`. + +#: tracopt/versioncontrol/git/git_fs.py:175 +msgid +The length at which a sha1 should be abbreviated to (must\n +be = 4 and = 40). +msgstr +The length at which a sha1 should be abbreviated to (must\n +be = 4 and = 40). + +#: tracopt/versioncontrol/git/git_fs.py:180 +msgid +The minimum length of an hex-string for which\n +auto-detection as sha1 is performed (must be = 4 and = 40). +msgstr +The minimum length of an hex-string for which\n +auto-detection as sha1 is performed (must be = 4 and = 40). + +#: tracopt/versioncontrol/git/git_fs.py:185 +msgid +Enable reverse mapping of git email addresses to trac user ids\n +(costly if you have many users). +msgstr +Enable reverse mapping of git email addresses to trac user ids\n +(costly if you have many users). + +#: tracopt/versioncontrol/git/git_fs.py:189 +msgid +Use
svn commit: r1398858 [9/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/
Modified: incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/messages.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/messages.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/messages.po Tue Oct 16 15:55:00 2012 @@ -361,6 +361,7 @@ msgid Modify Component: msgstr تغÛÛر ٠ؤÙÙÙ #: trac/admin/templates/admin_components.html:42 +#, fuzzy msgid Description (you may use\n [1:WikiFormatting]\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/fa/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/fi/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/fi/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/fi/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/fi/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/messages-js.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/messages-js.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/messages-js.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/messages-js.po Tue Oct 16 15:55:00 2012 @@ -1,21 +1,21 @@ # French translations for Trac. -# Copyright (C) 2010 Edgewall Software +# Copyright (C) 2012 Edgewall Software # This file is distributed under the same license as the Trac project. -# Christian Boos cb...@neuf.fr, 2010. +# Christian Boos cb...@edgewall.org, 2010-2012. # msgid msgstr -Project-Id-Version: Trac 0.12\n +Project-Id-Version: Trac 1.0\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2012-02-10 02:32+0100\n +POT-Creation-Date: 2012-09-06 15:50+0200\n PO-Revision-Date: 2011-01-25 20:28+0100\n -Last-Translator: Christian Boos cb...@neuf.fr\n +Last-Translator: Christian Boos cb...@edgewall.org\n Language-Team: fr trac-...@googlegroups.com\n Plural-Forms: nplurals=2; plural=(n 1)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6\n +Generated-By: Babel 0.9.6dev-r0\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) @@ -63,35 +63,116 @@ msgstr Fermer le répertoire msgid Show %(title)s msgstr Voir %(title)s -#: trac/htdocs/js/folding.js:77 +#: trac/htdocs/js/folding.js:78 #, python-format msgid %(title)s (click to hide column) msgstr %(title)s (cliquer pour cacher la colonne) -#: trac/htdocs/js/query.js:131 +#. TRANSLATOR: Format in month heading in the datepicker, extracts yearSuffix +#. and
svn commit: r1398858 [11/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/
Modified: incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/fr/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -7,7 +7,7 @@ msgid msgstr Project-Id-Version: Trac 0.13\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2012-02-10 02:32+0100\n +POT-Creation-Date: 2012-09-06 15:50+0200\n PO-Revision-Date: 2011-02-23 22:27+0900\n Last-Translator: FULL NAME EMAIL@ADDRESS\n Language-Team: fr l...@li.org\n @@ -15,7 +15,7 @@ msgstr MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6\n +Generated-By: Babel 0.9.6dev-r0\n #: tracopt/mimeview/enscript.py:105 msgid Path to the Enscript executable. @@ -51,10 +51,35 @@ msgid (''since 0.10''). msgstr -#: tracopt/perm/authz_policy.py:133 +#: tracopt/perm/authz_policy.py:132 msgid Location of authz policy configuration file. msgstr +#: tracopt/perm/config_perm_provider.py:24 +msgid +This section provides a way to add arbitrary permissions to a\n +Trac environment. This can be useful for adding new permissions to use\n +for workflow actions, for example.\n +\n +To add new permissions, create a new section `[extra-permissions]` in\n +your `trac.ini`. Every entry in that section defines a meta-permission\n +and a comma-separated list of permissions. For example:\n +{{{\n +[extra-permissions]\n +extra_admin = extra_view, extra_modify, extra_delete\n +}}}\n +This entry will define three new permissions `EXTRA_VIEW`,\n +`EXTRA_MODIFY` and `EXTRA_DELETE`, as well as a meta-permissions\n +`EXTRA_ADMIN` that grants all three permissions.\n +\n +If you don't want a meta-permission, start the meta-name with an\n +underscore (`_`):\n +{{{\n +[extra-permissions]\n +_perms = extra_view, extra_modify\n +}}} +msgstr + #: tracopt/ticket/commit_updater.py:107 msgid Require commands to be enclosed in an envelope.\n @@ -88,20 +113,145 @@ msgstr msgid Send ticket change notification when updating a ticket. msgstr -#: trac/attachment.py:386 +#: tracopt/versioncontrol/git/git_fs.py:169 +msgid Enable persistent caching of commit tree. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:172 +msgid Wrap `GitRepository` in `CachedRepository`. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:175 +msgid +The length at which a sha1 should be abbreviated to (must\n +be = 4 and = 40). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:180 +msgid +The minimum length of an hex-string for which\n +auto-detection as sha1 is performed (must be = 4 and = 40). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:185 +msgid +Enable reverse mapping of git email addresses to trac user ids\n +(costly if you have many users). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:189 +msgid +Use git-committer id instead of git-author id for the\n +changeset ''Author'' field. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:194 +msgid +Use git-committer timestamp instead of git-author timestamp\n +for the changeset ''Timestamp'' field. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:199 +msgid Define charset encoding of paths within git repositories. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:202 +msgid +Path to git executable (relative to the Trac configuration folder,\n +so better use an absolute path here). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:750 +msgid Path to a gitweb-formatted projects.list +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:753 +msgid Path to the base of your git projects +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:756 +#, python-format +msgid +Template for project URLs. %s will be replaced with the repo\n +name +msgstr + +#: tracopt/versioncontrol/svn/svn_fs.py:253 +msgid +Comma separated list of paths categorized as branches.\n +If a path ends with '*', then all the directory entries found below \n +that path will be included. \n +Example: `/trunk, /branches/*, /projectAlpha/trunk, /sandbox/*` +msgstr + +#: tracopt/versioncontrol/svn/svn_fs.py:260 +msgid +Comma separated list of paths categorized as tags.\n +\n +If a path ends with '*', then all the directory entries found below\n +that path will be included.\n +Example: `/tags/*, /projectAlpha/tags/A-1.0, /projectAlpha/tags/A-v1.1` +msgstr + +#: tracopt/versioncontrol/svn/svn_prop.py:37 +msgid +The TracBrowser for Subversion can interpret the `svn:externals`\n +property of folders. By default, it only turns the URLs into links as\n +Trac can't browse remote repositories.\n +\n +However, if you have another Trac instance (or an other repository\n
svn commit: r1398858 [18/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/
Modified: incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/messages.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/messages.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/messages.po Tue Oct 16 15:55:00 2012 @@ -3,6 +3,7 @@ # This file is distributed under the same license as the Trac project. # Jeroen Ruigrok van der Werven asmo...@in-nomine.org, 2007. # +#, fuzzy msgid msgstr Project-Id-Version: Trac 0.12\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/ko/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/messages-js.pot URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/messages-js.pot?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/messages-js.pot (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/messages-js.pot Tue Oct 16 15:55:00 2012 @@ -6,16 +6,16 @@ #, fuzzy msgid msgstr -Project-Id-Version: Trac 0.13\n +Project-Id-Version: Trac 1.0\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2012-02-10 02:32+0100\n +POT-Creation-Date: 2012-09-06 15:50+0200\n PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n Last-Translator: FULL NAME EMAIL@ADDRESS\n Language-Team: LANGUAGE l...@li.org\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6\n +Generated-By: Babel 0.9.6dev-r0\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) @@ -63,35 +63,116 @@ msgstr msgid Show %(title)s msgstr -#: trac/htdocs/js/folding.js:77 +#: trac/htdocs/js/folding.js:78 #, python-format msgid %(title)s (click to hide column) msgstr -#: trac/htdocs/js/query.js:131 +#. TRANSLATOR: Format in month heading in the datepicker, extracts yearSuffix +#. and showMonthAfterYear +#: trac/htdocs/js/jquery-ui-i18n.js:4 +msgid $month$year +msgstr + +#. TRANSLATOR: Link that closes the datepicker +#. TRANSLATOR: Link that closes the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:7 trac/htdocs/js/jquery-ui-i18n.js:39 +msgid Done +msgstr + +#. TRANSLATOR: Link to the previous month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:9 +msgid Prev +msgstr + +#. TRANSLATOR: Link to the next month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:11 +msgid Next +msgstr + +#. TRANSLATOR: Link to the current day in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:13 +msgid Today +msgstr + +#. TRANSLATOR: Heading for the week-of-the-year column in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:20 +msgid Wk +msgstr + +#. TRANSLATOR: Heading of the standalone timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:30 +msgid Choose Time +msgstr + +#. TRANSLATOR: Time selector label +#: trac/htdocs/js/jquery-ui-i18n.js:32 +msgid Time +msgstr + +#. TRANSLATOR: Time labels in the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:34 +msgid Hour +msgstr + +#: trac/htdocs/js/jquery-ui-i18n.js:34 +msgid Minute +msgstr + +#: trac/htdocs/js/jquery-ui-i18n.js:34 +msgid Second +msgstr + +#: trac/htdocs/js/jquery-ui-i18n.js:35 +msgid Time Zone +msgstr + +#. TRANSLATOR: Link to pick the current time in the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:37 +msgid Now +msgstr + +#: trac/htdocs/js/query.js:132 msgid A filter already exists for that property msgstr -#: trac/htdocs/js/query.js:158 +#: trac/htdocs/js/query.js:159 msgid or msgstr -#: trac/htdocs/js/query.js:177 +#: trac/htdocs/js/query.js:182
svn commit: r1398858 [20/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/
Modified: incubator/bloodhound/vendor/trac/current/trac/locale/nb/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/nb/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/nb/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/nb/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/nl/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/nl/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/nl/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/nl/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/messages.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/messages.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/messages.po Tue Oct 16 15:55:00 2012 @@ -3,6 +3,7 @@ # This file is distributed under the same license as the Trac project. # Jeroen Ruigrok van der Werven asmo...@in-nomine.org, 2008. # +#, fuzzy msgid msgstr Project-Id-Version: Trac 0.12\n @@ -4825,7 +4826,7 @@ msgstr Zatrzymaj siÄ po skopiowaniu #: trac/versioncontrol/templates/revisionlog.html:33 msgid Follow copies -msgstr PodÄ rzaj za kopiami +msgstr PodÄ Å¼aj za kopiami #: trac/versioncontrol/templates/revisionlog.html:39 msgid Show only adds and deletes Modified: incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/vendor/trac/current/trac/locale/pl/LC_MESSAGES/tracini.po Tue Oct 16 15:55:00 2012 @@ -264,9 +264,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/vendor/trac/current/trac/locale/pt/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/pt/LC_MESSAGES/tracini.po?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/locale/pt/LC_MESSAGES/tracini.po (original) +++
svn commit: r1398858 [31/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/
Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/tests/formatter.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/tests/formatter.py?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/wiki/tests/formatter.py (original) +++ incubator/bloodhound/vendor/trac/current/trac/wiki/tests/formatter.py Tue Oct 16 15:55:00 2012 @@ -8,20 +8,14 @@ import unittest try: from unittest.util import safe_repr -unittest.case.safe_repr = lambda obj, short: safe_repr(obj, False) +unittest.case.safe_repr = lambda obj, short=False: safe_repr(obj, False) except ImportError: pass - from datetime import datetime -try: -from babel import Locale -except ImportError: -Locale = None - from trac.core import * -from trac.test import Mock, MockPerm, EnvironmentStub +from trac.test import Mock, MockPerm, EnvironmentStub, locale_en from trac.util.datefmt import utc from trac.util.html import html from trac.util.text import to_unicode @@ -132,7 +126,7 @@ class WikiTestCase(unittest.TestCase): req = Mock(href=Href('/'), abs_href=Href('http://www.example.com/'), authname='anonymous', perm=MockPerm(), tz=utc, args={}, - locale=Locale.parse('en_US') if Locale else None) + locale=locale_en, lc_time=locale_en) if context: if isinstance(context, tuple): context = web_context(req, *context) @@ -184,7 +178,7 @@ class WikiTestCase(unittest.TestCase): Testing WikiFormatter formatter = self.formatter() v = unicode(formatter.generate(**self.generate_opts)) -v = v.replace('\r', '').replace(u'\u200b', '') +v = v.replace('\r', '').replace(u'\u200b', '') # FIXME: keep ZWSP try: self.assertEquals(self.correct, v) except AssertionError, e: Modified: incubator/bloodhound/vendor/trac/current/trac/wiki/tests/macros.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/wiki/tests/macros.py?rev=1398858r1=1398857r2=1398858view=diff == --- incubator/bloodhound/vendor/trac/current/trac/wiki/tests/macros.py (original) +++ incubator/bloodhound/vendor/trac/current/trac/wiki/tests/macros.py Tue Oct 16 15:55:00 2012 @@ -2,7 +2,8 @@ from datetime import datetime import unittest -from trac.util.datefmt import utc +from trac.test import locale_en +from trac.util.datefmt import format_date, utc from trac.wiki.model import WikiPage from trac.wiki.tests import formatter @@ -88,6 +89,15 @@ IMAGE_MACRO_TEST_CASES = u /p -- a style=padding:0; border:none href=/wiki/WikiStartimg src=/browser/%C2%AB%20test%C2%A0%C2%BB?format=raw alt=/browser/« test » title=/browser/« test » //a +== Strip unicode white-spaces and ZWSPs (#10668) +[[Image(â âsource:« test ».pngã â, nolink)]] +-- +p +img src=/browser/%C2%AB%20test%C2%A0%C2%BB.png?format=raw alt=source:« test ».png title=source:« test ».png / +/p +-- +img src=/browser/%C2%AB%20test%C2%A0%C2%BB.png?format=raw alt=source:« test ».png title=source:« test ».png / +-- # Note: in the img src attribute above, the Unicode characters @@ -318,6 +328,58 @@ def titleindex5_setup(tc): ]) +RECENTCHANGES_MACRO_TEST_CASES = u +== RecentChanges, group option +[[RecentChanges()]] +[[RecentChanges(group=date)]] +[[RecentChanges(group=none)]] +[[RecentChanges(,2,group=none)]] +[[RecentChanges(Wiki,group=none)]] +[[RecentChanges(Wiki,1,group=none)]] +-- +p +/pdivh3%(date)s/h3ullia href=/wiki/WikiEndWikiEnd/a +/lilia href=/wiki/WikiMidWikiMid/a +/lilia href=/wiki/WikiStartWikiStart/a +/li/ul/divp +/pdivh3%(date)s/h3ullia href=/wiki/WikiEndWikiEnd/a +/lilia href=/wiki/WikiMidWikiMid/a +/lilia href=/wiki/WikiStartWikiStart/a +/li/ul/divp +/pdivullia href=/wiki/WikiEndWikiEnd/a +/lilia href=/wiki/WikiMidWikiMid/a +/lilia href=/wiki/WikiStartWikiStart/a +/li/ul/divp +/pdivullia href=/wiki/WikiEndWikiEnd/a +/lilia href=/wiki/WikiMidWikiMid/a +/li/ul/divp +/pdivullia href=/wiki/WikiEndWikiEnd/a +/lilia href=/wiki/WikiMidWikiMid/a +/lilia href=/wiki/WikiStartWikiStart/a +/li/ul/divp +/pdivullia href=/wiki/WikiEndWikiEnd/a +/li/ul/divp +/p +-- + % {'date': format_date(tzinfo=utc, locale=locale_en)} + +def recentchanges_setup(tc): +def add_pages(tc, names): +for name in names: +now = datetime.now(utc) +w = WikiPage(tc.env) +w.name = name +w.text = '--' +w.save('joe', 'the page ' + name, '::1', now) +add_pages(tc, [ +
svn commit: r1398864 - /incubator/bloodhound/vendor/trac/1.0/
Author: gjm Date: Tue Oct 16 16:01:04 2012 New Revision: 1398864 URL: http://svn.apache.org/viewvc?rev=1398864view=rev Log: tagging trac as 1.0 - towards #159 Added: incubator/bloodhound/vendor/trac/1.0/ - copied from r1398863, incubator/bloodhound/vendor/trac/current/
svn commit: r1398968 [5/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admi
Modified: incubator/bloodhound/trunk/trac/trac/locale/de/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/de/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/de/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/de/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/el/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/el/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/el/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/el/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/messages-js.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/messages-js.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/messages-js.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/messages-js.po Tue Oct 16 20:06:09 2012 @@ -5,17 +5,17 @@ # msgid msgstr -Project-Id-Version: Trac 0.12\n +Project-Id-Version: Trac 1.0\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2010-05-24 23:55+0200\n -PO-Revision-Date: 2012-02-25 10:30+0100\n +POT-Creation-Date: 2012-09-02 08:26+0200\n +PO-Revision-Date: 2012-08-15 12:04+0100\n Last-Translator: Mikael Relbe mik...@relbe.se\n Language-Team: en_GB trac-...@googlegroups.com\n Plural-Forms: nplurals=2; plural=(n != 1)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.5\n +Generated-By: Babel 0.9.6\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) @@ -63,35 +63,116 @@ msgstr Fold directory msgid Show %(title)s msgstr Show %(title)s -#: trac/htdocs/js/folding.js:77 +#: trac/htdocs/js/folding.js:78 #, python-format msgid %(title)s (click to hide column) msgstr %(title)s (click to hide column) -#: trac/htdocs/js/query.js:131 +#. TRANSLATOR: Format in month heading in the datepicker, extracts yearSuffix +#. and showMonthAfterYear +#: trac/htdocs/js/jquery-ui-i18n.js:4 +msgid $month$year +msgstr $month$year + +#. TRANSLATOR: Link that closes the datepicker +#. TRANSLATOR: Link that closes the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:7 trac/htdocs/js/jquery-ui-i18n.js:39 +msgid Done +msgstr Done + +#. TRANSLATOR: Link to the previous month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:9 +msgid Prev +msgstr Prev + +#. TRANSLATOR: Link to the next month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:11 +msgid Next +msgstr Next + +#. TRANSLATOR: Link to the current day in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:13 +msgid Today +msgstr Today + +#. TRANSLATOR: Heading for the week-of-the-year column in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:20 +msgid Wk +msgstr Wk + +#. TRANSLATOR: Heading of the standalone timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:30 +msgid Choose Time +msgstr Choose Time + +#. TRANSLATOR: Time selector label +#: trac/htdocs/js/jquery-ui-i18n.js:32 +msgid Time +msgstr Time + +#. TRANSLATOR: Time labels in the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:34 +msgid Hour +msgstr Hour + +#:
svn commit: r1398968 [3/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admi
Modified: incubator/bloodhound/trunk/trac/trac/htdocs/css/report.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/htdocs/css/report.css?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/htdocs/css/report.css (original) +++ incubator/bloodhound/trunk/trac/trac/htdocs/css/report.css Tue Oct 16 20:06:09 2012 @@ -24,24 +24,29 @@ } .report div.reports { clear: both } + + .report div.reports h2 { - border-bottom: 1px solid #ee; - margin-top: 0; + /* taken from .wikipage h2 */ + border-bottom: 1px solid #ddd; + box-shadow: .1em .4em .7em 0 #f2f2f2; + padding: 0.2em .3em .1em; +} +.report div.reports h3 { + /* taken from .wikipage h3 */ + border-bottom: 1px dashed #ddd; } -.report div.reports h2 :link, .report div.reports h2 :visited { +.report div.reports h3 :link, .report div.reports h3 :visited { color: #000; border-bottom: none; } -.report div.reports h2 em { +.report div.reports h3 em { color: #800; font-style: normal; } -.report form div.inlinebuttons { - float: right; - margin-top: -2px; - margin-left: 0.2em; -} +.report form .inlinebuttons { float: right } +.uisymbols .report form .inlinebuttons { margin-top: -.6em } .report span.foldable { display: none } .report div.description { @@ -70,7 +75,9 @@ h2.report-result { background: #f7f7f7; border-bottom: 1px solid #d7d7d7; margin: 2em 0 0; - padding: 0 .33em; + padding: .2em .4em; + box-shadow: 1px 1px .5em 0 #ccc; + border-radius: .1em } #report-descr { margin: 0 2em; font-size: 90% } #report-notfound { margin: 2em; font-size: 110% } @@ -78,8 +85,9 @@ h2.report-result { #content.report .field label { padding-bottom: .3em; } #query { clear: right } -#query fieldset, #query fieldset input, #query fieldset select { font-size: 11px } -#query fieldset input[type=button] { padding: 0.1em 0.5em } +#query fieldset, #query fieldset input, #query fieldset select { + font-size: 11px; +} #query fieldset { margin-top: 1em } #query fieldset.collapsed { border-width: 0; @@ -91,6 +99,7 @@ h2.report-result { #query .buttons { float: right; margin-top: .5em } #query .buttons input { margin: .5em } #query hr { clear: both; margin: 0; visibility: hidden } +#trac-report-buttons { float: right } #filters table { width: 100% } #filters td.trac-clause { padding: 0 } @@ -217,7 +226,7 @@ table.tickets tbody tr.fullrow th { #batchmod_form fieldset input#batchmod_submit { font-size: 14px; } #batchmod_form fieldset input[type=button]{ padding: 0.1em 0.5em; } -#batchmod_form fieldset { margin-top: 1em } +#batchmod_form fieldset { margin-top: 1.5em } #batchmod_form fieldset.collapsed { border-width: 0; margin-bottom: 0pt; @@ -225,34 +234,32 @@ table.tickets tbody tr.fullrow th { } .batchmod_property { width: 100%; } .batchmod_required:before { content: * ; } - #batchmod_form fieldset input, #batchmod_form fieldset select, .batchmod_property, .batchmod_label { font-size: 11px; } - -#batchmod_action { line-height: 2em } - +#batchmod_action { margin-top: 0; line-height: 2em; } #batchmod_form th { -text-align: right; -white-space: nowrap; -font-size: 11px; + text-align: right; + white-space: nowrap; + font-size: 11px; } - .batchmod_required { -color: red; -font-size: 11px; -font-weight: bold; -font-style: italic; -padding-left: .5em; + color: red; + font-size: 11px; + font-weight: bold; + font-style: italic; + padding-left: .5em; } - #batchmod_help { - clear: both; + float: right; color: #999; - margin: 1em; - text-align: right; + margin: 0.3em 1em; +} +#batchmod_help :link, #batchmod_help :visited { cursor: help; } + +@media print { + .batchmod_selector { display: none } } -#batchmod_help :link, #batchmod_help :visited { cursor: help } \ No newline at end of file Modified: incubator/bloodhound/trunk/trac/trac/htdocs/css/roadmap.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/htdocs/css/roadmap.css?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/htdocs/css/roadmap.css (original) +++ incubator/bloodhound/trunk/trac/trac/htdocs/css/roadmap.css Tue Oct 16 20:06:09 2012 @@ -3,6 +3,7 @@ table.progress { border: 1px solid #d7d7d7; border-collapse: collapse; border-spacing: 0; + box-shadow: 0 0 1em #eee; /* from pre.wiki */ float: left; margin: 0; padding: 0; @@ -34,12 +35,15 @@ p.percent { .milestone .info h2 { background: #f7f7f7; border-bottom: 1px solid #d7d7d7; - margin: 0; + margin: .5em 0; + box-shadow: 1px 1px .5em 0 #ccc; + border-radius: .1em; } .milestone .info h2 :link, .milestone .info h2 :visited { color: #000; display: block; border-bottom: none; + padding: .2em .4em; } .milestone .info h2 :link:hover, .milestone .info h2 :visited:hover { color: #000; @@
svn commit: r1398968 [7/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admi
Modified: incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/en_GB/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -1,21 +1,21 @@ # English (United Kingdom) translations for Trac. -# Copyright (C) 2011 Edgewall Software +# Copyright (C) 2012 Edgewall Software # This file is distributed under the same license as the Trac project. -# FIRST AUTHOR EMAIL@ADDRESS, 2011. +# Mikael Relbe (mrelbe) mik...@relbe.se, 2012 # msgid msgstr -Project-Id-Version: Trac 0.13\n +Project-Id-Version: Trac 1.0\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2011-02-23 13:05+0900\n -PO-Revision-Date: 2012-02-25 10:30+0100\n +POT-Creation-Date: 2012-09-02 08:26+0200\n +PO-Revision-Date: 2012-09-04 14:46+0100\n Last-Translator: Mikael Relbe mik...@relbe.se\n -Language-Team: en_GB l...@li.org\n +Language-Team: en_GB trac-...@googlegroups.com\n Plural-Forms: nplurals=2; plural=(n != 1)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.5\n +Generated-By: Babel 0.9.6\n #: tracopt/mimeview/enscript.py:105 msgid Path to the Enscript executable. @@ -69,10 +69,56 @@ msgstr quality ratio used by the SilverCity render, which is 3\n (''since 0.10''). -#: tracopt/perm/authz_policy.py:133 +#: tracopt/perm/authz_policy.py:132 msgid Location of authz policy configuration file. msgstr Location of authz policy configuration file. +#: tracopt/perm/config_perm_provider.py:24 +msgid +This section provides a way to add arbitrary permissions to a\n +Trac environment. This can be useful for adding new permissions to use\n +for workflow actions, for example.\n +\n +To add new permissions, create a new section `[extra-permissions]` in\n +your `trac.ini`. Every entry in that section defines a meta-permission\n +and a comma-separated list of permissions. For example:\n +{{{\n +[extra-permissions]\n +extra_admin = extra_view, extra_modify, extra_delete\n +}}}\n +This entry will define three new permissions `EXTRA_VIEW`,\n +`EXTRA_MODIFY` and `EXTRA_DELETE`, as well as a meta-permissions\n +`EXTRA_ADMIN` that grants all three permissions.\n +\n +If you don't want a meta-permission, start the meta-name with an\n +underscore (`_`):\n +{{{\n +[extra-permissions]\n +_perms = extra_view, extra_modify\n +}}} +msgstr +This section provides a way to add arbitrary permissions to a\n +Trac environment. This can be useful for adding new permissions to use\n +for workflow actions, for example.\n +\n +To add new permissions, create a new section `[extra-permissions]` in\n +your `trac.ini`. Every entry in that section defines a meta-permission\n +and a comma-separated list of permissions. For example:\n +{{{\n +[extra-permissions]\n +extra_admin = extra_view, extra_modify, extra_delete\n +}}}\n +This entry will define three new permissions `EXTRA_VIEW`,\n +`EXTRA_MODIFY` and `EXTRA_DELETE`, as well as a meta-permissions\n +`EXTRA_ADMIN` that grants all three permissions.\n +\n +If you don't want a meta-permission, start the meta-name with an\n +underscore (`_`):\n +{{{\n +[extra-permissions]\n +_perms = extra_view, extra_modify\n +}}} + #: tracopt/ticket/commit_updater.py:107 msgid Require commands to be enclosed in an envelope.\n @@ -119,7 +165,196 @@ msgstr msgid Send ticket change notification when updating a ticket. msgstr Send ticket change notification when updating a ticket. -#: trac/attachment.py:386 +#: tracopt/versioncontrol/git/git_fs.py:169 +msgid Enable persistent caching of commit tree. +msgstr Enable persistent caching of commit tree. + +#: tracopt/versioncontrol/git/git_fs.py:172 +msgid Wrap `GitRepository` in `CachedRepository`. +msgstr Wrap `GitRepository` in `CachedRepository`. + +#: tracopt/versioncontrol/git/git_fs.py:175 +msgid +The length at which a sha1 should be abbreviated to (must\n +be = 4 and = 40). +msgstr +The length at which a sha1 should be abbreviated to (must\n +be = 4 and = 40). + +#: tracopt/versioncontrol/git/git_fs.py:180 +msgid +The minimum length of an hex-string for which\n +auto-detection as sha1 is performed (must be = 4 and = 40). +msgstr +The minimum length of an hex-string for which\n +auto-detection as sha1 is performed (must be = 4 and = 40). + +#: tracopt/versioncontrol/git/git_fs.py:185 +msgid +Enable reverse mapping of git email addresses to trac user ids\n +(costly if you have many users). +msgstr +Enable reverse mapping of git email addresses to trac user ids\n +(costly if you have many users). + +#: tracopt/versioncontrol/git/git_fs.py:189 +msgid +Use git-committer id instead of git-author id for
svn commit: r1398968 [16/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/adm
Modified: incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/messages.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/messages.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/messages.po Tue Oct 16 20:06:09 2012 @@ -3,6 +3,7 @@ # This file is distributed under the same license as the Trac project. # Jeroen Ruigrok van der Werven asmo...@in-nomine.org, 2007. # +#, fuzzy msgid msgstr Project-Id-Version: Trac 0.12\n Modified: incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/ko/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/messages-js.pot URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/messages-js.pot?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/messages-js.pot (original) +++ incubator/bloodhound/trunk/trac/trac/locale/messages-js.pot Tue Oct 16 20:06:09 2012 @@ -6,16 +6,16 @@ #, fuzzy msgid msgstr -Project-Id-Version: Trac 0.13\n +Project-Id-Version: Trac 1.0\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2012-02-10 02:32+0100\n +POT-Creation-Date: 2012-09-06 15:50+0200\n PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n Last-Translator: FULL NAME EMAIL@ADDRESS\n Language-Team: LANGUAGE l...@li.org\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n -Generated-By: Babel 0.9.6\n +Generated-By: Babel 0.9.6dev-r0\n #: trac/htdocs/js/blame.js:84 msgid (no changeset information) @@ -63,35 +63,116 @@ msgstr msgid Show %(title)s msgstr -#: trac/htdocs/js/folding.js:77 +#: trac/htdocs/js/folding.js:78 #, python-format msgid %(title)s (click to hide column) msgstr -#: trac/htdocs/js/query.js:131 +#. TRANSLATOR: Format in month heading in the datepicker, extracts yearSuffix +#. and showMonthAfterYear +#: trac/htdocs/js/jquery-ui-i18n.js:4 +msgid $month$year +msgstr + +#. TRANSLATOR: Link that closes the datepicker +#. TRANSLATOR: Link that closes the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:7 trac/htdocs/js/jquery-ui-i18n.js:39 +msgid Done +msgstr + +#. TRANSLATOR: Link to the previous month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:9 +msgid Prev +msgstr + +#. TRANSLATOR: Link to the next month in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:11 +msgid Next +msgstr + +#. TRANSLATOR: Link to the current day in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:13 +msgid Today +msgstr + +#. TRANSLATOR: Heading for the week-of-the-year column in the datepicker +#: trac/htdocs/js/jquery-ui-i18n.js:20 +msgid Wk +msgstr + +#. TRANSLATOR: Heading of the standalone timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:30 +msgid Choose Time +msgstr + +#. TRANSLATOR: Time selector label +#: trac/htdocs/js/jquery-ui-i18n.js:32 +msgid Time +msgstr + +#. TRANSLATOR: Time labels in the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:34 +msgid Hour +msgstr + +#: trac/htdocs/js/jquery-ui-i18n.js:34 +msgid Minute +msgstr + +#: trac/htdocs/js/jquery-ui-i18n.js:34 +msgid Second +msgstr + +#: trac/htdocs/js/jquery-ui-i18n.js:35 +msgid Time Zone +msgstr + +#. TRANSLATOR: Link to pick the current time in the timepicker +#: trac/htdocs/js/jquery-ui-i18n.js:37 +msgid Now +msgstr + +#: trac/htdocs/js/query.js:132 msgid A filter already exists for that property msgstr -#: trac/htdocs/js/query.js:158 +#: trac/htdocs/js/query.js:159 msgid or msgstr -#: trac/htdocs/js/query.js:177 +#: trac/htdocs/js/query.js:182 trac/htdocs/js/query.js:310 msgid yes msgstr -#: trac/htdocs/js/query.js:180 +#: trac/htdocs/js/query.js:185
svn commit: r1398968 [18/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/adm
Modified: incubator/bloodhound/trunk/trac/trac/locale/nb/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/nb/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/nb/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/nb/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/nl/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/nl/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/nl/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/nl/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/messages.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/messages.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/messages.po Tue Oct 16 20:06:09 2012 @@ -3,6 +3,7 @@ # This file is distributed under the same license as the Trac project. # Jeroen Ruigrok van der Werven asmo...@in-nomine.org, 2008. # +#, fuzzy msgid msgstr Project-Id-Version: Trac 0.12\n @@ -4825,7 +4826,7 @@ msgstr Zatrzymaj siÄ po skopiowaniu #: trac/versioncontrol/templates/revisionlog.html:33 msgid Follow copies -msgstr PodÄ rzaj za kopiami +msgstr PodÄ Å¼aj za kopiami #: trac/versioncontrol/templates/revisionlog.html:39 msgid Show only adds and deletes Modified: incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/pl/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -264,9 +264,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/pt/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/pt/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/pt/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/pt/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html),
svn commit: r1398968 [13/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/adm
Modified: incubator/bloodhound/trunk/trac/trac/locale/hu/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/hu/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/hu/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/hu/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -7,11 +7,11 @@ msgid msgstr Project-Id-Version: Trac 0.13\n Report-Msgid-Bugs-To: trac-...@googlegroups.com\n -POT-Creation-Date: 2012-02-10 02:32+0100\n +POT-Creation-Date: 2012-08-06 17:09+0200\n PO-Revision-Date: 2011-02-23 22:27+0900\n -Last-Translator: FULL NAME EMAIL@ADDRESS\n -Language-Team: hu l...@li.org\n -Plural-Forms: nplurals=1; plural=0\n +Last-Translator: Zoltán Nagy nzol...@freemail.hu\n +Language-Team: hu_HU l...@li.org\n +Plural-Forms: nplurals=2; plural=(n!=1)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=utf-8\n Content-Transfer-Encoding: 8bit\n @@ -51,7 +51,7 @@ msgid (''since 0.10''). msgstr -#: tracopt/perm/authz_policy.py:133 +#: tracopt/perm/authz_policy.py:132 msgid Location of authz policy configuration file. msgstr @@ -88,20 +88,145 @@ msgstr msgid Send ticket change notification when updating a ticket. msgstr -#: trac/attachment.py:386 +#: tracopt/versioncontrol/git/git_fs.py:169 +msgid Enable persistent caching of commit tree. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:172 +msgid Wrap `GitRepository` in `CachedRepository`. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:175 +msgid +The length at which a sha1 should be abbreviated to (must\n +be = 4 and = 40). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:180 +msgid +The minimum length of an hex-string for which\n +auto-detection as sha1 is performed (must be = 4 and = 40). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:185 +msgid +Enable reverse mapping of git email addresses to trac user ids\n +(costly if you have many users). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:189 +msgid +Use git-committer id instead of git-author id for the\n +changeset ''Author'' field. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:194 +msgid +Use git-committer timestamp instead of git-author timestamp\n +for the changeset ''Timestamp'' field. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:199 +msgid Define charset encoding of paths within git repositories. +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:202 +msgid +Path to git executable (relative to the Trac configuration folder,\n +so better use an absolute path here). +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:746 +msgid Path to a gitweb-formatted projects.list +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:749 +msgid Path to the base of your git projects +msgstr + +#: tracopt/versioncontrol/git/git_fs.py:752 +#, python-format +msgid +Template for project URLs. %s will be replaced with the repo\n +name +msgstr + +#: tracopt/versioncontrol/svn/svn_fs.py:253 +msgid +Comma separated list of paths categorized as branches.\n +If a path ends with '*', then all the directory entries found below \n +that path will be included. \n +Example: `/trunk, /branches/*, /projectAlpha/trunk, /sandbox/*` +msgstr + +#: tracopt/versioncontrol/svn/svn_fs.py:260 +msgid +Comma separated list of paths categorized as tags.\n +\n +If a path ends with '*', then all the directory entries found below\n +that path will be included.\n +Example: `/tags/*, /projectAlpha/tags/A-1.0, /projectAlpha/tags/A-v1.1` +msgstr + +#: tracopt/versioncontrol/svn/svn_prop.py:37 +msgid +The TracBrowser for Subversion can interpret the `svn:externals`\n +property of folders. By default, it only turns the URLs into links as\n +Trac can't browse remote repositories.\n +\n +However, if you have another Trac instance (or an other repository\n +browser like [http://www.viewvc.org/ ViewVC]) configured to browse the\n +target repository, then you can instruct Trac which other repository\n +browser to use for which external URL. This mapping is done in the\n +`[svn:externals]` section of the TracIni.\n +\n +Example:\n +{{{\n +[svn:externals]\n +1 = svn://server/repos1 +http://trac/proj1/browser/$path?rev=$rev\n; +2 = svn://server/repos2 +http://trac/proj2/browser/$path?rev=$rev\n; +3 = http://theirserver.org/svn/eng-soft +http://ourserver/viewvc/svn/$path/?pathrev=25914\n; +4 = svn://anotherserver.com/tools_repository +http://ourserver/tracs/tools/browser/$path?rev=$rev\n; +}}}\n +With the above, the\n +`svn://anotherserver.com/tools_repository/tags/1.1/tools` external will\n +be mapped to `http://ourserver/tracs/tools/browser/tags/1.1/tools?rev=`\n; +(and `rev` will be set to the appropriate revision number if the\n +external additionally specifies a revision, see the\n
svn commit: r1398968 [20/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/adm
Modified: incubator/bloodhound/trunk/trac/trac/locale/pt_BR/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/pt_BR/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/pt_BR/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/pt_BR/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -263,9 +263,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/ro/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/ro/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/ro/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/ro/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -264,9 +264,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/ru/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/ru/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/ru/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/ru/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -264,9 +264,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s the project name\n +\n +- $(path)s the path for the current environment\n +- $(basename)s the last path component of the current environment\n +- $(project)s the project name\n \n Note the usage of `$(...)s` instead of `%(...)s` as the latter form\n would be interpreted by the ConfigParser itself.\n Modified: incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/messages.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/messages.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/messages.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/messages.po Tue Oct 16 20:06:09 2012 @@ -4581,7 +4581,7 @@ msgstr #: trac/versioncontrol/templates/changeset.html:50 #, python-format msgid Changeset [1:%(new_rev)s] in %(reponame)s -msgstr Niz popravkov %(new_rev)s v %(reponame)s +msgstr Niz popravkov [1:%(new_rev)s] v %(reponame)s #: trac/versioncontrol/templates/changeset.html:57 #, python-format Modified: incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/tracini.po URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/tracini.po?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/tracini.po (original) +++ incubator/bloodhound/trunk/trac/trac/locale/sl/LC_MESSAGES/tracini.po Tue Oct 16 20:06:09 2012 @@ -264,9 +264,10 @@ msgid In addition to regular key names supported by the Python\n logger library (see\n http://docs.python.org/library/logging.html), one could use:\n - - $(path)s the path for the current environment\n - - $(basename)s the last path component of the current environment\n - - $(project)s
svn commit: r1398968 [28/28] - in /incubator/bloodhound/trunk/trac: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/adm
Modified: incubator/bloodhound/trunk/trac/tracopt/ticket/deleter.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/tracopt/ticket/deleter.py?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/tracopt/ticket/deleter.py (original) +++ incubator/bloodhound/trunk/trac/tracopt/ticket/deleter.py Tue Oct 16 20:06:09 2012 @@ -20,6 +20,7 @@ from trac.ticket.model import Ticket from trac.ticket.web_ui import TicketModule from trac.util import get_reporter_id from trac.util.datefmt import from_utimestamp +from trac.util.presentation import captioned_button from trac.util.translation import _ from trac.web.api import IRequestFilter, IRequestHandler, ITemplateStreamFilter from trac.web.chrome import ITemplateProvider, add_notice, add_stylesheet @@ -67,9 +68,12 @@ class TicketDeleter(Component): return tag.form( tag.div( tag.input(type='hidden', name='action', value='delete'), -tag.input(type='submit', value=_('Delete'), - title=_('Delete ticket')), -class_='inlinebuttons'), +tag.input(type='submit', + value=captioned_button(req, u'â', # 'EN DASH' + _(Delete)), + title=_('Delete ticket'), + class_=trac-delete), +class_=inlinebuttons), action='#', method='get') def delete_comment(): @@ -81,10 +85,12 @@ class TicketDeleter(Component): value='delete-comment'), tag.input(type='hidden', name='cnum', value=cnum), tag.input(type='hidden', name='cdate', value=cdate), -tag.input(type='submit', value=_('Delete'), - title=_('Delete comment %(num)s', - num=cnum)), -class_='inlinebuttons'), +tag.input(type='submit', + value=captioned_button(req, u'â', # 'EN DASH' + _(Delete)), + title=_('Delete comment %(num)s', num=cnum), + class_=trac-delete), +class_=inlinebuttons), action='#', method='get') buffer = StreamBuffer() Modified: incubator/bloodhound/trunk/trac/tracopt/versioncontrol/git/PyGIT.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/trac/tracopt/versioncontrol/git/PyGIT.py?rev=1398968r1=1398967r2=1398968view=diff == --- incubator/bloodhound/trunk/trac/tracopt/versioncontrol/git/PyGIT.py (original) +++ incubator/bloodhound/trunk/trac/tracopt/versioncontrol/git/PyGIT.py Tue Oct 16 20:06:09 2012 @@ -31,12 +31,70 @@ import weakref __all__ = ['GitError', 'GitErrorSha', 'Storage', 'StorageFactory'] + +def terminate(process): +Python 2.5 compatibility method. +os.kill is not available on Windows before Python 2.7. +In Python 2.6 subprocess.Popen has a terminate method. +(It also seems to have some issues on Windows though.) + + +def terminate_win(process): +import ctypes +PROCESS_TERMINATE = 1 +handle = ctypes.windll.kernel32.OpenProcess(PROCESS_TERMINATE, +False, +process.pid) +ctypes.windll.kernel32.TerminateProcess(handle, -1) +ctypes.windll.kernel32.CloseHandle(handle) + +def terminate_nix(process): +import os +import signal +return os.kill(process.pid, signal.SIGTERM) + +if sys.platform == 'win32': +return terminate_win(process) +return terminate_nix(process) + + class GitError(Exception): pass class GitErrorSha(GitError): pass +# Helper functions + +def parse_commit(raw): +Parse the raw content of a commit (as given by `git cat-file -p rev`). + +Return the commit message and a dict of properties. + +if not raw: +raise GitErrorSha +lines = raw.splitlines() +if not lines: +raise GitErrorSha +line = lines.pop(0) +props = {} +multiline = multiline_key = None +while line: +if line[0] == ' ': +if not multiline: +multiline_key = key +multiline = [props[multiline_key][-1]] +multiline.append(line[1:]) +else: +key, value = line.split(None, 1) +props.setdefault(key, []).append(value.strip()) +line = lines.pop(0) +if multiline and (not line or
svn commit: r1398977 - /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/util.py
Author: gjm Date: Tue Oct 16 20:22:29 2012 New Revision: 1398977 URL: http://svn.apache.org/viewvc?rev=1398977view=rev Log: fix for attribute error on dummy requests for widgets after trac upgrade - fixes #239 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/util.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/util.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/util.py?rev=1398977r1=1398976r2=1398977view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/util.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/util.py Tue Oct 16 20:22:29 2012 @@ -62,6 +62,7 @@ def dummy_request(env, uname=None): 'authname': rd.authenticate, 'chrome': chrome.prepare_request, 'hdf': getattr(rd, '_get_hdf', None), +'lc_time': rd._get_lc_time, 'locale' : getattr(rd, '_get_locale', None), 'perm': rd._get_perm, 'session': rd._get_session,
svn commit: r1398210 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html
Author: gjm Date: Mon Oct 15 08:17:32 2012 New Revision: 1398210 URL: http://svn.apache.org/viewvc?rev=1398210view=rev Log: enhancements for textarea custom ticket fields - towards #206 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html?rev=1398210r1=1398209r2=1398210view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Mon Oct 15 08:17:32 2012 @@ -37,15 +37,22 @@ Arguments: id=ticket class=${'ticketdraft' if preview_mode else None} div class=properties style=margin-top: 1.2em - py:with=fields = [f for f in fields if not f.skip and f.name not in ('type', 'owner', 'keywords')] -div class=row py:for=fields_row in group(fields, colcount or 6) - div py:for=idx, field in enumerate(fields_row) py:if=field is not None - class=${'span2' if field.name != 'cc' else 'span4'} -py:if test=field.type != 'textarea' + py:with=fields = [f for f in fields if not f.skip and f.name not in ('type', 'owner', 'keywords')]; +small_fields = [f for f in fields if f.type not in ('text', 'textarea') and f.name != 'cc']; +text_fields = [f for f in fields if f.type == 'text' or f.name == 'cc']; +area_fields = [f for f in fields if f.type == 'textarea']; +_colcount = colcount or 6 +py:for each=_fields, csscls, count, fontsize in +[(small_fields, 'span2', _colcount, '150%'), + (text_fields, 'span4', colcount / 2, None), + (area_fields, 'span', 1, None)] + div class=row py:for=fields_row in group(_fields, count) +div py:for=idx, field in enumerate(fields_row) py:if=field is not None +class=$csscls p id=${'h_' + field.name if field else None} py:if test=fieldi18n:msg params=field${field.label or field.name}:/i18n:msg/py:if /p - p style=font-size: ${'150%' if field and field.name != 'cc' else '120%'} + p style=font-size: ${fontsize if field and field.name != 'cc' else '120%'} py:if test=field py:choose test= py:when test='rendered' in field${field.rendered}/py:when @@ -54,9 +61,9 @@ Arguments: /py:if nbsp; /p -/py:if +/div /div -/div +/py:for /div div class=${'well' if not preview_mode else None} !--! use a placeholder if it's a new ticket --
svn commit: r1398220 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates: bh_ticket.html bh_ticket_box.html
Author: gjm Date: Mon Oct 15 08:53:13 2012 New Revision: 1398220 URL: http://svn.apache.org/viewvc?rev=1398220view=rev Log: reposition description above some of the ticket fields - towards #206 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket_box.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1398220r1=1398219r2=1398220view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Mon Oct 15 08:53:13 2012 @@ -127,47 +127,42 @@ div class=stickyBox div id=overview class=stickyStatus $colspan div class=whitebox/div -h1 id=trac-ticket-title py:choose= - py:when test=ticket.exists -i18n:msg params=idTicket #${ticket.id}/i18n:msg -span class=statussmall(${ticket.status}py:if -test=ticket.type ${ticket.type}/py:ifpy:if -test=ticket.resolution: ${ticket.resolution}/py:if)/small/span -py:choose test= - py:when test=version is None / - py:when test=version == 0 -mdash; -small - i18n:msgat a href=#comment:descriptionInitial Version/a/i18n:msg -/small +div class=properties + h2 class=summary searchable py:choose= +py:when test=ticket.exists$ticket.summary/py:when +py:otherwiseCreate Ticket/py:otherwise + /h2 +/div +div class=row + div class=span3 +h5 id=trac-ticket-title py:choose= + py:when test=ticket.exists +a href=${href.ticket(ticket.id)} +i18n:msg=idTicket #${ticket.id}/a /py:when py:otherwise -mdash; -small - i18n:msg params=versionat a href=#comment:$versionVersion $version/a/i18n:msg -/small +New Ticket smallspan py:if=preview_mode and ticket.type class=status(${ticket.type})/span/small /py:otherwise -/py:choose - /py:when - py:otherwise -Create New Ticket smallspan py:if=preview_mode and ticket.type class=status(${ticket.type})/span/small - /py:otherwise -/h1 -h6 class=date - span i18n:msg=created py:if=ticket.existsOpened ${pretty_dateinfo(ticket.time)}/span - py:if test=ticket.changetime != ticket.time, -span i18n:msg=modifiedLast modified ${pretty_dateinfo(ticket.changetime)}/span - /py:if - span py:if=not ticket.exists class=label label-warning(ticket not yet created)/span -/h6 -h6 - span id=h_reporterReported by -${reporter_link if defined('reporter_link') else authorinfo(ticket.reporter)} - /span, - span id=h_ownerAssigned to -${(owner_link if defined('owner_link') else authorinfo(ticket.owner)) if ticket.owner else ''} - /span -/h6 +/h5 + /div + div class=offset3 +h6 class=date pull-right + span i18n:msg=created py:if=ticket.existsOpened ${pretty_dateinfo(ticket.time)}/span + py:if test=ticket.changetime != ticket.time, +span i18n:msg=modifiedLast modified ${pretty_dateinfo(ticket.changetime)}/span + /py:if + span py:if=not ticket.exists class=label label-warning(ticket not yet created)/span +/h6 +h6 class=pull-right + span id=h_reporterReported by +${reporter_link if defined('reporter_link') else authorinfo(ticket.reporter)} + /span, + span id=h_ownerAssigned to +${(owner_link if defined('owner_link') else authorinfo(ticket.owner)) if ticket.owner else ''} + /span +/h6 + /div +/div div class=stickyEndMark/div /div /div @@ -176,6 +171,28 @@ /script py:if test=ticket.exists div class=row +div class=span6 + h4 class=statussmall${ticket.status}py:if + test=ticket.type ${ticket.type}/py:ifpy:if
svn commit: r1393384 - /incubator/bloodhound/trunk/installer/bloodhound_setup.py
Author: gjm Date: Wed Oct 3 10:05:36 2012 New Revision: 1393384 URL: http://svn.apache.org/viewvc?rev=1393384view=rev Log: stop installer failing when repository options are not fully specified - fixes #154 (from jure) Modified: incubator/bloodhound/trunk/installer/bloodhound_setup.py Modified: incubator/bloodhound/trunk/installer/bloodhound_setup.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/installer/bloodhound_setup.py?rev=1393384r1=1393383r2=1393384view=diff == --- incubator/bloodhound/trunk/installer/bloodhound_setup.py (original) +++ incubator/bloodhound/trunk/installer/bloodhound_setup.py Wed Oct 3 10:05:36 2012 @@ -160,6 +160,10 @@ class BloodhoundSetup(object): options['repo_type'] = '' if 'repo_path' not in options or options['repo_path'] is None: options['repo_path'] = '' +if (len(options['repo_type']) 0) ^ (len(options['repo_path']) 0): +print Error: Specifying a repository requires both the \ + repository-type and the repository-path options. +return False digestfile = os.path.abspath(os.path.join(new_env, options['digestfile']))
svn commit: r1393450 - /incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_prefs_pygments.html
Author: gjm Date: Wed Oct 3 12:10:06 2012 New Revision: 1393450 URL: http://svn.apache.org/viewvc?rev=1393450view=rev Log: disabling syntax highlighting stylesheets to fix highlighting failure on webkit browsers - fixes #205 (from peter) Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_prefs_pygments.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_prefs_pygments.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_prefs_pygments.html?rev=1393450r1=1393449r2=1393450view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_prefs_pygments.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_prefs_pygments.html Wed Oct 3 12:10:06 2012 @@ -37,6 +37,7 @@ (function($){ window.switchStyleSheet = function(title) { $('link[rel=stylesheet][title]').each(function() { + this.disabled = true; this.disabled = this.getAttribute('title') != title; }); }
svn commit: r1389257 - /incubator/bloodhound/tags/0.1.0-incubating/
Author: gjm Date: Mon Sep 24 09:31:44 2012 New Revision: 1389257 URL: http://svn.apache.org/viewvc?rev=1389257view=rev Log: Tagging the 0.1.0-incubating release (from branches/0.1 at r1362530) Added: incubator/bloodhound/tags/0.1.0-incubating/ (props changed) - copied from r1362530, incubator/bloodhound/branches/0.1/ Propchange: incubator/bloodhound/tags/0.1.0-incubating/ -- svn:mergeinfo = /incubator/bloodhound/trunk:1362075,1362525
svn commit: r1386610 - in /incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct: api.py web_ui.py
Author: gjm Date: Mon Sep 17 13:43:48 2012 New Revision: 1386610 URL: http://svn.apache.org/viewvc?rev=1386610view=rev Log: product resource manager and rendering context - towards #94 (from olemis with minor changes) Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py?rev=1386610r1=1386609r2=1386610view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py Mon Sep 17 13:43:48 2012 @@ -19,13 +19,16 @@ Core components to support multi-product from datetime import datetime +from genshi.builder import tag + from pkg_resources import resource_filename from trac.core import Component, TracError, implements from trac.db import Table, Column, DatabaseManager from trac.env import IEnvironmentSetupParticipant from trac.perm import IPermissionRequestor +from trac.resource import IResourceManager from trac.ticket.api import ITicketFieldProvider -from trac.util.translation import N_ +from trac.util.translation import _, N_ from trac.web.chrome import ITemplateProvider from multiproduct.model import Product @@ -38,7 +41,7 @@ class MultiProductSystem(Component): Creates the database tables and template directories implements(IEnvironmentSetupParticipant, ITemplateProvider, -IPermissionRequestor, ITicketFieldProvider) +IPermissionRequestor, ITicketFieldProvider, IResourceManager) SCHEMA = [ Table('bloodhound_product', key = ['prefix', 'name']) [ @@ -94,7 +97,7 @@ class MultiProductSystem(Component): self.log.debug(creating initial db tables for %s plugin. % PLUGIN_NAME) -db_connector, _ = DatabaseManager(self.env)._get_connector() +db_connector, dummy = DatabaseManager(self.env)._get_connector() for table in self.SCHEMA: for statement in db_connector.to_sql(table): db(statement) @@ -125,3 +128,43 @@ class MultiProductSystem(Component): Product radio fields return [] +# IResourceManager methods + +def get_resource_realms(self): +Manage 'product' realm. + +yield 'product' + +def get_resource_description(self, resource, format='default', context=None, + **kwargs): +Describe product resource. + +desc = resource.id +if format != 'compact': +desc = _('Product %(name)s', name=resource.id) +if context: +return self._render_link(context, resource.id, desc) +else: +return desc + +def _render_link(self, context, name, label, extra=''): +Render link to product page. + +product = Product.select(self.env, where={'name' : name}) +if product: +product = product[0] +href = context.href.products(product.prefix) +if 'PRODUCT_VIEW' in context.perm(product.resource): +return tag.a(label, class_='product', href=href + extra) +elif 'MILESTONE_CREATE' in context.perm('product', name): +return tag.a(label, class_='missing product', +href=context.href('products', action='new'), +rel='nofollow') +return tag.a(label, class_='missing product') + +def resource_exists(self, resource): +Check whether product exists physically. + +products = Product.select(self.env, where={'name' : resource.id}) +return bool(products) + Modified: incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py?rev=1386610r1=1386609r2=1386610view=diff == --- incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py (original) +++ incubator/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py Mon Sep 17 13:43:48 2012 @@ -26,11 +26,11 @@ from genshi.builder import tag from genshi.core import Attrs, QName from trac.core import Component, implements, TracError -from trac.web.chrome import (add_link, add_notice, add_warning, prevnext_nav, - Chrome, INavigationContributor) -from trac.resource import ResourceNotFound +from trac.resource import Resource, ResourceNotFound from trac.util.translation import _ from trac.web.api import IRequestFilter
svn commit: r1386655 - in /incubator/bloodhound/trunk: bloodhound_dashboard/bhdashboard/widgets/timeline.py bloodhound_theme/bhtheme/templates/bh_ticket.html
Author: gjm Date: Mon Sep 17 15:20:47 2012 New Revision: 1386655 URL: http://svn.apache.org/viewvc?rev=1386655view=rev Log: allow the activity area of tickets to discover events associated with the ticket - towards #94 Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1386655r1=1386654r2=1386655view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Mon Sep 17 15:20:47 2012 @@ -156,6 +156,8 @@ class TimelineWidget(WidgetBase): 'precision' : precision, 'user' : user } +if filters: +fakereq.args.update(dict((k, True) for k in filters)) if start is not None: fakereq.args['from'] = start.strftime('%x %X') @@ -333,7 +335,7 @@ class TicketFieldTimelineFilter(Componen if context.resource is not None: field_name = context.resource.realm -if field_name in self.fields: +if field_name in self.fields.union(['ticket']): try: ticket_ids = event[3][0] except: @@ -349,6 +351,9 @@ class TicketFieldTimelineFilter(Componen t = t.id if isinstance(t, (int, basestring)): t = ticket_cache.get(t) or Ticket(self.env, t) +if field_name == 'ticket': +if t.id == context.resource.id: +return event if t[field_name] == context.resource.id: return event ticket_cache[t.id] = t Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1386655r1=1386654r2=1386655view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Mon Sep 17 15:20:47 2012 @@ -474,7 +474,11 @@ ${value}/textarea /div /div div py:if=bhdb class=span4 -bh:widget urn=Timeline / +bh:widget urn=Timeline + bh:args +bh:arg name=filtersticket,ticket_details,changeset/bh:arg + /bh:args +/bh:widget /div /div /body
svn commit: r1383350 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bloodhound_theme.html
Author: gjm Date: Tue Sep 11 11:02:39 2012 New Revision: 1383350 URL: http://svn.apache.org/viewvc?rev=1383350view=rev Log: fix for quick ticket message wrap regression - closes #197 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1383350r1=1383349r2=1383350view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Tue Sep 11 11:02:39 2012 @@ -248,6 +248,10 @@ textarea.wikitext { top: 5px; } +#qct-box p { + white-space: normal; +} + /* @group Generic rules */ .full-x { Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html?rev=1383350r1=1383349r2=1383350view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bloodhound_theme.html Tue Sep 11 11:02:39 2012 @@ -159,8 +159,8 @@ button id=qct-create class=btn data-target=${href()}Create/button a id=qct-cancelCancel/a /py:when - py:otherwise -div class=alert alert-info + div py:otherwise= class=alert alert-info +p span class=label label-importantTICKET_CREATE/span privileges are required to perform this operation. You don't have the required permissions @@ -174,8 +174,8 @@ request these. /py:otherwise /py:choose -/div - /py:otherwise +/p + /div /div /div /div
svn commit: r1383482 - in /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard: templates/bh_model_view.html widgets/timeline.py
Author: gjm Date: Tue Sep 11 17:15:35 2012 New Revision: 1383482 URL: http://svn.apache.org/viewvc?rev=1383482view=rev Log: adds timeline filtering based on ticket field values - towards #94 (from olemis) Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html?rev=1383482r1=1383481r2=1383482view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/templates/bh_model_view.html Tue Sep 11 17:15:35 2012 @@ -70,6 +70,11 @@ /div /div div py:if=bhdb class=span4 -bh:widget urn=Timeline / +bh:widget urn=Timeline + bh:args py:if=resource_realm and resource_id +bh:arg name=realm$resource_realm/bh:arg +bh:arg name=id$resource_id/bh:arg + /bh:args +/bh:widget /div /div Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1383482r1=1383481r2=1383482view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py Tue Sep 11 17:15:35 2012 @@ -35,6 +35,8 @@ from trac.config import IntOption from trac.mimeview.api import RenderingContext from trac.resource import Resource, resource_exists from trac.timeline.web_ui import TimelineModule +from trac.ticket.api import TicketSystem +from trac.ticket.model import Ticket from trac.util.translation import _ from trac.web.chrome import add_stylesheet @@ -126,9 +128,6 @@ class TimelineWidget(WidgetBase): 'id' : { 'desc' : Resource ID. Used to filter events, }, -'version' : { -'desc' : Resource version. Used to filter events, -}, } get_widget_params = pretty_wrapper(get_widget_params, check_widget_name) @@ -303,3 +302,56 @@ class TimelineFilterAdapter: else: return value +class TicketFieldTimelineFilter(Component): +A class filtering ticket events related to a given resource +associated via ticket fields. + +implements(ITimelineEventsFilter) + +@property +def fields(self): +Available ticket fields + +field_names = getattr(self, '_fields', None) +if field_names is None: +self._fields = set(f['name'] \ +for f in TicketSystem(self.env).get_ticket_fields()) +return self._fields + +# ITimelineEventsFilter methods + +def supported_providers(self): +This filter will work on ticket events. It also intercepts events +even when multi-product ticket module is installed. + +yield 'TicketModule' +yield 'ProductTicketModule' + +def filter_event(self, context, provider, event, filters): +Decide whether the target of a ticket event has a particular custom +field set to the context resource's identifier. + +if context.resource is not None: +field_name = context.resource.realm +if field_name in self.fields: +try: +ticket_ids = event[3][0] +except: +self.log.exception('Unknown ticket event %s ... [SKIP]', +event) +else: +if not isinstance(ticket_ids, list): +ticket_ids = [ticket_ids] +context._ticket_cache = ticket_cache = \ +getattr(context, '_ticket_cache', None) or {} +for t in ticket_ids: +if isinstance(t, Resource): +t = t.id +if isinstance(t, (int, basestring)): +t = ticket_cache.get(t) or Ticket(self.env, t) +if t[field_name] == context.resource.id: +return event +ticket_cache[t.id] = t +else: +return None +return NotImplemented
svn commit: r1381141 [3/3] - in /incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs: css/ js/
Added: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-affix.js URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-affix.js?rev=1381141view=auto == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-affix.js (added) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-affix.js Wed Sep 5 11:04:24 2012 @@ -0,0 +1,104 @@ +/* == + * bootstrap-affix.js v2.1.0 + * http://twitter.github.com/bootstrap/javascript.html#affix + * == + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * == */ + + +!function ($) { + + use strict; // jshint ;_; + + + /* AFFIX CLASS DEFINITION + * == */ + + var Affix = function (element, options) { +this.options = $.extend({}, $.fn.affix.defaults, options) +this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) +this.$element = $(element) +this.checkPosition() + } + + Affix.prototype.checkPosition = function () { +if (!this.$element.is(':visible')) return + +var scrollHeight = $(document).height() + , scrollTop = this.$window.scrollTop() + , position = this.$element.offset() + , offset = this.options.offset + , offsetBottom = offset.bottom + , offsetTop = offset.top + , reset = 'affix affix-top affix-bottom' + , affix + +if (typeof offset != 'object') offsetBottom = offsetTop = offset +if (typeof offsetTop == 'function') offsetTop = offset.top() +if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + +affix = this.unpin != null (scrollTop + this.unpin = position.top) ? + false: offsetBottom != null (position.top + this.$element.height() = scrollHeight - offsetBottom) ? + 'bottom' : offsetTop != null scrollTop = offsetTop ? + 'top': false + +if (this.affixed === affix) return + +this.affixed = affix +this.unpin = affix == 'bottom' ? position.top - scrollTop : null + +this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) + } + + + /* AFFIX PLUGIN DEFINITION + * === */ + + $.fn.affix = function (option) { +return this.each(function () { + var $this = $(this) +, data = $this.data('affix') +, options = typeof option == 'object' option + if (!data) $this.data('affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() +}) + } + + $.fn.affix.Constructor = Affix + + $.fn.affix.defaults = { +offset: 0 + } + + + /* AFFIX DATA-API + * == */ + + $(window).on('load', function () { +$('[data-spy=affix]').each(function () { + var $spy = $(this) +, data = $spy.data() + + data.offset = data.offset || {} + + data.offsetBottom (data.offset.bottom = data.offsetBottom) + data.offsetTop (data.offset.top = data.offsetTop) + + $spy.affix(data) +}) + }) + + +}(window.jQuery); \ No newline at end of file Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-alert.js URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-alert.js?rev=1381141r1=1381140r2=1381141view=diff == --- incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-alert.js (original) +++ incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-alert.js Wed Sep 5 11:04:24 2012 @@ -1,5 +1,5 @@ /* == - * bootstrap-alert.js v2.0.4 + * bootstrap-alert.js v2.1.0 * http://twitter.github.com/bootstrap/javascript.html#alerts * == * Copyright 2012 Twitter, Inc. Modified: incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/htdocs/js/bootstrap-button.js URL:
svn commit: r1381145 - in /incubator/bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/bloodhound.css templates/bh_milestone_view.html templates/bh_product_view.html templates/bh_ticket.html
Author: gjm Date: Wed Sep 5 11:13:54 2012 New Revision: 1381145 URL: http://svn.apache.org/viewvc?rev=1381145view=rev Log: theme: tweaks for milestone, products and ticket views for use of affix plugin - towards #172 Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_milestone_view.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1381145r1=1381144r2=1381145view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css Wed Sep 5 11:13:54 2012 @@ -447,8 +447,6 @@ h6 { .stickyStatus.affix { background-color: #FF; border-bottom: 2px solid #A4A4A4; - margin-left: -20px; - padding-left: 1px; position: fixed; top: 0px; z-index: 1024; Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_milestone_view.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_milestone_view.html?rev=1381145r1=1381144r2=1381145view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_milestone_view.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_milestone_view.html Wed Sep 5 11:13:54 2012 @@ -63,7 +63,7 @@ /py:def py:def function=milestone_heading() -h1 style=display: inline;Milestone ${milestone.name}/h1 +h1Milestone ${milestone.name}/h1 h6${milestone_date()} nbsp;nbsp;nbsp; ${milestone_owner()}/h6 /py:def Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html?rev=1381145r1=1381144r2=1381145view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_product_view.html Wed Sep 5 11:13:54 2012 @@ -40,8 +40,8 @@ /py:def py:def function=product_heading() -h1 style=display: inline;Product ${product.name}/h1 -h6${product_owner()}/h6 +h1Product ${product.name}/h1 +h6 py:if=product.owner${product_owner()}/h6 /py:def py:def function=product_buttons() Modified: incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html URL: http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1381145r1=1381144r2=1381145view=diff == --- incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html (original) +++ incubator/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html Wed Sep 5 11:13:54 2012 @@ -125,7 +125,7 @@ div class=$colspan div class=stickyBox - div id=overview class=stickyStatus + div id=overview class=stickyStatus $colspan div class=whitebox/div h1 id=trac-ticket-title py:choose= py:when test=ticket.exists