campaign and admin

This commit is contained in:
Yisroel Baum 2024-09-04 22:09:56 +03:00
parent 031811dba1
commit e7c0c5ca4d
14 changed files with 69 additions and 4 deletions

View file

@ -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)

9
app/admin/__init__.py Normal file
View file

@ -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

Binary file not shown.

Binary file not shown.

13
app/admin/routes.py Normal file
View file

@ -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')

View file

@ -0,0 +1,2 @@
{% extends 'base.html' %}
{% block title %}Administration{% endblock title %}

View file

@ -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

Binary file not shown.

Binary file not shown.

16
app/campaigns/models.py Normal file
View file

@ -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)

13
app/campaigns/routes.py Normal file
View file

@ -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')

View file

@ -15,6 +15,9 @@
<a href="{{url_for('main.homepage')}}" style="text-decoration: none; margin-right: 10px;"><p>Pilzno</p></a>
{% if current_user.is_authenticated %}
<a href="{{url_for('users.user_page', user_id=current_user.id)}}" style="text-decoration: none;"><span class="navbar-brand">User Page</span></a>
{% if current_user.user_type == 'Admin' %}
<a href="{{url_for('admin.administration')}}" style="text-decoration: none;"><span class="navbar-brand">Admin Management</span></a>
{% endif %}
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-item nav-link active" href="{{url_for('users.logout')}}">Logout</a>