svn commit: r2401 - /dev/bloodhound/KEYS
Author: rjollos Date: Tue Jul 9 06:57:53 2013 New Revision: 2401 Log: Copied KEYS file from Bloodhound's incubator dist/dev directory, to Bloodhound's current (post-graudation) dist/dev directory. Added: dev/bloodhound/KEYS - copied unchanged from r2400, dev/incubator/bloodhound/KEYS
svn commit: r2402 - /dev/bloodhound/KEYS
Author: rjollos Date: Tue Jul 9 07:20:20 2013 New Revision: 2402 Log: New code signing key. Modified: dev/bloodhound/KEYS Modified: dev/bloodhound/KEYS == --- dev/bloodhound/KEYS (original) +++ dev/bloodhound/KEYS Tue Jul 9 07:20:20 2013 @@ -142,61 +142,61 @@ =ybCd -END PGP PUBLIC KEY BLOCK- -pub 4096R/8DDBBEE2 2013-01-14 +pub 4096R/F029BE7E 2013-07-09 uid Ryan J Ollos (CODE SIGNING KEY) rjol...@apache.org -sig 38DDBBEE2 2013-01-14 Ryan J Ollos (CODE SIGNING KEY) rjol...@apache.org -sub 4096R/1FD3192F 2013-01-14 -sig 8DDBBEE2 2013-01-14 Ryan J Ollos (CODE SIGNING KEY) rjol...@apache.org +sig 3F029BE7E 2013-07-09 Ryan J Ollos (CODE SIGNING KEY) rjol...@apache.org +sub 4096R/7FC07D53 2013-07-09 +sig F029BE7E 2013-07-09 Ryan J Ollos (CODE SIGNING KEY) rjol...@apache.org -BEGIN PGP PUBLIC KEY BLOCK- Version: GnuPG v1.4.12 (GNU/Linux) -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 -bG+DPdd7vgET/YaHVxIUf5ia -=/YyU +ZS5vcmc+iQI3BBMBCgAhBQJR26mNAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheA +AAoJEE6KraDwKb5+PRgQAKLyUIbABtZzQ+iqIzNeqTzcXBihgbLfk3e405QaznUO
svn commit: r1501117 - /bloodhound/tags/0.6/
Author: rjollos Date: Tue Jul 9 07:37:06 2013 New Revision: 1501117 URL: http://svn.apache.org/r1501117 Log: Tagging release 0.6 Added: bloodhound/tags/0.6/ (props changed) - copied from r1501116, bloodhound/branches/0.6/ Propchange: bloodhound/tags/0.6/ -- --- svn:ignore (added) +++ svn:ignore Tue Jul 9 07:37:06 2013 @@ -0,0 +1,7 @@ +*.DS_Store +.idea +.project +.pydevproject +.git +.gitignore +.hg Propchange: bloodhound/tags/0.6/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Jul 9 07:37:06 2013 @@ -0,0 +1,2 @@ +/bloodhound/branches/bep_0003_multiproduct:1461360-1463488 +/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
[Apache Bloodhound] New user registration: pavan6e
New user registration for user pavan6e -- Apache Bloodhound https://issues.apache.org/bloodhound/ The Apache Bloodhound issue tracker
svn commit: r1501127 - /bloodhound/trunk/bloodhound_multiproduct/tests/env.py
Author: astaric Date: Tue Jul 9 08:27:23 2013 New Revision: 1501127 URL: http://svn.apache.org/r1501127 Log: Removed a reference to self that was missed in r1499182. Modified: bloodhound/trunk/bloodhound_multiproduct/tests/env.py Modified: bloodhound/trunk/bloodhound_multiproduct/tests/env.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/env.py?rev=1501127r1=1501126r2=1501127view=diff == --- bloodhound/trunk/bloodhound_multiproduct/tests/env.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/env.py Tue Jul 9 08:27:23 2013 @@ -233,7 +233,7 @@ class MultiproductTestCase(unittest.Test except OperationalError: # Database is upgraded, but database version was deleted. # Complete the upgrade by inserting default product. -self.mpsystem._insert_default_product(env.db_transaction) +mpsystem._insert_default_product(env.db_transaction) # assume that the database schema has been upgraded, enable # multi-product schema support in environment env.enable_multiproduct_schema(True)
svn commit: r1501144 - /bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py
Author: rjollos Date: Tue Jul 9 09:05:33 2013 New Revision: 1501144 URL: http://svn.apache.org/r1501144 Log: Remove print statement left in code in [1495037] from debugging. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py?rev=1501144r1=1501143r2=1501144view=diff == --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/web_ui.py Tue Jul 9 09:05:33 2013 @@ -99,7 +99,6 @@ class ProductModule(Component): def _render_list(self, req): products list -print Rendering list products = [p for p in Product.select(self.env) if 'PRODUCT_VIEW' in req.perm(Neighborhood('product', p.prefix))]
Re: [Apache Bloodhound] #588: Integrate duplicate relations to ticket workflow
#588: Integrate duplicate relations to ticket workflow --+-- Reporter: astaric | Owner: astaric Type: enhancement | Status: accepted Priority: major| Milestone: Component: relations|Version: Resolution: | Keywords: --+-- Changes (by astaric): * owner: anze = astaric * status: new = accepted -- Ticket URL: https://issues.apache.org/bloodhound/ticket/588#comment:1 Apache Bloodhound https://issues.apache.org/bloodhound/ The Apache Bloodhound issue tracker
svn commit: r1501149 - in /bloodhound/trunk/bloodhound_theme/bhtheme: htdocs/js/theme.js theme.py
Author: rjollos Date: Tue Jul 9 09:14:53 2013 New Revision: 1501149 URL: http://svn.apache.org/r1501149 Log: Fix //View/Edit// link in the presence of product subdomains. Fixes #586. Ensure that the resource URL is properly constructed for all of the product and resource mappings specified in BEP-0003. Patch by Olemis. Modified: bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Modified: bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js?rev=1501149r1=1501148r2=1501149view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/js/theme.js Tue Jul 9 09:14:53 2013 @@ -129,15 +129,11 @@ $( function () { product_base_url = ''; $.post(product_base_url + '/qct', $('#qct-form').serialize(), function(ticket) { -var base_url = product_base_url.split('/products/')[0]; -var href = base_url + '/products/' + - encodeURIComponent(ticket.product) + - '/ticket/' + ticket.id; qct_alert({ ticket: ticket.id, msg: 'span class=alert alert-success' + 'Has been created/span ' + - 'a href=' + href + 'View / Edit/a' + 'a href=' + ticket.url + 'View / Edit/a' }); }) .error(function(jqXHR, textStatus, errorMsg) { @@ -165,13 +161,8 @@ $( function () { product_base_url = ''; $.post(product_base_url + '/qct', $('#qct-inline-form').serialize(), function(ticket) { -var base_url = product_base_url.split('/products/')[0]; -var href = base_url + '/products/' + - encodeURIComponent(ticket.product) + - '/ticket/' + ticket.id; - var msg = 'Ticket #' + ticket.id + ' has been created. '; -msg += 'a href=' + href + 'View / Edit/a'; +msg += 'a href=' + ticket.url + 'View / Edit/a'; $('#qct-inline-notice-success span').html(msg); $('#qct-inline-notice-success').show({'duration': 400}); }) Modified: bloodhound/trunk/bloodhound_theme/bhtheme/theme.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/theme.py?rev=1501149r1=1501148r2=1501149view=diff == --- bloodhound/trunk/bloodhound_theme/bhtheme/theme.py (original) +++ bloodhound/trunk/bloodhound_theme/bhtheme/theme.py Tue Jul 9 09:14:53 2013 @@ -26,7 +26,7 @@ from genshi.output import DocType from trac.config import ListOption, Option from trac.core import Component, TracError, implements from trac.mimeview.api import get_mimetype -from trac.resource import Resource +from trac.resource import get_resource_url, Neighborhood, Resource from trac.ticket.model import Ticket, Milestone from trac.ticket.notification import TicketNotifyEmail from trac.ticket.web_ui import TicketModule @@ -521,7 +521,10 @@ class QuickCreateTicketDialog(Component) self.log.exception(BH: Quick create ticket failed %s % (exc,)) req.send(str(exc), 'plain/text', 500) else: -req.send(to_json({'product': product, 'id': tid}), +tres = Neighborhood('product', product)('ticket', tid) +href = req.href +req.send(to_json({'product': product, 'id': tid, + 'url': get_resource_url(self.env, tres, href)}), 'application/json') def _get_ticket_module(self):
svn commit: r1501152 - in /bloodhound/trunk: bloodhound_relations/bhrelations/ bloodhound_relations/bhrelations/tests/ bloodhound_relations/bhrelations/widgets/ bloodhound_theme/bhtheme/htdocs/ bloodh
Author: astaric Date: Tue Jul 9 09:19:00 2013 New Revision: 1501152 URL: http://svn.apache.org/r1501152 Log: Integration of duplicate relations to close as duplicate workflow. Refs: #588 Added: bloodhound/trunk/bloodhound_relations/bhrelations/tests/base.py bloodhound/trunk/bloodhound_relations/bhrelations/utils.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/api.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/api.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/notification.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/search.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/validation.py bloodhound/trunk/bloodhound_relations/bhrelations/tests/web_ui.py bloodhound/trunk/bloodhound_relations/bhrelations/web_ui.py bloodhound/trunk/bloodhound_relations/bhrelations/widgets/relations.py bloodhound/trunk/bloodhound_theme/bhtheme/htdocs/bloodhound.css bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_ticket.html bloodhound/trunk/installer/bloodhound_setup.py Modified: bloodhound/trunk/bloodhound_relations/bhrelations/api.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_relations/bhrelations/api.py?rev=1501152r1=1501151r2=1501152view=diff == --- bloodhound/trunk/bloodhound_relations/bhrelations/api.py (original) +++ bloodhound/trunk/bloodhound_relations/bhrelations/api.py Tue Jul 9 09:19:00 2013 @@ -17,17 +17,24 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +import itertools + +import re from datetime import datetime from pkg_resources import resource_filename from bhrelations import db_default from bhrelations.model import Relation +from bhrelations.utils import unique from multiproduct.api import ISupportMultiProductEnvironment -from trac.config import OrderedExtensionsOption +from multiproduct.model import Product +from multiproduct.env import ProductEnvironment + +from trac.config import OrderedExtensionsOption, Option from trac.core import (Component, implements, TracError, Interface, ExtensionPoint) from trac.env import IEnvironmentSetupParticipant from trac.db import DatabaseManager -from trac.resource import (ResourceSystem, Resource, +from trac.resource import (ResourceSystem, Resource, ResourceNotFound, get_resource_shortname, Neighborhood) from trac.ticket import Ticket, ITicketManipulator, ITicketChangeListener from trac.util.datefmt import utc, to_utimestamp @@ -167,6 +174,12 @@ class RelationsSystem(Component): regardless of their type. ) +duplicate_relation_type = Option( +'bhrelations', +'duplicate_relation', +'', +Relation type to be used with the resolve as duplicate workflow.) + def __init__(self): links, labels, validators, blockers, copy_fields, exclusive = \ self._parse_config() @@ -443,28 +456,46 @@ class ResourceIdSerializer(object): class TicketRelationsSpecifics(Component): implements(ITicketManipulator, ITicketChangeListener) -#ITicketChangeListener methods +def __init__(self): +self.rls = RelationsSystem(self.env) +#ITicketChangeListener methods def ticket_created(self, ticket): pass def ticket_changed(self, ticket, comment, author, old_values): -pass +if ( +self._closed_as_duplicate(ticket) and +self.rls.duplicate_relation_type +): +try: +self.rls.add(ticket, ticket.duplicate, + self.rls.duplicate_relation_type, + comment, author) +except TracError: +pass + +def _closed_as_duplicate(self, ticket): +return (ticket['status'] == 'closed' and +ticket['resolution'] == 'duplicate') def ticket_deleted(self, ticket): -RelationsSystem(self.env).delete_resource_relations(ticket) +self.rls.delete_resource_relations(ticket) #ITicketManipulator methods - def prepare_ticket(self, req, ticket, fields, actions): pass def validate_ticket(self, req, ticket): -action = req.args.get('action') -if action == 'resolve': -rls = RelationsSystem(self.env) -blockers = rls.find_blockers( -ticket, self.is_blocker) +return itertools.chain( +self._check_blockers(req, ticket), +self._check_open_children(req, ticket), +self._check_duplicate_id(req, ticket), +) + +def _check_blockers(self, req, ticket): +if req.args.get('action') == 'resolve': +blockers = self.rls.find_blockers(ticket, self.is_blocker) if blockers:
Re: [Apache Bloodhound] #428: Create ticket popover (DIV#qct-box) not enclosing Full dialogue link
#428: Create ticket popover (DIV#qct-box) not enclosing Full dialogue link + Reporter: gjm| Owner: nobody Type: defect | Status: new Priority: major | Milestone: Component: dashboard |Version: 0.4.0 Resolution: | Keywords: qct + Changes (by rjollos): * owner: = nobody * keywords: = qct * component: = dashboard Comment: This issue may have been fixed by matevz in #468, and the link in question appears to have been moved in #507. Does that sound correct? -- Ticket URL: https://issues.apache.org/bloodhound/ticket/428#comment:1 Apache Bloodhound https://issues.apache.org/bloodhound/ The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #583: Adapt to new ThemeEnginePlugin API (2.2.0)
#583: Adapt to new ThemeEnginePlugin API (2.2.0) --+ Reporter: rjollos | Owner: nobody Type: enhancement | Status: new Priority: minor| Milestone: Release 7 Component: plugins |Version: Resolution: | Keywords: themeengine plugin --+ Changes (by rjollos): * keywords: themeengine = themeengine plugin * milestone: = Release 7 -- Ticket URL: https://issues.apache.org/bloodhound/ticket/583#comment:2 Apache Bloodhound https://issues.apache.org/bloodhound/ The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #428: Create ticket popover (DIV#qct-box) not enclosing Full dialogue link
#428: Create ticket popover (DIV#qct-box) not enclosing Full dialogue link + Reporter: gjm| Owner: nobody Type: defect | Status: closed Priority: major | Milestone: Component: dashboard |Version: 0.4.0 Resolution: duplicate | Keywords: qct + Changes (by gjm): * status: new = closed * resolution: = duplicate Comment: If I remember this right, it does appear to be fixed. Closing as duplicate of #468 -- Ticket URL: https://issues.apache.org/bloodhound/ticket/428#comment:2 Apache Bloodhound https://issues.apache.org/bloodhound/ The Apache Bloodhound issue tracker