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.users.models import User
|
||||
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_login import login_required, login_user, current_user, logout_user
|
||||
from werkzeug.security import check_password_hash, generate_password_hash
|
||||
|
|
@ -10,9 +10,20 @@ from datetime import datetime
|
|||
import os
|
||||
from time import sleep
|
||||
|
||||
@campaigns.route('add_campaign')
|
||||
@campaigns.route('add_campaign', methods=['GET', 'POST'])
|
||||
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>')
|
||||
def campaign_page(campaign_id):
|
||||
|
|
|
|||
|
|
@ -1,2 +1,56 @@
|
|||
{% extends 'base.html' %}
|
||||
{% 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