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