add command "issue validate"
This commit is contained in:
parent
1e40d313ee
commit
cf670cfae3
7
README
7
README
|
@ -100,6 +100,13 @@ Apply patched atteched to issue 9999.::
|
||||||
|
|
||||||
git redmine issue apply --issue 9999
|
git redmine issue apply --issue 9999
|
||||||
|
|
||||||
|
issue validate
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Validate the current issue or a target issue (--issue).
|
||||||
|
|
||||||
|
git redmine issue validate [--issue 9999]
|
||||||
|
|
||||||
link
|
link
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,7 @@ def get_redmine_api():
|
||||||
redmine.statuses = {status.name: status for status in redmine.issue_status.all()}
|
redmine.statuses = {status.name: status for status in redmine.issue_status.all()}
|
||||||
redmine.nouveau = redmine.statuses['Nouveau']
|
redmine.nouveau = redmine.statuses['Nouveau']
|
||||||
redmine.solution = redmine.statuses['Solution proposée']
|
redmine.solution = redmine.statuses['Solution proposée']
|
||||||
|
redmine.solution_validee = redmine.statuses['Solution validée']
|
||||||
redmine.resolu_a_deployer = redmine.statuses['Résolu (à déployer)']
|
redmine.resolu_a_deployer = redmine.statuses['Résolu (à déployer)']
|
||||||
redmine.developpement = [tr for tr in redmine.tracker.all() if tr.name == 'Développement'][0]
|
redmine.developpement = [tr for tr in redmine.tracker.all() if tr.name == 'Développement'][0]
|
||||||
redmine.rustine = [cf for cf in redmine.custom_field.all() if cf.name == 'Rustine proposée'][0]
|
redmine.rustine = [cf for cf in redmine.custom_field.all() if cf.name == 'Rustine proposée'][0]
|
||||||
|
@ -266,7 +267,7 @@ def take(issue_number, reference):
|
||||||
current_user = api.user.get('current')
|
current_user = api.user.get('current')
|
||||||
if (not hasattr(issue, 'assigned_to') or issue.assigned_to.id != current_user.id) and click.confirm(
|
if (not hasattr(issue, 'assigned_to') or issue.assigned_to.id != current_user.id) and click.confirm(
|
||||||
'Do you want to assign the issue to yourself ?',
|
'Do you want to assign the issue to yourself ?',
|
||||||
default=not hasattr(issue, 'assigned_to') and issue.status == api.nouveau,
|
default=not hasattr(issue, 'assigned_to') and issue.status.id == api.nouveau.id,
|
||||||
):
|
):
|
||||||
issue.assigned_to_id = current_user.id
|
issue.assigned_to_id = current_user.id
|
||||||
issue.save()
|
issue.save()
|
||||||
|
@ -282,6 +283,33 @@ def apply(issue):
|
||||||
apply_attachments(repo, issue)
|
apply_attachments(repo, issue)
|
||||||
|
|
||||||
|
|
||||||
|
def get_comment(message, default=False):
|
||||||
|
if not click.confirm(message, default=default):
|
||||||
|
return
|
||||||
|
|
||||||
|
message = '\n' + MARKER
|
||||||
|
message = click.edit(message)
|
||||||
|
if message is not None:
|
||||||
|
message = message.split(MARKER, 1)[0].rstrip('\n')
|
||||||
|
return message
|
||||||
|
|
||||||
|
|
||||||
|
@issue.command()
|
||||||
|
@click.option('--issue', default=None, type=int)
|
||||||
|
def validate(issue):
|
||||||
|
api = get_redmine_api()
|
||||||
|
issue = get_issue(issue)
|
||||||
|
if issue.status.id != api.solution.id:
|
||||||
|
click.secho('Issue %s has no solution proposed.' % issue.id, fg='red')
|
||||||
|
return False
|
||||||
|
comment = get_comment('Do you want to add a coment to your validation?')
|
||||||
|
kwargs = {}
|
||||||
|
if comment:
|
||||||
|
kwargs['notes'] = comment
|
||||||
|
kwargs['status_id'] = api.solution_validee.id
|
||||||
|
api.issue.update(issue.id, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
@issue.command()
|
@issue.command()
|
||||||
@click.option('--issue', default=None, type=int)
|
@click.option('--issue', default=None, type=int)
|
||||||
def show(issue):
|
def show(issue):
|
||||||
|
|
Loading…
Reference in New Issue