- menu changes to allow for partners - partner views and forms now in partner_forms.py and partner_views.py - Introduction of services layer - Allow all configuration to handle partner configurations, and adaptation of caching to allow for this
47 lines
2.2 KiB
Python
47 lines
2.2 KiB
Python
from flask import current_app
|
|
from flask_wtf import FlaskForm
|
|
from wtforms.fields.choices import SelectField
|
|
from wtforms.fields.simple import SubmitField, StringField, BooleanField, TextAreaField
|
|
from wtforms.validators import DataRequired, Optional, Length
|
|
|
|
from common.extensions import cache_manager
|
|
from common.utils.form_assistants import validate_json
|
|
from eveai_app.views.dynamic_form_base import DynamicFormBase
|
|
|
|
|
|
class TriggerActionForm(FlaskForm):
|
|
submit = SubmitField('Submit')
|
|
|
|
|
|
class EditPartnerForm(FlaskForm):
|
|
tenant = StringField('Tenant', validators=[DataRequired()], render_kw={'readonly': True})
|
|
code = StringField('Code', description="Referral Code", validators=[DataRequired()], render_kw={'readonly': True})
|
|
logo_url = StringField('Logo URL', validators=[Optional(), Length(max=255)])
|
|
active = BooleanField('Active', validators=[Optional()], default=True)
|
|
|
|
|
|
class PartnerServiceForm(FlaskForm):
|
|
name = StringField('Name', validators=[DataRequired(), Length(max=50)])
|
|
description = TextAreaField('Description', validators=[Optional()])
|
|
type = SelectField('Partner Service Type', validators=[DataRequired()])
|
|
active = BooleanField('Active', validators=[Optional()], default=True)
|
|
|
|
user_metadata = TextAreaField('User Metadata', validators=[Optional(), validate_json])
|
|
system_metadata = TextAreaField('System Metadata', validators=[Optional(), validate_json])
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
# Dynamically populate the 'type' field
|
|
types_dict = cache_manager.partner_services_types_cache.get_types()
|
|
self.type.choices = [(key, value['name']) for key, value in types_dict.items()]
|
|
|
|
|
|
class EditPartnerServiceForm(DynamicFormBase):
|
|
name = StringField('Name', validators=[DataRequired(), Length(max=50)])
|
|
description = TextAreaField('Description', validators=[Optional()])
|
|
type = StringField('Partner Service Type', validators=[DataRequired()], render_kw={'readonly': True})
|
|
active = BooleanField('Active', validators=[Optional()], default=True)
|
|
|
|
user_metadata = TextAreaField('User Metadata', validators=[Optional(), validate_json])
|
|
system_metadata = TextAreaField('System Metadata', validators=[Optional(), validate_json])
|