From 46bdefd2efa2843b912f9587ce5f15b557942187 Mon Sep 17 00:00:00 2001 From: topilski Date: Mon, 3 Jun 2019 09:42:11 -0400 Subject: [PATCH] User type --- CHANGELOG | 4 ++++ app/home/user_loging_manager.py | 5 +++++ app/service/forms.py | 2 +- app/service/view.py | 4 ++-- app/templates/user/dashboard.html | 2 ++ 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2ff4bff..e18fd49 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +1.1.0 / +[Alexandr Topilski] +- User type + 1.0.0 / June 1, 2019 [Alexandr Topilski] - Service version diff --git a/app/home/user_loging_manager.py b/app/home/user_loging_manager.py index 4103af5..7914b1d 100644 --- a/app/home/user_loging_manager.py +++ b/app/home/user_loging_manager.py @@ -24,11 +24,16 @@ class User(UserMixin, Document): ACTIVE = 1 BANNED = 2 + class Type(IntEnum): + GUEST = 0, + USER = 1 + meta = {'collection': 'users', 'auto_create_index': False} email = StringField(max_length=30, required=True) password = StringField(required=True) created_date = DateTimeField(default=datetime.now) status = IntField(default=Status.NO_ACTIVE) + type = IntField(default=Type.USER) settings = EmbeddedDocumentField(Settings, default=Settings) servers = ListField(ReferenceField(ServiceSettings), default=[]) diff --git a/app/service/forms.py b/app/service/forms.py index e26cae0..e2037d5 100644 --- a/app/service/forms.py +++ b/app/service/forms.py @@ -63,7 +63,7 @@ class UploadM3uForm(FlaskForm): submit = SubmitField(lazy_gettext(u'Upload')) -class UserAddForm(FlaskForm): +class UserServerForm(FlaskForm): AVAILABLE_ROLES = [(constants.Roles.READ, 'Read'), (constants.Roles.WRITE, 'Write'), (constants.Roles.ADMIN, 'Admin'), (constants.Roles.SUPPORT, 'Support')] diff --git a/app/service/view.py b/app/service/view.py index 9469b44..d6673a7 100644 --- a/app/service/view.py +++ b/app/service/view.py @@ -5,7 +5,7 @@ from flask import render_template, redirect, url_for, request, jsonify from flask_login import login_required, current_user from app import get_runtime_folder -from app.service.forms import ServiceSettingsForm, ActivateForm, UploadM3uForm, UserAddForm +from app.service.forms import ServiceSettingsForm, ActivateForm, UploadM3uForm, UserServerForm from app.service.service_entry import ServiceSettings, UserPair from app.utils.m3u_parser import M3uParser from app.home.user_loging_manager import User @@ -143,7 +143,7 @@ class ServiceView(FlaskView): @login_required @route('/user/add/', methods=['GET', 'POST']) def user_add(self, sid): - form = UserAddForm() + form = UserServerForm() if request.method == 'POST' and form.validate_on_submit(): user = User.objects(email=form.email.data).first() server = ServiceSettings.objects(id=sid).first() diff --git a/app/templates/user/dashboard.html b/app/templates/user/dashboard.html index c44d205..0f6cf17 100644 --- a/app/templates/user/dashboard.html +++ b/app/templates/user/dashboard.html @@ -65,11 +65,13 @@ Dashboard | {{ config['PUBLIC_CONFIG'].site.title }} {% trans %}Logout{% endtrans %} + {% if (current_user.type != 0) %} + {% endif %}