|
Pierre-Yves Chibon |
33b534 |
# -*- coding: utf-8 -*-
|
|
Pierre-Yves Chibon |
ab2f8f |
|
|
Pierre-Yves Chibon |
ab2f8f |
"""
|
|
Pierre-Yves Chibon |
ab2f8f |
(c) 2014 - Copyright Red Hat Inc
|
|
Pierre-Yves Chibon |
ab2f8f |
|
|
Pierre-Yves Chibon |
ab2f8f |
Authors:
|
|
Pierre-Yves Chibon |
ab2f8f |
Pierre-Yves Chibon <pingou@pingoured.fr></pingou@pingoured.fr>
|
|
Pierre-Yves Chibon |
ab2f8f |
|
|
Pierre-Yves Chibon |
ab2f8f |
"""
|
|
Pierre-Yves Chibon |
ab2f8f |
|
|
Pierre-Yves Chibon |
ab2f8f |
from flask.ext import wtf
|
|
Pierre-Yves Chibon |
ab2f8f |
import wtforms
|
|
Pierre-Yves Chibon |
ab2f8f |
|
|
Pierre-Yves Chibon |
ab2f8f |
|
|
Pierre-Yves Chibon |
ab2f8f |
class ProjectForm(wtf.Form):
|
|
Pierre-Yves Chibon |
ab2f8f |
''' Form to create or edit project. '''
|
|
Pierre-Yves Chibon |
ab2f8f |
name = wtforms.TextField(
|
|
Pierre-Yves Chibon |
ab2f8f |
'Project name *',
|
|
Pierre-Yves Chibon |
ab2f8f |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
ab2f8f |
)
|
|
Pierre-Yves Chibon |
ab2f8f |
description = wtforms.TextField(
|
|
Pierre-Yves Chibon |
ab2f8f |
'description',
|
|
Pierre-Yves Chibon |
ab2f8f |
[wtforms.validators.optional()]
|
|
Pierre-Yves Chibon |
ab2f8f |
)
|
|
Pierre-Yves Chibon |
a9bfbe |
|
|
Pierre-Yves Chibon |
a9bfbe |
|
|
Pierre-Yves Chibon |
a9bfbe |
class IssueForm(wtf.Form):
|
|
Pierre-Yves Chibon |
a9bfbe |
''' Form to create or edit an issue. '''
|
|
Pierre-Yves Chibon |
a9bfbe |
title = wtforms.TextField(
|
|
Pierre-Yves Chibon |
a9bfbe |
'Title*',
|
|
Pierre-Yves Chibon |
a9bfbe |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
a9bfbe |
)
|
|
Pierre-Yves Chibon |
c5a9a2 |
issue_content = wtforms.TextAreaField(
|
|
Pierre-Yves Chibon |
a9bfbe |
'Content*',
|
|
Pierre-Yves Chibon |
a9bfbe |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
a9bfbe |
)
|
|
Pierre-Yves Chibon |
01dc5b |
status = wtforms.SelectField(
|
|
Pierre-Yves Chibon |
01dc5b |
'Status',
|
|
Pierre-Yves Chibon |
01dc5b |
[wtforms.validators.Required()],
|
|
Pierre-Yves Chibon |
01dc5b |
choices=[(item, item) for item in []]
|
|
Pierre-Yves Chibon |
01dc5b |
)
|
|
Pierre-Yves Chibon |
01dc5b |
|
|
Pierre-Yves Chibon |
01dc5b |
def __init__(self, *args, **kwargs):
|
|
Pierre-Yves Chibon |
01dc5b |
""" Calls the default constructor with the normal argument but
|
|
Pierre-Yves Chibon |
01dc5b |
uses the list of collection provided to fill the choices of the
|
|
Pierre-Yves Chibon |
01dc5b |
drop-down list.
|
|
Pierre-Yves Chibon |
01dc5b |
"""
|
|
Pierre-Yves Chibon |
01dc5b |
super(IssueForm, self).__init__(*args, **kwargs)
|
|
Pierre-Yves Chibon |
01dc5b |
if 'status' in kwargs:
|
|
Pierre-Yves Chibon |
01dc5b |
self.status.choices = [
|
|
Pierre-Yves Chibon |
01dc5b |
(status, status) for status in kwargs['status']
|
|
Pierre-Yves Chibon |
01dc5b |
]
|
|
Pierre-Yves Chibon |
e926d1 |
|
|
Pierre-Yves Chibon |
e926d1 |
|
|
Pierre-Yves Chibon |
e926d1 |
class RequestPullForm(wtf.Form):
|
|
Pierre-Yves Chibon |
e926d1 |
''' Form to create a request pull. '''
|
|
Pierre-Yves Chibon |
e926d1 |
title = wtforms.TextField(
|
|
Pierre-Yves Chibon |
e926d1 |
'Title*',
|
|
Pierre-Yves Chibon |
e926d1 |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
e926d1 |
)
|
|
Pierre-Yves Chibon |
9c3c1a |
|
|
Pierre-Yves Chibon |
9c3c1a |
|
|
Pierre-Yves Chibon |
b01b43 |
class AddIssueTagForm(wtf.Form):
|
|
Pierre-Yves Chibon |
b01b43 |
''' Form to add a comment to an issue. '''
|
|
Pierre-Yves Chibon |
b01b43 |
tag = wtforms.TextField(
|
|
Pierre-Yves Chibon |
b01b43 |
'tag', [wtforms.validators.Optional()]
|
|
Pierre-Yves Chibon |
b01b43 |
)
|
|
Pierre-Yves Chibon |
b01b43 |
|
|
Pierre-Yves Chibon |
b01b43 |
|
|
Pierre-Yves Chibon |
2ac6a9 |
class UpdateIssueForm(wtf.Form):
|
|
Pierre-Yves Chibon |
66950b |
''' Form to add a comment to an issue. '''
|
|
Pierre-Yves Chibon |
c5541c |
tag = wtforms.TextField(
|
|
Pierre-Yves Chibon |
2ac6a9 |
'tag', [wtforms.validators.Optional()]
|
|
Pierre-Yves Chibon |
c5541c |
)
|
|
Pierre-Yves Chibon |
8890e1 |
depends = wtforms.TextField(
|
|
Pierre-Yves Chibon |
2ac6a9 |
'dependency issue', [wtforms.validators.Optional()]
|
|
Pierre-Yves Chibon |
8890e1 |
)
|
|
Pierre-Yves Chibon |
247d01 |
comment = wtforms.TextAreaField(
|
|
Pierre-Yves Chibon |
2ac6a9 |
'Comment', [wtforms.validators.Optional()]
|
|
Pierre-Yves Chibon |
2ac6a9 |
)
|
|
Pierre-Yves Chibon |
2ac6a9 |
assignee = wtforms.TextAreaField(
|
|
Pierre-Yves Chibon |
2ac6a9 |
'Assigned to', [wtforms.validators.Optional()]
|
|
Pierre-Yves Chibon |
247d01 |
)
|
|
Pierre-Yves Chibon |
9c3c1a |
status = wtforms.SelectField(
|
|
Pierre-Yves Chibon |
9c3c1a |
'Status',
|
|
Pierre-Yves Chibon |
9c3c1a |
[wtforms.validators.Required()],
|
|
Pierre-Yves Chibon |
9c3c1a |
choices=[(item, item) for item in []]
|
|
Pierre-Yves Chibon |
9c3c1a |
)
|
|
Pierre-Yves Chibon |
9c3c1a |
|
|
Pierre-Yves Chibon |
9c3c1a |
def __init__(self, *args, **kwargs):
|
|
Pierre-Yves Chibon |
9c3c1a |
""" Calls the default constructor with the normal argument but
|
|
Pierre-Yves Chibon |
9c3c1a |
uses the list of collection provided to fill the choices of the
|
|
Pierre-Yves Chibon |
9c3c1a |
drop-down list.
|
|
Pierre-Yves Chibon |
9c3c1a |
"""
|
|
Pierre-Yves Chibon |
2ac6a9 |
super(UpdateIssueForm, self).__init__(*args, **kwargs)
|
|
Pierre-Yves Chibon |
9c3c1a |
if 'status' in kwargs:
|
|
Pierre-Yves Chibon |
9c3c1a |
self.status.choices = [
|
|
Pierre-Yves Chibon |
9c3c1a |
(status, status) for status in kwargs['status']
|
|
Pierre-Yves Chibon |
9c3c1a |
]
|
|
Pierre-Yves Chibon |
ec0500 |
|
|
Pierre-Yves Chibon |
ec0500 |
|
|
Pierre-Yves Chibon |
2ac6a9 |
class AddPullRequestCommentForm(wtf.Form):
|
|
Pierre-Yves Chibon |
2ac6a9 |
''' Form to add a comment to a pull-request. '''
|
|
Pierre-Yves Chibon |
2ac6a9 |
commit = wtforms.HiddenField('commit identifier')
|
|
Pierre-Yves Chibon |
2ac6a9 |
filename = wtforms.HiddenField('file changed')
|
|
Pierre-Yves Chibon |
2ac6a9 |
row = wtforms.HiddenField('row')
|
|
Pierre-Yves Chibon |
2ac6a9 |
requestid = wtforms.HiddenField('requestid')
|
|
Pierre-Yves Chibon |
2ac6a9 |
comment = wtforms.TextAreaField(
|
|
Pierre-Yves Chibon |
2ac6a9 |
'Comment*',
|
|
Pierre-Yves Chibon |
2ac6a9 |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
2ac6a9 |
)
|
|
Pierre-Yves Chibon |
2ac6a9 |
|
|
Pierre-Yves Chibon |
2ac6a9 |
|
|
Pierre-Yves Chibon |
ec0500 |
class ProjectSettingsForm(wtf.Form):
|
|
Pierre-Yves Chibon |
ec0500 |
''' Form to update the settings of a project. '''
|
|
Pierre-Yves Chibon |
ec0500 |
issue_tracker = wtforms.BooleanField(
|
|
Pierre-Yves Chibon |
ec0500 |
'Activate issue tracker',
|
|
Pierre-Yves Chibon |
ec0500 |
[wtforms.validators.optional()],
|
|
Pierre-Yves Chibon |
ec0500 |
)
|
|
Pierre-Yves Chibon |
ec0500 |
project_docs = wtforms.BooleanField(
|
|
Pierre-Yves Chibon |
ec0500 |
'Activate project documentation',
|
|
Pierre-Yves Chibon |
ec0500 |
[wtforms.validators.optional()],
|
|
Pierre-Yves Chibon |
ec0500 |
)
|
|
Pierre-Yves Chibon |
ec0500 |
|
|
Pierre-Yves Chibon |
ec0500 |
def __init__(self, *args, **kwargs):
|
|
Pierre-Yves Chibon |
ec0500 |
""" Calls the default constructor with the normal argument but
|
|
Pierre-Yves Chibon |
ec0500 |
uses the list of collection provided to fill the choices of the
|
|
Pierre-Yves Chibon |
ec0500 |
drop-down list.
|
|
Pierre-Yves Chibon |
ec0500 |
"""
|
|
Pierre-Yves Chibon |
ec0500 |
super(ProjectSettingsForm, self).__init__(*args, **kwargs)
|
|
Pierre-Yves Chibon |
ec0500 |
if 'project' in kwargs:
|
|
Pierre-Yves Chibon |
ec0500 |
self.issue_tracker.data = kwargs['project'].issue_tracker
|
|
Pierre-Yves Chibon |
ec0500 |
self.project_docs.data = kwargs['project'].project_docs
|
|
Pierre-Yves Chibon |
7d80f3 |
|
|
Pierre-Yves Chibon |
7d80f3 |
|
|
Pierre-Yves Chibon |
7d80f3 |
class UserSettingsForm(wtf.Form):
|
|
Pierre-Yves Chibon |
7d80f3 |
''' Form to create or edit project. '''
|
|
Pierre-Yves Chibon |
7d80f3 |
ssh_key = wtforms.TextAreaField(
|
|
Pierre-Yves Chibon |
7d80f3 |
'Public ssh key *',
|
|
Pierre-Yves Chibon |
7d80f3 |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
7d80f3 |
)
|
|
Pierre-Yves Chibon |
6350bb |
|
|
Pierre-Yves Chibon |
6350bb |
|
|
Pierre-Yves Chibon |
6350bb |
class AddUserForm(wtf.Form):
|
|
Pierre-Yves Chibon |
6350bb |
''' Form to add a user to a project. '''
|
|
Pierre-Yves Chibon |
6350bb |
user = wtforms.TextField(
|
|
Pierre-Yves Chibon |
6350bb |
'Username *',
|
|
Pierre-Yves Chibon |
6350bb |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
6350bb |
)
|
|
Pierre-Yves Chibon |
443aa9 |
|
|
Pierre-Yves Chibon |
443aa9 |
|
|
Pierre-Yves Chibon |
443aa9 |
class DescriptionForm(wtf.Form):
|
|
Pierre-Yves Chibon |
443aa9 |
''' Form to edit the description of a project. '''
|
|
Pierre-Yves Chibon |
443aa9 |
description = wtforms.TextField(
|
|
Pierre-Yves Chibon |
443aa9 |
'description *',
|
|
Pierre-Yves Chibon |
443aa9 |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
443aa9 |
)
|
|
Pierre-Yves Chibon |
5a9800 |
|
|
Pierre-Yves Chibon |
e04c77 |
|
|
Pierre-Yves Chibon |
5a9800 |
class ConfirmationForm(wtf.Form):
|
|
Pierre-Yves Chibon |
5a9800 |
pass
|