From c3869f16a65d449dfaa3c90392fd48e05b181cbf Mon Sep 17 00:00:00 2001 From: burzuf Date: Wed, 18 Mar 2020 20:45:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BB=20?= =?UTF-8?q?=D1=81=D0=BE=D1=80=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D1=81=20=D0=BF=D0=BE=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __init__.py | 29 +++++++++++++++++++++-------- db_routing.py | 27 ++++++++++++++++++++++++--- templates/workshop.html | 12 ++++++++---- 3 files changed, 53 insertions(+), 15 deletions(-) diff --git a/__init__.py b/__init__.py index 2c17ab5..4beb40b 100644 --- a/__init__.py +++ b/__init__.py @@ -25,9 +25,7 @@ def registration(): userName = request.form['RegUserLogin'] userPassw = request.form['RegUserPassw'] if string_check(userName) and string_check(userPassw): - print('попытка регистрации') if db_routing.add_user(userName, passw_hash(userPassw)): - print(db_routing.get_user(username=userName)) login_user(db_routing.get_user(username=userName)) return redirect(url_for('workshop')) return render_template('registration.html') @@ -58,20 +56,35 @@ def logout(): @app.route('/workshop', methods=['GET', 'POST']) @login_required def workshop(): - """ if request.method == 'POST': - if request.form['NewSceanrio']: + if 'NewScenarioName' in request.form: + newScenarioName = request.form['NewScenarioName'] + triggerName = request.form['TriggerName'] + triggerArgs = request.form['TriggerArgs'] + actionName = request.form['ActionName'] + actionArgs = request.form['ActionArgs'] + db_routing.add_scenario(current_user.get_id(), newScenarioName, triggerName, triggerArgs, actionName, + actionArgs) + return redirect(url_for('workshop')) - if request.form['NewSceanrio']: + # if 'NewScenarioName' in request.form: - if request.form['NewSceanrio']: - """ + if 'TGUsername' in request.form: + new_tg_username = request.form['TGUsername'] + db_routing.tg_username_update(current_user.get_id(), new_tg_username) + return redirect(url_for('workshop')) triggers_list = db_routing.get_trigers() actions_list = db_routing.get_actions() user_scripts_list = db_routing.get_user_scripts(current_user.get_id()) + User = db_routing.get_user(id=current_user.get_id()) + if User: + tg_username = User.tg_username + print(tg_username) + else: + tg_username = None return render_template('workshop.html', triggers_list=triggers_list, actions_list=actions_list, - user_scripts_list=user_scripts_list) + user_scripts_list=user_scripts_list, tg_username=tg_username) # @app.errorhandler(Exception) diff --git a/db_routing.py b/db_routing.py index 0aa89f6..5fd503c 100644 --- a/db_routing.py +++ b/db_routing.py @@ -13,12 +13,12 @@ class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) password = db.Column(db.String(120), nullable=False) - telegram_username = db.Column(db.String(80), unique=True) + tg_username = db.Column(db.String(80), unique=True) - def __init__(self, username, password, telegram_username=None): + def __init__(self, username, password, tg_username=None): self.username = username self.password = password - self.telegram_username = telegram_username + self.tg_username = tg_username def is_active(self): return True @@ -48,6 +48,7 @@ class Scenario(db.Model): __tablename__ = 'Scenarios' id = db.Column(db.Integer, primary_key=True) owner_id = db.Column(db.Integer, ForeignKey('Users.id')) + scenario_name = db.Column(db.String(80)) trigger_id = db.Column(db.Integer, ForeignKey('Triggers.id')) trigger_args = db.Column(db.String(200)) action_id = db.Column(db.Integer, ForeignKey('Actions.id')) @@ -65,6 +66,14 @@ def add_user(user_name, passw_hash): return False +def add_scenario(owner_id, scenario_name, trigger_id, trigger_args, action_id, action_args): + new_scenario = Scenario(owner_id=owner_id, scenario_name=scenario_name, trigger_id=trigger_id, + trigger_args=trigger_args, action_id=action_id, action_args=action_args) + db.session.add(new_scenario) + db.session.commit() + return new_scenario + + def get_user(id=None, username=None): if id: return User.query.filter_by(id=id).first() @@ -85,3 +94,15 @@ def get_actions(): def get_user_scripts(current_user_id): user_scripts_list = Scenario.query.filter_by(owner_id=current_user_id).all() return user_scripts_list + + +def delete_scenario(scenario_id): + scenario = Scenario.query.filter_by(id=scenario_id).first() + db.session.delete(scenario) + db.session.commit() + + +def tg_username_update(current_user_id, new_tg_username): + current_user = User.query.filter_by(id=current_user_id).first() + current_user.tg_username = new_tg_username + db.session.commit() diff --git a/templates/workshop.html b/templates/workshop.html index 176bd73..75aec0b 100644 --- a/templates/workshop.html +++ b/templates/workshop.html @@ -51,13 +51,13 @@
Название
- +