create campaign form start
This commit is contained in:
parent
93dd70849a
commit
7ada4b2a6f
3 changed files with 89 additions and 4 deletions
|
|
@ -0,0 +1,20 @@
|
||||||
|
from flask_wtf import FlaskForm
|
||||||
|
from wtforms import StringField, \
|
||||||
|
EmailField, \
|
||||||
|
PasswordField, \
|
||||||
|
SubmitField, \
|
||||||
|
SelectField, \
|
||||||
|
BooleanField,\
|
||||||
|
DateField, IntegerField
|
||||||
|
from flask_wtf.file import FileField, FileRequired, FileAllowed
|
||||||
|
from wtforms.validators import DataRequired, ValidationError, NumberRange, EqualTo, Email
|
||||||
|
from app.campaigns.models import Campaign
|
||||||
|
from flask_login import current_user
|
||||||
|
# import logging
|
||||||
|
# logging.basicConfig(filename='logs.log', encoding='utf-8', level=logging.DEBUG)
|
||||||
|
|
||||||
|
class CreateCampaignForm(FlaskForm):
|
||||||
|
title = StringField('Title', validators=[DataRequired()])
|
||||||
|
active = BooleanField('Initialize as active?')
|
||||||
|
goal = IntegerField('Goal')
|
||||||
|
submit = SubmitField('Add Campaign')
|
||||||
|
|
@ -2,7 +2,7 @@ from app import db
|
||||||
from app.campaigns import campaigns
|
from app.campaigns import campaigns
|
||||||
from app.users.models import User
|
from app.users.models import User
|
||||||
from app.campaigns.models import Campaign
|
from app.campaigns.models import Campaign
|
||||||
# from forms import LoginForm, RequestResetForm, ResetPasswordForm, EditUserForm, AddUserForm
|
from app.campaigns.forms import CreateCampaignForm
|
||||||
from flask import render_template, redirect, url_for, flash, request
|
from flask import render_template, redirect, url_for, flash, request
|
||||||
from flask_login import login_required, login_user, current_user, logout_user
|
from flask_login import login_required, login_user, current_user, logout_user
|
||||||
from werkzeug.security import check_password_hash, generate_password_hash
|
from werkzeug.security import check_password_hash, generate_password_hash
|
||||||
|
|
@ -10,9 +10,20 @@ from datetime import datetime
|
||||||
import os
|
import os
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
|
||||||
@campaigns.route('add_campaign')
|
@campaigns.route('add_campaign', methods=['GET', 'POST'])
|
||||||
def add_campaign():
|
def add_campaign():
|
||||||
return render_template('add_campaign.html')
|
form = CreateCampaignForm()
|
||||||
|
if form.validate_on_submit():
|
||||||
|
campaign = Campaign(
|
||||||
|
title=form.title.data,
|
||||||
|
active=form.active.data,
|
||||||
|
goal=form.goal.data
|
||||||
|
)
|
||||||
|
db.session.add(campaign)
|
||||||
|
db.session.commit()
|
||||||
|
return redirect(url_for('admin.administration'))
|
||||||
|
return render_template('add_campaign.html',
|
||||||
|
form=form)
|
||||||
|
|
||||||
@campaigns.route('campaign_page/<campaign_id>')
|
@campaigns.route('campaign_page/<campaign_id>')
|
||||||
def campaign_page(campaign_id):
|
def campaign_page(campaign_id):
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,56 @@
|
||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
{% block title %}Add campaign{% endblock title %}
|
{% block title %}Add campaign{% endblock title %}
|
||||||
|
{% block content %}
|
||||||
|
<main class="container-lg mt-5">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h3 class="card-title">Register</h3>
|
||||||
|
<form method="post" enctype="multipart/form-data">
|
||||||
|
{{ form.hidden_tag() }}
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.title.label(class="form-label") }}
|
||||||
|
{{ form.title(class="form-control") }}
|
||||||
|
{% if form.title.errors %}
|
||||||
|
<ul class="errors">
|
||||||
|
{% for error in form.title.errors %}
|
||||||
|
<li>{{ error }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.active.label(class="form-label") }}
|
||||||
|
{{ form.active() }}
|
||||||
|
{% if form.active.errors %}
|
||||||
|
<ul class="errors">
|
||||||
|
{% for error in form.active.errors %}
|
||||||
|
<li>{{ error }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.goal.label(class="form-label") }}
|
||||||
|
{{ form.goal(class="form-control") }}
|
||||||
|
{% if form.goal.errors %}
|
||||||
|
<ul class="errors">
|
||||||
|
{% for error in form.goal.errors %}
|
||||||
|
<li>{{ error }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ form.submit(class='btn btn-primary') }}
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{% endblock content %}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue