|
Pierre-Yves Chibon |
ab2f8f |
#-*- 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 |
66950b |
class AddIssueCommentForm(wtf.Form):
|
|
Pierre-Yves Chibon |
66950b |
''' Form to add a comment to an issue. '''
|
|
Pierre-Yves Chibon |
66950b |
comment = wtforms.TextAreaField(
|
|
Pierre-Yves Chibon |
66950b |
'Comment*',
|
|
Pierre-Yves Chibon |
66950b |
[wtforms.validators.Required()]
|
|
Pierre-Yves Chibon |
66950b |
)
|
|
Pierre-Yves Chibon |
66950b |
|
|
Pierre-Yves Chibon |
66950b |
|
|
Pierre-Yves Chibon |
9c3c1a |
class UpdateIssueStatusForm(wtf.Form):
|
|
Pierre-Yves Chibon |
9c3c1a |
''' Form to update the status of an issue. '''
|
|
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 |
9c3c1a |
super(UpdateIssueStatusForm, 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 |
]
|