Blame progit/forms.py

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
            ]