You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by tv...@apache.org on 2013/09/11 16:25:35 UTC
git commit: [#6608] Close milestones on import if no open tickets
Updated Branches:
refs/heads/tv/6608 [created] 72c708309
[#6608] Close milestones on import if no open tickets
Signed-off-by: Tim Van Steenburgh <tv...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/72c70830
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/72c70830
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/72c70830
Branch: refs/heads/tv/6608
Commit: 72c70830989aceabf3f5af2bb12dabbe290524ad
Parents: 21b64d0
Author: Tim Van Steenburgh <tv...@gmail.com>
Authored: Wed Sep 11 14:25:16 2013 +0000
Committer: Tim Van Steenburgh <tv...@gmail.com>
Committed: Wed Sep 11 14:25:16 2013 +0000
----------------------------------------------------------------------
ForgeImporters/forgeimporters/trac/tickets.py | 8 ++++----
ForgeTracker/forgetracker/import_support.py | 20 +++++++++-----------
2 files changed, 13 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/72c70830/ForgeImporters/forgeimporters/trac/tickets.py
----------------------------------------------------------------------
diff --git a/ForgeImporters/forgeimporters/trac/tickets.py b/ForgeImporters/forgeimporters/trac/tickets.py
index 9e4f493..45b2710 100644
--- a/ForgeImporters/forgeimporters/trac/tickets.py
+++ b/ForgeImporters/forgeimporters/trac/tickets.py
@@ -138,11 +138,11 @@ class TracTicketImporter(ToolImporter):
export_string, validate=False)
AuditLog.log(
'import tool %s from %s' % (
- app.config.options.mount_point,
- trac_url,
- ),
+ app.config.options.mount_point,
+ trac_url,
+ ),
project=project, user=user, url=app.url,
- )
+ )
g.post_event('project_updated')
return app
except Exception as e:
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/72c70830/ForgeTracker/forgetracker/import_support.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/import_support.py b/ForgeTracker/forgetracker/import_support.py
index 9637ebc..cfc7839 100644
--- a/ForgeTracker/forgetracker/import_support.py
+++ b/ForgeTracker/forgetracker/import_support.py
@@ -148,7 +148,7 @@ class ImportSupport(object):
u = M.User.by_username(username)
return u._id if u else None
- def check_custom_field(self, field, value):
+ def check_custom_field(self, field, value, ticket_status):
field = c.app.globals.get_custom_field(field)
if (field['type'] == 'select') and value:
field_options = h.split_select_field_options(h.really_unicode(field['options']))
@@ -156,20 +156,21 @@ class ImportSupport(object):
field['options'] = ' '.join([field['options'], value])
elif (field['type'] == 'milestone') and value:
milestones = field['milestones']
- is_exists = False
for milestone in milestones:
if milestone['name'] == value:
- is_exists = True
- if not is_exists:
+ if ticket_status in c.app.globals.open_status_names:
+ milestone['complete'] = False
+ break
+ else:
milestone = {'due_date': '',
- 'complete': False,
+ 'complete': not ticket_status in c.app.globals.open_status_names,
'description': '',
'name': value,
'old_name': value}
field['milestones'].append(milestone)
ThreadLocalORMSession.flush_all()
- def custom(self, ticket, field, value):
+ def custom(self, ticket, field, value, ticket_status):
field = '_' + field
if not c.app.has_custom_field(field):
log.warning('Custom field %s is not defined, defining as string', field)
@@ -177,12 +178,9 @@ class ImportSupport(object):
ThreadLocalORMSession.flush_all()
if 'custom_fields' not in ticket:
ticket['custom_fields'] = {}
- self.check_custom_field(field, value)
+ self.check_custom_field(field, value, ticket_status)
ticket['custom_fields'][field] = value
- #
- # Object convertors
- #
def make_artifact(self, ticket_dict):
remapped = {}
for f, v in ticket_dict.iteritems():
@@ -194,7 +192,7 @@ class ImportSupport(object):
elif callable(transform):
transform(remapped, f, v)
elif transform is ():
- self.custom(remapped, f, v)
+ self.custom(remapped, f, v, ticket_dict.get('status'))
else:
new_f, conv = transform
remapped[new_f] = conv(v)