Ejemplo n.º 1
0
class LibrarianBaseForm(FlaskForm):
    first_name = StringField(
        _l('First name'),
        validators=[required_cust(),
                    length_cust(max=20),
                    string_cust()])
    last_name = StringField(
        _l('Last name'),
        validators=[required_cust(),
                    length_cust(max=30),
                    string_cust()])
Ejemplo n.º 2
0
class SearchForm(FlaskForm):
    text = StringField(
        _l('Search for'),
        validators=[optional_cust(),
                    string_cust(),
                    length_cust(max=50)])
    submit = SubmitField(_l('Search'))
Ejemplo n.º 3
0
class PriceAdd(FlaskForm):
    price_value = DecimalField(_l('Price'),
                               validators=[required_cust_decimal()],
                               places=2)
    currency = StringField(
        _l('Currency'),
        validators=[required_cust(),
                    char_cust(),
                    length_cust(max=3)])
    note = TextAreaField(
        _l('Note'),
        validators=[optional_cust(),
                    string_cust(),
                    length_cust(max=150)])
    submit = SubmitField(_l('Add price'))

    def validate_price_value(self, price_value):
        if price_value.data < 0.0:
            raise ValidationError(_l('Price can not be lower than zero') + '.')
        elif price_value.data > 100.0:
            raise ValidationError(
                _l('Price can not be higher than hundred') + '.')
        else:
            exists = ExtensionPrice.query.filter(
                and_(ExtensionPrice.price_value == price_value.data,
                     ExtensionPrice.currency == self.currency.data)).first()
            if not exists == None:
                raise ValidationError(
                    _l('Price value already exists, please consider activating the existing one'
                       ) + '.')
Ejemplo n.º 4
0
class PriceUpdate(FlaskForm):
    note = TextAreaField(
        _l('Note'),
        validators=[optional_cust(),
                    string_cust(),
                    length_cust(max=150)])
    submit = SubmitField(_l('Approve'))
Ejemplo n.º 5
0
class BookCUForm(FlaskForm):
    inv_number = StringField(
        _l('Inventory number'),
        validators=[required_cust(),
                    numeric_cust(),
                    length_cust(max=6)])
    signature = StringField(
        _l('Signature'),
        validators=[required_cust(),
                    signature_cust(),
                    length_cust(max=15)])
    title = StringField(
        _l('Title'),
        validators=[required_cust(),
                    string_cust(),
                    length_cust(max=50)])
    author = StringField(
        _l('Author'),
        validators=[required_cust(),
                    string_cust(),
                    length_cust(max=50)])
    has_error = BooleanField(
        _l('Has error') + ' (' +
        _l('book has a problematic inventory number') + ')')
Ejemplo n.º 6
0
class LibrarianForm(LibrarianBaseForm):
    email = StringField(
        _l('E-mail address'),
        validators=[optional_cust(),
                    email_cust(),
                    length_cust(max=40)])
    phone = StringField(_l('Phone'),
                        validators=[required_cust(),
                                    phone_cust()])
    address = StringField(
        _l('Address'),
        validators=[required_cust(),
                    length_cust(max=50),
                    string_cust()])

    def validate_username(self, username):
        librarian = Librarian.query.filter_by(username=username.data).first()
        if librarian:
            raise ValidationError(
                _l('That username is taken. Please choose a different one') +
                '.')
Ejemplo n.º 7
0
class ExtensionForm(FlaskForm):
    date_expiration = None
    price = QuerySelectField(
        _l('Price'),
        query_factory=lambda: ExtensionPrice.query.filter_by(
            is_enabled=True).order_by(ExtensionPrice.price_value))
    note = TextAreaField(
        _l('Note'),
        validators=[optional_cust(),
                    string_cust(),
                    length_cust(max=150)])
    date_performed = DateField(_l('Date extended'),
                               validators=[required_cust_date()],
                               format=DATE_FORMAT,
                               default=date.today())
    submit = SubmitField(_l('Extend membership'))

    def validate_date_performed(self, date_performed):
        if date_performed.data > date.today():
            raise ValidationError(_l('Date can not be set in future') + '.')
        elif self.date_expiration < date.today():
            if date_performed.data < date.today() - timedelta(
                    BACKWARD_INPUT_LIMIT):
                raise ValidationError(
                    _l('Date cannot be set in past for more than') + ' ' +
                    str(BACKWARD_INPUT_LIMIT) + ' ' + _l('days') + '.')
        elif self.date_expiration >= date.today():
            if date_performed.data < self.date_expiration - timedelta(
                    BACKWARD_INPUT_LIMIT):
                raise ValidationError(
                    _l('Date cannot be set more than') + ' ' +
                    str(BACKWARD_INPUT_LIMIT) + ' ' +
                    _l('days before the curent membership expiration date') +
                    '.')

    def validate_price(self, price):
        if not price.data == None:
            found = ExtensionPrice.query.filter_by(id=price.data.id).first()
            if not found:
                raise ValidationError(_l('Value is not a valid price') + '.')
Ejemplo n.º 8
0
class ShortFilterForm(FlaskForm):
    text = StringField(_l('Search for'), validators=[length_cust(max=40), string_cust()])
    submit = SubmitField(_l('Search'))
Ejemplo n.º 9
0
class UserForm(FlaskForm):
    first_name = StringField(_l('First name'), validators=[required_cust(), length_cust(max=20), string_cust()])
    last_name = StringField(_l('Last name'), validators=[required_cust(), length_cust(max=30), string_cust()])
    father_name = StringField(_l('Father name'), validators=[required_cust(), length_cust(max=20), string_cust()])
    profession = StringField(_l('Profession'), validators=[required_cust(), length_cust(max=50), string_cust()])
    email = StringField(_l('E-mail address'), validators=[optional_cust(), email_cust(), length_cust(max=50)])
    phone = StringField(_l('Phone'), validators=[required_cust(), phone_cust()])
    address = StringField(_l('Address'), validators=[required_cust(), length_cust(max=60), string_cust()])