Browse Source

add script directory and delete auth

honmaple 7 years ago
parent
commit
609d57d55a

+ 1 - 1
README.org

@@ -72,7 +72,7 @@
     #+END_SRC
 
 *** Login and visit admin 
-    *Ok* ,visit forums.localhost:5000/admin to add something
+    *Ok* ,visit forums.localhost:8000/admin to add something
 
 ** Demo
    Please visit [[https://forums.honmaple.org][forums.honmaple.org]] 

+ 1 - 1
README_zh.org

@@ -72,7 +72,7 @@
     #+BEGIN_SRC sh
     python runserver.py
     #+END_SRC
-    然后访问*forums.localhost:5000/admin*去增加一些东西
+    然后访问*forums.localhost:8000/admin*去增加一些东西
 
 ** 演示
    请访问 [[https://forums.honmaple.org][forums.honmaple.org]]

+ 0 - 12
forums/api/auth/__init__.py

@@ -1,12 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# **************************************************************************
-# Copyright © 2017 jianglin
-# File Name: __init__.py
-# Author: jianglin
-# Email: xiyang0807@gmail.com
-# Created: 2017-04-02 11:48:22 (CST)
-# Last Update:星期日 2017-4-2 11:48:23 (CST)
-#          By:
-# Description:
-# **************************************************************************

+ 0 - 50
forums/api/auth/forms.py

@@ -1,50 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# **************************************************************************
-# Copyright © 2016 jianglin
-# File Name: forms.py
-# Author: jianglin
-# Email: xiyang0807@gmail.com
-# Created: 2016-10-28 10:35:20 (CST)
-# Last Update:星期五 2016-10-28 10:36:9 (CST)
-#          By:
-# Description:
-# **************************************************************************
-from flask import session
-from flask_wtf import Form
-from wtforms import (StringField, PasswordField, BooleanField)
-from wtforms.validators import Length, DataRequired, Email
-from flask_babelex import lazy_gettext as _
-
-
-class BaseForm(Form):
-    username = StringField(
-        _('Username:'), [DataRequired(), Length(
-            min=4, max=20)])
-    password = PasswordField(
-        _('Password:'), [DataRequired(), Length(
-            min=4, max=20)])
-    captcha = StringField(
-        _('Captcha:'), [DataRequired(), Length(
-            min=4, max=4)])
-
-    def validate(self):
-        rv = Form.validate(self)
-        if not rv:
-            return False
-
-        captcha = session['captcha']
-        captcha_data = self.captcha.data
-        if captcha_data.lower() != captcha.lower():
-            self.captcha.errors.append(_('The captcha is error'))
-            return False
-
-        return True
-
-
-class RegisterForm(BaseForm):
-    email = StringField(_('Email:'), [DataRequired(), Email()])
-
-
-class LoginForm(BaseForm):
-    remember = BooleanField(_('Remember me'), default=False)

+ 0 - 39
forums/api/auth/urls.py

@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# **************************************************************************
-# Copyright © 2016 jianglin
-# File Name: urls.py
-# Author: jianglin
-# Email: xiyang0807@gmail.com
-# Created: 2016-10-28 10:26:16 (CST)
-# Last Update:星期三 2017-12-13 11:40:54 (CST)
-#          By:
-# Description:
-# **************************************************************************
-from flask import Blueprint
-from .views import (LoginView, LogoutView, RegisterView, ForgetView,
-                    ConfirmView, ConfirmTokenView)
-
-__all__ = ['site']
-
-site = Blueprint('auth', __name__)
-
-login_view = LoginView.as_view('login')
-logout_view = LogoutView.as_view('logout')
-register_view = RegisterView.as_view('register')
-forget_view = ForgetView.as_view('forget')
-confirm_view = ConfirmView.as_view('confirm')
-confirm_token_view = ConfirmTokenView.as_view('confirm_token')
-
-site.add_url_rule('/login', view_func=login_view)
-site.add_url_rule('/logout', view_func=logout_view)
-site.add_url_rule('/register', view_func=register_view)
-site.add_url_rule('/forget', view_func=forget_view)
-site.add_url_rule('/confirm', view_func=confirm_view)
-site.add_url_rule('/confirm/<token>', view_func=confirm_token_view)
-
-
-def init_app(app):
-    from flask_maple.auth.views import Auth
-    Auth(app)
-    # app.register_blueprint(site)

+ 0 - 163
forums/api/auth/views.py

@@ -1,163 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-# **************************************************************************
-# Copyright © 2016 jianglin
-# File Name: views.py
-# Author: jianglin
-# Email: xiyang0807@gmail.com
-# Created: 2016-10-28 10:26:10 (CST)
-# Last Update:星期三 2017-5-10 16:34:50 (CST)
-#          By:
-# Description:
-# **************************************************************************
-from random import sample
-from string import ascii_letters, digits
-
-from flask import current_app, redirect, render_template, request, url_for
-from flask.views import MethodView
-from flask_babelex import gettext as _
-from flask_login import current_user, login_required, login_user, logout_user
-from flask_principal import Identity, identity_changed, AnonymousIdentity
-
-from flask_maple.auth.forms import (ForgetForm, LoginForm, RegisterForm)
-from flask_maple.form import form_validate
-from forums.api.user.models import User
-from forums.common.response import HTTPResponse
-from forums.common.serializer import Serializer
-from forums.permission import is_guest
-from forums.count import Count
-
-
-class LoginView(MethodView):
-    @is_guest
-    def get(self):
-        form = LoginForm()
-        data = {'form': form}
-        return render_template('auth/login.html', **data)
-
-    @form_validate(LoginForm)
-    def post(self):
-        form = LoginForm()
-        post_data = form.data
-        username = post_data.pop('username', None)
-        password = post_data.pop('password', None)
-        remember = post_data.pop('remember', None)
-        remember = True if remember else None
-        user = User.query.filter_by(username=username).first()
-        if user and user.check_password(password):
-            login_user(user, remember=remember)
-            identity_changed.send(
-                current_app._get_current_object(), identity=Identity(user.id))
-            serializer = Serializer(user, many=False, depth=1)
-            return HTTPResponse(
-                HTTPResponse.NORMAL_STATUS, data=serializer.data).to_response()
-        return HTTPResponse(
-            HTTPResponse.AUTH_USER_OR_PASSWORD_ERROR).to_response()
-
-
-class LogoutView(MethodView):
-    @login_required
-    def get(self):
-        logout_user()
-        identity_changed.send(
-            current_app._get_current_object(), identity=AnonymousIdentity())
-        return redirect(request.args.get('next') or '/')
-
-
-class RegisterView(MethodView):
-    @is_guest
-    def get(self):
-        form = RegisterForm()
-        data = {'form': form}
-        return render_template('auth/register.html', **data)
-
-    @form_validate(RegisterForm)
-    def post(self):
-        form = RegisterForm()
-        post_data = form.data
-        username = post_data.pop('username', None)
-        email = post_data.pop('email', None)
-        password = post_data.pop('password', None)
-        user = User.query.filter_by(username=username).first()
-        if user is not None:
-            return HTTPResponse(HTTPResponse.AUTH_USERNAME_UNIQUE).to_response(
-            )
-        user = User.query.filter_by(email=email).first()
-        if user is not None:
-            return HTTPResponse(HTTPResponse.AUTH_EMAIL_UNIQUE).to_response()
-        user = User(username=username, email=email)
-        user.set_password(password)
-        user.save()
-        login_user(user)
-        Count.forums_user_count(1)
-        self.email(user)
-        return HTTPResponse(HTTPResponse.NORMAL_STATUS).to_response()
-
-    def email(self, user):
-        token = user.email_token
-        confirm_url = url_for(
-            'auth.confirm_token', token=token, _external=True)
-        html = render_template('templet/email.html', confirm_url=confirm_url)
-        subject = _("Please confirm  your email!")
-        user.send_email(subject=subject, html=html)
-        user.send_email_to_admin()
-
-
-class ForgetView(MethodView):
-    @is_guest
-    def get(self):
-        form = ForgetForm()
-        data = {'form': form}
-        return render_template('auth/forget.html', **data)
-
-    @form_validate(ForgetForm)
-    def post(self):
-        form = ForgetForm()
-        post_data = form.data
-        email = post_data.pop('email', None)
-        user = User.query.filter_by(email=email).first()
-        if not user:
-            return HTTPResponse(
-                HTTPResponse.AUTH_EMAIL_NOT_REGISTER).to_response()
-        password = ''.join(sample(ascii_letters + digits, 12))
-        user.set_password(password)
-        user.save()
-        html = render_template('templet/forget.html', confirm_url=password)
-        subject = "Please update your password in time"
-        user.send_email(html=html, subject=subject)
-        return HTTPResponse(HTTPResponse.NORMAL_STATUS).to_response()
-
-
-class ConfirmView(MethodView):
-    @login_required
-    def post(self):
-        user = request.user
-        if user.is_confirmed:
-            return HTTPResponse(
-                HTTPResponse.AUTH_USER_IS_CONFIRMED).to_response()
-        if not user.email_is_allowed:
-            msg = "user isn't allowed to send email"
-            return HTTPResponse(
-                HTTPResponse.AUTH_USER_IS_CONFIRMED, message=msg).to_response()
-        token = user.email_token
-        confirm_url = url_for(
-            'auth.confirm_token', token=token, _external=True)
-        html = render_template('templet/email.html', confirm_url=confirm_url)
-        subject = _("Please confirm  your email")
-        user.send_email(html=html, subject=subject)
-        return HTTPResponse(
-            HTTPResponse.NORMAL_STATUS, message='send success').to_response()
-
-
-class ConfirmTokenView(MethodView):
-    def get(self, token):
-        user = User.check_email_token(token)
-        if not user:
-            return HTTPResponse(
-                HTTPResponse.AUTH_TOKEN_VERIFY_FAIL).to_response()
-        if user.is_confirmed:
-            return HTTPResponse(
-                HTTPResponse.AUTH_USER_IS_CONFIRMED).to_response()
-        user.is_confirmed = True
-        user.save()
-        return HTTPResponse(HTTPResponse.NORMAL_STATUS).to_response()

+ 2 - 2
forums/subdomain.py

@@ -4,9 +4,9 @@
 # Copyright © 2017 jianglin
 # File Name: subdomain.py
 # Author: jianglin
-# Email: lin.jiang@upai.com
+# Email: xiyang0807@gmail.com
 # Created: 2017-11-10 10:52:47 (CST)
-# Last Update:星期五 2017-11-10 10:53:04 (CST)
+# Last Update:星期五 2018-01-05 01:15:15 (CST)
 #          By:
 # Description:
 # **************************************************************************

+ 0 - 0
upgrade.py → script/upgrade.py


+ 0 - 0
upgrade_count.py → script/upgrade_count.py


+ 2 - 0
templates/topic/reply/itemlist.html

@@ -1,4 +1,6 @@
 {% from 'topic/reply/_macro.html' import like,no_replies %}
+{% import 'base/link.html' as link %}
+{% from 'base/paginate.html' import footer as p_footer %}
 <div class="panel panel-default">
   <div class="panel-heading">
     {{ _('Received %(total)s replies',total=replies.total) }}