Add support for generating new 'fabric' project
This commit is contained in:
parent
dd2b634ed2
commit
652e951f89
2 changed files with 119 additions and 2 deletions
|
@ -90,6 +90,26 @@ class GenerateByjoveProject(colander.MappingSchema):
|
|||
slug = colander.SchemaNode(colander.String())
|
||||
|
||||
|
||||
class GenerateFabricProject(colander.MappingSchema):
|
||||
"""
|
||||
Schema for generating a new 'fabric' project
|
||||
"""
|
||||
name = colander.SchemaNode(colander.String())
|
||||
|
||||
slug = colander.SchemaNode(colander.String())
|
||||
|
||||
organization = colander.SchemaNode(colander.String())
|
||||
|
||||
python_project_name = colander.SchemaNode(colander.String())
|
||||
|
||||
python_name = colander.SchemaNode(colander.String())
|
||||
|
||||
timezone = colander.SchemaNode(colander.String())
|
||||
|
||||
integrates_with = colander.SchemaNode(colander.String(),
|
||||
missing=colander.null)
|
||||
|
||||
|
||||
class GenerateProjectView(View):
|
||||
"""
|
||||
View for generating new project source code
|
||||
|
@ -114,10 +134,15 @@ class GenerateProjectView(View):
|
|||
project_type = 'rattail'
|
||||
if self.request.method == 'POST':
|
||||
project_type = self.request.POST.get('project_type', 'rattail')
|
||||
if project_type not in ('rattail', 'byjove'):
|
||||
if project_type not in ('rattail', 'byjove', 'fabric'):
|
||||
raise ValueError("Unknown project type: {}".format(project_type))
|
||||
|
||||
schema = GenerateByjoveProject if project_type == 'byjove' else GenerateProject
|
||||
if project_type == 'byjove':
|
||||
schema = GenerateByjoveProject
|
||||
elif project_type == 'fabric':
|
||||
schema = GenerateFabricProject
|
||||
else:
|
||||
schema = GenerateProject
|
||||
form = forms.Form(schema=schema(), request=self.request,
|
||||
use_buefy=use_buefy)
|
||||
if form.validate(newstyle=True):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue