diff --git a/app/__init__.py b/app/__init__.py index 94b3f63..07fb623 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -44,14 +44,14 @@ def create_app(): from app.users import users from app.main import main - # from app.reports import reports - # from app.plan_management import plan_management + from app.campaigns import campaigns + from app.admin import admin # from app.agent_reports import agent_reports # from app.status_reports import status_reports app.register_blueprint(users) app.register_blueprint(main) - # app.register_blueprint(reports) - # app.register_blueprint(plan_management) + app.register_blueprint(campaigns) + app.register_blueprint(admin) # app.register_blueprint(agent_reports) # app.register_blueprint(status_reports) diff --git a/app/__pycache__/__init__.cpython-310.pyc b/app/__pycache__/__init__.cpython-310.pyc index 3c0c9a4..3bab473 100644 Binary files a/app/__pycache__/__init__.cpython-310.pyc and b/app/__pycache__/__init__.cpython-310.pyc differ diff --git a/app/admin/__init__.py b/app/admin/__init__.py new file mode 100644 index 0000000..c0badb5 --- /dev/null +++ b/app/admin/__init__.py @@ -0,0 +1,9 @@ +from flask import Blueprint + +admin = Blueprint('admin', + __name__, + template_folder='templates', + static_folder='static', + url_prefix='/admin') + +from app.admin import routes \ No newline at end of file diff --git a/app/admin/__pycache__/__init__.cpython-310.pyc b/app/admin/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..9eadb63 Binary files /dev/null and b/app/admin/__pycache__/__init__.cpython-310.pyc differ diff --git a/app/admin/__pycache__/routes.cpython-310.pyc b/app/admin/__pycache__/routes.cpython-310.pyc new file mode 100644 index 0000000..4287806 Binary files /dev/null and b/app/admin/__pycache__/routes.cpython-310.pyc differ diff --git a/app/admin/routes.py b/app/admin/routes.py new file mode 100644 index 0000000..d3b6308 --- /dev/null +++ b/app/admin/routes.py @@ -0,0 +1,13 @@ +from app import db +from app.admin import admin +from app.users.models import User +from app.users.forms import LoginForm, RegisterUserForm#, RequestResetForm, ResetPasswordForm, EditUserForm, AddUserForm +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 +from datetime import datetime +import os + +@admin.route('administration') +def administration(): + return render_template('administration.html') diff --git a/app/admin/templates/administration.html b/app/admin/templates/administration.html new file mode 100644 index 0000000..6f73217 --- /dev/null +++ b/app/admin/templates/administration.html @@ -0,0 +1,2 @@ +{% extends 'base.html' %} +{% block title %}Administration{% endblock title %} \ No newline at end of file diff --git a/app/campaigns/__init__.py b/app/campaigns/__init__.py new file mode 100644 index 0000000..3bca948 --- /dev/null +++ b/app/campaigns/__init__.py @@ -0,0 +1,9 @@ +from flask import Blueprint + +campaigns = Blueprint('campaigns', + __name__, + template_folder='templates', + static_folder='static', + url_prefix='/campaigns') + +from app.campaigns import routes \ No newline at end of file diff --git a/app/campaigns/__pycache__/__init__.cpython-310.pyc b/app/campaigns/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..6919d93 Binary files /dev/null and b/app/campaigns/__pycache__/__init__.cpython-310.pyc differ diff --git a/app/campaigns/__pycache__/routes.cpython-310.pyc b/app/campaigns/__pycache__/routes.cpython-310.pyc new file mode 100644 index 0000000..4293027 Binary files /dev/null and b/app/campaigns/__pycache__/routes.cpython-310.pyc differ diff --git a/app/campaigns/models.py b/app/campaigns/models.py new file mode 100644 index 0000000..ffc0251 --- /dev/null +++ b/app/campaigns/models.py @@ -0,0 +1,16 @@ +from app import db +from flask import current_app +from flask_login import current_user +from sqlalchemy import TEXT, Column, Boolean, ForeignKey, TEXT, INTEGER, VARCHAR +import jwt +from datetime import datetime, timezone, timedelta + + + +class Campaign(db.Model): + __tablename__ = 'campaign' + id = Column('id', INTEGER(), primary_key=True) + title = Column('title', TEXT(), nullable=False) + email = Column('email', TEXT(), nullable=False, unique=True) + password = Column('password', TEXT(), nullable=False) + user_type = Column('user_type', TEXT(), nullable=False) \ No newline at end of file diff --git a/app/campaigns/routes.py b/app/campaigns/routes.py new file mode 100644 index 0000000..fa4faa0 --- /dev/null +++ b/app/campaigns/routes.py @@ -0,0 +1,13 @@ +from app import db +from app.campaigns import campaigns +from app.users.models import User +# from forms import LoginForm, RequestResetForm, ResetPasswordForm, EditUserForm, AddUserForm +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 +from datetime import datetime +import os + +@campaigns.route('add_campaign') +def add_campaign(): + return render_template('add_campaign.html') \ No newline at end of file diff --git a/app/campaigns/templates/add_campaign.html b/app/campaigns/templates/add_campaign.html new file mode 100644 index 0000000..e69de29 diff --git a/app/main/templates/base.html b/app/main/templates/base.html index b4070e6..b10b24b 100644 --- a/app/main/templates/base.html +++ b/app/main/templates/base.html @@ -15,6 +15,9 @@

Pilzno

{% if current_user.is_authenticated %} User Page + {% if current_user.user_type == 'Admin' %} + Admin Management + {% endif %}