Skip to content

Commit

Permalink
add test Mark
Browse files Browse the repository at this point in the history
  • Loading branch information
zhuijie89 committed Nov 15, 2014
1 parent 605fedd commit c20c036
Show file tree
Hide file tree
Showing 230 changed files with 17,529 additions and 0 deletions.
1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/Mark.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/deployment.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/scopes/scope_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added .idea/workspace.xml
Binary file not shown.
3 changes: 3 additions & 0 deletions _project
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[default]
projectname =

79 changes: 79 additions & 0 deletions app/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#coding=utf-8

from flask import Flask,abort
from extensions import db,login_manager
from flask.ext import restful
from app.views import audit, flow, users,site,agent,auth,role_auth,role
from app.services import Product, Whois, Audit
import logging
from util.logger import logfile
from logging import getLogger
from logging.handlers import TimedRotatingFileHandler
DEFAULT_APP_NAME = 'app'
DEFAULT_MODULES = {

'web_modules': [
(site, "/"),
(users, "/users"),
(audit, "/audit"),
(flow, "/admin"),
(agent, "/agent"),
(auth, "/auth"),
(role, "/role"),
(role_auth, "/roleauth"),

],
'service_moudles': [
(Product, '/api/product'),
(Whois, '/api/whois'),
(Audit, '/api/audit'),
]

}


def create_app(config=None):
app = Flask(DEFAULT_APP_NAME)
api = restful.Api(app)
app.config.from_object(config)
configure_extensions(app)
configure_modules(app, api, DEFAULT_MODULES)
# configure_logging(app)
return app


def configure_modules(app, api, moudles):

if 'web_modules' in moudles:

for module, url_prefix in moudles['web_modules']:
app.register_blueprint(module, url_prefix=url_prefix)
if 'service_moudles' in moudles:
for module, url_prefix in moudles['service_moudles']:
api.add_resource(module, url_prefix)

def configure_extensions(app):
db.init_app(app)
login_manager.init_app(app)
@app.after_request
def after_request(response):
try:
db.session.commit()

except Exception,e:

db.session.rollback()
abort(500)
return response

def configure_logging(app):
loggers = [app.logger]
for logger in loggers:
file_handler = TimedRotatingFileHandler("mark", when='S', interval=1, backupCount=40)
file_handler.suffix = "%Y%m%d.log"
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)

logger.setLevel(logging.DEBUG)
logger.addHandler(file_handler)
Binary file added app/__init__.pyc
Binary file not shown.
18 changes: 18 additions & 0 deletions app/extensions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'zhuhuijie'
__email__ = "[email protected]"
__copyright__ = "Copyright 2014,Cnnic"
__version__ = "1.0.0"
__deprecated__ = False
__date__ = "2014-09-18"
"""
extends moudles
"""
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager


__all__ = ['db', 'login_manager']
db = SQLAlchemy()
login_manager = LoginManager()
Binary file added app/extensions.pyc
Binary file not shown.
1 change: 1 addition & 0 deletions app/forms/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#coding=utf-8
Binary file added app/forms/__init__.pyc
Binary file not shown.
42 changes: 42 additions & 0 deletions app/forms/agent.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# -*- coding: utf-8 -*-
""" agent forms
"""
from gettext import gettext
from app.models import DomainPrice, AgentInfo

__author__ = "XiaoQian"
__email__ = "[email protected]"
__copyright__ = "Copyright 2007, Cnnic"
__version__ = "1.0.0"
__deprecated__ = False
__date__ = "2014-8-18 10:22:57"

from flask.ext.wtf import Form
from wtforms import StringField, PasswordField, SelectField, DecimalField, ValidationError,FloatField
from wtforms.validators import DataRequired, Email, URL,NumberRange


class AgentForm(Form):
comp_name = StringField(u'注册商公司名', validators=[DataRequired(message=u'请输入注册商公司名')])
email = StringField(u'邮箱', validators=[DataRequired(message=u'请输入邮箱地址'), Email(message=u'请输入正确的邮箱格式')])
phone = StringField(u'联系电话', validators=[DataRequired(message=u'请输入联系电话')])
url = StringField(u'注册商网址', validators=[DataRequired(message=u'请输入注册商网址')])
abuse_email = StringField(u'紧急联系邮箱', validators=[DataRequired(message=u'请输入邮箱地址'), Email(message=u'请输入正确的邮箱格式')])
abuse_phone = StringField(u'紧急联系电话', validators=[DataRequired(message=u'请输入紧急联系电话')])

class AddAgentForm(AgentForm):
agent_name = StringField(u'注册商用户名', validators=[DataRequired(message=u'请输入注册商用户名')])
password = PasswordField(u'密码', validators=[DataRequired(message=u'请输入密码')])
balance_remind = DecimalField(u'余额提醒值', validators=[DataRequired(u'请输入余额提醒值'),NumberRange(min=0,message=u'金额必须大于0')])
# domain_price_id = SelectField(u'域名价格', coerce=int,
# choices=[(p.id, str(p.price) + '/' + u'年' if p.pay_type == 1 else str(p.price) + '/' + u'月')
# for p in DomainPrice.query.all()])

def validate_agent_name(self, field):
ai = AgentInfo.query.filter_by(agent_name=field.data).first()
if ai:
raise ValidationError, gettext(u'该注册商名已存在')

class UpdateRemindForm(Form):
agent_name = StringField(u'注册商', validators=[DataRequired()])
balance_remind = FloatField(u'余额提醒值', validators=[DataRequired(message=u'请正确输入金额数字'),NumberRange(min=0,message=u'金额必须大于0')])
Binary file added app/forms/agent.pyc
Binary file not shown.
46 changes: 46 additions & 0 deletions app/forms/auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
""" Permission form.
Contains add permissions, update permissions, check permissions.
"""
__author__ = "WangChuang"
__email__ = "[email protected]"
__copyright__ = "Copyright 2014, Cnnic"
__version__ = "1.0.0"
__deprecated__ = False
__date__ = "2014-8-27 11:18:20"


from app.models.auth_info import AuthInfo
from flask.ext.wtf import Form
from wtforms import StringField,SelectField,RadioField
from wtforms.validators import DataRequired
from wtforms.validators import ValidationError


class AuthForm(Form):
""" Permission form, setting roles have permission."""
auth_name = StringField(u'权限名称',validators=[DataRequired(message=u'请输入权限名')])
auth_code = StringField(u'权限代码',validators=[DataRequired(message=u'请输入权限代码')])
auth_url = StringField(u'权限Url')
auth_desc = StringField(u'权限说明')
auth_leave = SelectField(u'菜单等级', choices=[('1', u'一级菜单'), ('2', u'二级菜单')], validators=[DataRequired(message=u'请选择')])
# parent_auth_id = SelectField(u'上级菜单', coerce=int, choices=[(auth.id, auth.auth_name) for auth in AuthInfo.query.filter(AuthInfo.auth_leave==1).all()])
nav_display = RadioField(u'是否导航栏显示', choices=[('1', u'是'), ('0', u'否')], validators=[DataRequired(message=u'请选择')])

def validate_auth_code(form, field):
""" Verify auth_code value exists, auth_code value is unique.
Args:
form: Fixed form
field: Fixed Field
"""
auth = AuthInfo.query.filter_by(auth_code=field.data).first()
if auth:
raise ValidationError(u'权限代码已存在,请更换。')


class AuthUpdateForm(Form):
""" Permission form, setting roles have permission."""
auth_name = StringField(u'权限名称',validators=[DataRequired(message=u'请输入权限名')])
auth_url = StringField(u'权限Url')
auth_desc = StringField(u'权限说明')
Binary file added app/forms/auth.pyc
Binary file not shown.
34 changes: 34 additions & 0 deletions app/forms/role.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
""" Role form, including add role, change role."""
__author__ = "WangChuang"
__email__ = "[email protected]"
__copyright__ = "Copyright 2014, Cnnic"
__version__ = "1.0.0"
__deprecated__ = False
__date__ = "2014-8-27 11:18:20"


from app.models.role_info import RoleInfo
from flask.ext.wtf import Form
from wtforms import StringField
from wtforms.validators import DataRequired
from wtforms.validators import ValidationError

class RoleForm(Form):
""" Role form. Add Roles and modify the role to use."""
role_name = StringField(u'角色名称', validators = [DataRequired(message=u'请输入角色名')])
role_code = StringField(u'角色代码', validators = [DataRequired(message=u'请输入角色代码')])
role_desc = StringField(u'角色说明')

def validate_role_code(form, field):
""" Verify role_code value exists, role_code value is unique.
Args:
form: Fixed form
field: Fixed Field
"""
role = RoleInfo.query.filter_by(role_code=field.data).first()
if role:
raise ValidationError(u'角色代码已存在,请更换角色代码')


Binary file added app/forms/role.pyc
Binary file not shown.
36 changes: 36 additions & 0 deletions app/forms/role_auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
""" Role permissions map form."""
__author__ = "WangChuang"
__email__ = "[email protected]"
__copyright__ = "Copyright 2014, Cnnic"
__version__ = "1.0.0"
__deprecated__ = False
__date__ = "2014-8-27 11:18:20"


from app.models.auth_info import AuthInfo
from app.models.role_auth_info import RoleAuthInfo
from flask.ext.wtf import Form
from flask.ext.login import current_user
from wtforms import SelectMultipleField
from wtforms import IntegerField
from wtforms.validators import DataRequired
from wtforms.validators import ValidationError
from wtforms.widgets import ListWidget
from wtforms.widgets import CheckboxInput


class MultiCheckboxField(SelectMultipleField):
""" A multiple-select, except displays a list of checkboxes.
Iterating the field will produce subfields, allowing custom rendering of
the enclosed checkbox fields.
"""
widget = ListWidget(prefix_label=False)
option_widget = CheckboxInput()


class RoleAuthForm(Form):
""" Modify role permissions to use."""
# auth_list = MultiCheckboxField(u'选择权限', choices=[(str(auth.id), auth.auth_name) for auth in AuthInfo.query.filter_by().all()])
pass
Binary file added app/forms/role_auth.pyc
Binary file not shown.
Loading

0 comments on commit c20c036

Please sign in to comment.