From e7c0c5ca4df77c4c952b5d76ae98b081f42cfd1f Mon Sep 17 00:00:00 2001 From: ydb5755 Date: Wed, 4 Sep 2024 22:09:56 +0300 Subject: [PATCH] campaign and admin --- app/__init__.py | 8 ++++---- app/__pycache__/__init__.cpython-310.pyc | Bin 1808 -> 1928 bytes app/admin/__init__.py | 9 +++++++++ .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 348 bytes app/admin/__pycache__/routes.cpython-310.pyc | Bin 0 -> 858 bytes app/admin/routes.py | 13 +++++++++++++ app/admin/templates/administration.html | 2 ++ app/campaigns/__init__.py | 9 +++++++++ .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 364 bytes .../__pycache__/routes.cpython-310.pyc | Bin 0 -> 790 bytes app/campaigns/models.py | 16 ++++++++++++++++ app/campaigns/routes.py | 13 +++++++++++++ app/campaigns/templates/add_campaign.html | 0 app/main/templates/base.html | 3 +++ 14 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 app/admin/__init__.py create mode 100644 app/admin/__pycache__/__init__.cpython-310.pyc create mode 100644 app/admin/__pycache__/routes.cpython-310.pyc create mode 100644 app/admin/routes.py create mode 100644 app/admin/templates/administration.html create mode 100644 app/campaigns/__init__.py create mode 100644 app/campaigns/__pycache__/__init__.cpython-310.pyc create mode 100644 app/campaigns/__pycache__/routes.cpython-310.pyc create mode 100644 app/campaigns/models.py create mode 100644 app/campaigns/routes.py create mode 100644 app/campaigns/templates/add_campaign.html 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 3c0c9a4449d8fe3e84bc62ae24c28940a3c7db7b..3bab4735ac86e2ef75e380d94ba900dd657c1067 100644 GIT binary patch delta 294 zcmbQh*TK)5&&$ijz`(%pcKwYsy^XxJjQku73=FIc3=GT+3=G9WjFV?F?utoaN#V|s z$(5~TWn@TUN#V(n%ayNXV`QjdSfEhDypR#fVu7<*;Vd>NOEHCaA!7<(3V#bjGh;1# z4MPcQ8dETXroiTACMiY{O~zZC$%(lIiJ9qn#hQ$_SQArnC(mYH%BVEik>!&DZ(>1# z9$daio`Hek7AHt7F(o%MuSj9CKC3(<$7Fw2Wp0pMkpcq)Ly^+tVpe5Fi^`7@)=fHMzzVWSmz69g4An+2ptfiJ9#FX9;40V6Koy;ON~WO delta 202 zcmeC+pTNhP&&$ijz`(#zQ+FfHZzFFlBR?Ah0|P4q0|PSy14HpMhRHJ-cNx?$ERd;T zUdYJE0A{g3S+XhI3mH>*Qg~Y!ni*?ZYZyvc)0l!8H2F5KXOd!^e4lwSquk_XmQRys zvPv_uP2S3?%&0K=F{?78!DMzeO)V}~E=CSEE=CTfA`1ov20u-iTdZk0iN)DPObiSR lMIZ+hv4B`Alatuy3#fybnjk_8L}*VIWY=S~nC!sr0RUhuEEWI& 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 0000000000000000000000000000000000000000..9eadb63c3bbeec57de9b27728408a144bce7860c GIT binary patch literal 348 zcmd1j<>g{vU|`s^{ze)DBLl-@5C<8vGcYhXFfcF_>oG7eq%fo~<}l3r?8~3rm*$0Mlq)_q_F3(Ew-Zk(vs9-KTWng{vU|?9k{zjTP69dCz5C<7EGcYhXFfcF_FJfR|NMT4}%wfo7jACR2v6*t1 za+#x;!EELnmR!~-Rxq0-hb@;qianPjiUZ7N&Ed@DisH)Uj^fVciQ>uSjpEJai{b;z zvE}gR3PcIy3PuU$3PlO!3P%Zp#o2R2az&#=bH$>>zpIJHQV=@zF? zetKq}TYgdQErFoa^vvRt)FO}+NJNwM7JpG{UP@|Fd`W6x>Mf3<)RfGk)Z~&| z?4?CH@oD)*w^-A15{ol#u@|KlmZlb$XtLbm%K;f04-&{MN=>=N1>u(#rxxAfNiHoa zO3f>Y2lKdd^3(H6AskJnTf)g1sma;#1&PJQ<@rS^@fje4#nMyrQi~ExQc=Y<8EWag&&-Qoj#EVH1h28I%b6vk%8UL$##4khrjQreG{mRVZqWshxBYl_D;_QMa6U zdW#zrE!pwlpfBP9$?<{+J`lkVGC;6AwJ5tPwKQF?I5oMnD6^!pNB|@$2qJ_)Dwy(% zZ?S^?1NI9dG$1TdkQxq~-29Z%oK!nTkWa-J7#MgMco=yY1sG)*B^U)5c^EkuIhgnu E0qQj4W&i*H literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6919d93586e77c86661e8ca03a7e02b5109c382b GIT binary patch literal 364 zcmd1j<>g{vU|_IVcOy-Jk%8ech=YvT85kHG7#J9e^%xi!QW#Pga~N_NqZk<(QW;a2 zQkhbiQ&>`1Q`mZ0qnJ||QrL4?a#^ET85vSIf*CY9UxG~1WW2@clvA2oP?VWha*H!L zF}ENwGd-{P7H3InZb43BNow&ew&Ie+lFZ~PE`7MPCi5+Rn1cAU{G623qFcNWWiT#R zX;DsmK~ZX2W`!o>Ew-Zk(vs9-KTWng{vU|`7Ka3f8TiGkrUh=Yuo85kHG7#J9eCowQEq%fo~<}l_U^YjNXq0Fw^8&FH&V`IATq&F_49$#D z;wc=#44T|8L9W$gyv3A~q{(=TGdVH0ATcvNuUM1u7E5SxYLO=EE&ig^yp+_U_>$Dz zf}F&X)LR@ysVSL7smUd`*h`CY;?werZn382Bo=4fVlPT9EKMyg(PX*Bmy@5KnHLWd z$Sg`txy1$HmlmfM-Qr0uEh~ z)Z*-t`~v-e%$%yceEr0N0)3d(#rj40r6sAwdIgn5f(#4{+#p*))^jjvO59>jEGQ@f z@ow=Z78K~gH5Gx<$}Itq7${hZ^>Xu5Qge!nSQr=>AmN)0c2yA@$W81Z0_2k-PLMn| zDEzbI!C_nkN|Hq&ON)3ws(3*P1j|#4va3={)Afo|lS_*-ODc=_K$83*LI9+KDZls@ zE7;*+MB*MVJz{9}9$ipbZB*7@a$iv9N$ic+N2mnqF B&TIex literal 0 HcmV?d00001 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 %}