- Partner model additions
- 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
This commit is contained in:
46
eveai_app/views/partner_forms.py
Normal file
46
eveai_app/views/partner_forms.py
Normal file
@@ -0,0 +1,46 @@
|
||||
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])
|
||||
Reference in New Issue
Block a user