svn commit: r1460325 - /incubator/bloodhound/site/index.html

2013-03-24 Thread gjm
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

2013-03-22 Thread gjm
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

2013-03-21 Thread gjm
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

2013-03-19 Thread gjm
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

2013-03-19 Thread gjm
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

2013-03-19 Thread gjm
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

2013-03-19 Thread gjm
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

2013-03-19 Thread gjm
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

2013-03-13 Thread gjm
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

2013-03-11 Thread gjm
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

2013-03-05 Thread gjm
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

2013-03-05 Thread gjm
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

2013-02-18 Thread gjm
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

2013-02-18 Thread gjm
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

2013-02-18 Thread gjm
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

2013-02-18 Thread gjm
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

2013-02-18 Thread gjm
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

2013-02-15 Thread gjm
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

2013-02-13 Thread gjm
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

2013-02-13 Thread gjm
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

2013-02-11 Thread gjm
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/

2013-02-11 Thread gjm
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

2013-02-11 Thread gjm
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

2013-02-11 Thread gjm
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

2013-01-10 Thread gjm
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

2013-01-10 Thread gjm
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

2013-01-09 Thread gjm
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

2013-01-09 Thread gjm
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

2013-01-08 Thread gjm
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

2013-01-08 Thread gjm
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

2013-01-07 Thread gjm
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

2013-01-07 Thread gjm
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

2013-01-07 Thread gjm
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

2013-01-04 Thread gjm
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

2013-01-02 Thread gjm
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

2013-01-02 Thread gjm
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

2013-01-02 Thread gjm
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

2012-12-24 Thread gjm
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

2012-12-21 Thread gjm
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

2012-12-20 Thread gjm
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

2012-12-20 Thread gjm
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

2012-12-19 Thread gjm
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

2012-12-13 Thread gjm
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

2012-12-12 Thread gjm
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

2012-12-10 Thread gjm
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

2012-12-10 Thread gjm
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

2012-12-10 Thread gjm
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

2012-11-30 Thread gjm
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

2012-11-30 Thread gjm
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

2012-11-30 Thread gjm
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

2012-11-29 Thread gjm
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

2012-11-26 Thread gjm
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

2012-11-26 Thread gjm
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

2012-11-21 Thread gjm
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

2012-11-20 Thread gjm
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

2012-11-20 Thread gjm
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

2012-11-19 Thread gjm
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

2012-11-15 Thread gjm
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

2012-11-14 Thread gjm
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

2012-11-14 Thread gjm
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

2012-11-14 Thread gjm
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

2012-11-14 Thread gjm
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

2012-11-13 Thread gjm
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

2012-11-13 Thread gjm
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

2012-11-12 Thread gjm
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

2012-11-02 Thread gjm
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

2012-11-02 Thread gjm
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

2012-11-02 Thread gjm
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

2012-11-02 Thread gjm
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

2012-11-02 Thread gjm
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

2012-11-02 Thread gjm
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

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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/

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-16 Thread gjm
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

2012-10-15 Thread gjm
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

2012-10-15 Thread gjm
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

2012-10-03 Thread gjm
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

2012-10-03 Thread gjm
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/

2012-09-24 Thread gjm
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

2012-09-17 Thread gjm
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

2012-09-17 Thread gjm
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

2012-09-11 Thread gjm
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

2012-09-11 Thread gjm
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/

2012-09-05 Thread gjm
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

2012-09-05 Thread gjm
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




  1   2   3   >