示例#1
0
    def add(self):
        table = UserTable(users._search())
        form = UserForm()
        error = None

        if form.validate_on_submit():
            user = User()
            user.username = form.username.data.strip()
            user.password = form.password.data
            user.email = form.email.data.strip()
            user.is_login_ad = form.is_login_ad.data.strip()
            user.full_name = form.full_name.data.strip()

            if users.check_duplicate(user.username):
                error = _('Username already exist!')
                return render_template('/user/add.html',
                                       username=users.current_user().username,
                                       table=table,
                                       form=form,
                                       error=error)
            if len(user.username) > 50:
                error = _('Username must be less than 50 characters')
                return render_template('/user/add.html',
                                       username=users.current_user().username,
                                       table=table,
                                       form=form,
                                       error=error)
            if len(user.full_name) > 50:
                error = _('Full name must be less than 50 characters')
                return render_template('/user/add.html',
                                       username=users.current_user().username,
                                       table=table,
                                       form=form,
                                       error=error)

            if form.password.data != form.confirm_password.data:
                error = _('Confirm Password does not match!')
            else:
                users._insert(user)
                return redirect(url_for('admin.UserView:index'))

        return render_template('/user/add.html',
                               username=users.current_user().username,
                               table=table,
                               form=form,
                               error=error)
示例#2
0
    def delete(self, id):
        user = users._find(id=id)
        form = UserForm(obj=user)

        if form.validate_on_submit():
            users._delete(user)
            return redirect(url_for('admin.UserView:index'))

        return render_template('/user/delete.html',
                               username=users.current_user().username,
                               form=form,
                               id=id)
示例#3
0
    def add(self):
        form = PageForm()
        error = None

        if form.validate_on_submit():
            obj = FacebookConfig()
            obj.key = form.key.data
            obj.value = form.value.data
            obj.description = form.description.data
            pages._insert(obj)
            return redirect(url_for('admin.PageView:index'))

        return render_template('/page/add.html',
                               username=users.current_user().username,
                               form=form,
                               error=error)
示例#4
0
    def edit(self, id):
        error = None
        config = pages._find(id)
        if config:
            form = PageForm(obj=config)
            if form.validate_on_submit():
                config.key = form.key.data
                config.value = form.value.data
                config.description = form.description.data
                pages._update(config)
                return redirect(url_for('admin.PageView:index'))

        return render_template('/page/edit.html',
                               username=users.current_user().username,
                               form=form,
                               error=error,
                               id=id)
示例#5
0
    def change_password(self, id):
        error = None
        user = users._find(id=id)
        form = ChangePasswordForm()
        form.username.data = user.username

        if user:
            if form.validate_on_submit():
                if form.password.data == form.confirm_password.data:
                    user.password = form.password.data
                    users.change_password(user)
                    return redirect(url_for('admin.UserView:index'))
                else:
                    error = _('Confirm password does not match!')
        return render_template('/user/change_password.html',
                               form=form,
                               error=error,
                               username=users.current_user().username,
                               id=id)
示例#6
0
    def edit(self, id):
        error = None
        user = users._find(id=id)
        form = UserForm(obj=user)

        if form.validate_on_submit():
            user.username = form.username.data
            user.email = form.email.data
            user.is_login_ad = form.is_login_ad.data
            user.full_name = form.full_name.data

            if users.check_duplicate(user.username, update=True):
                error = _('Username already exist!')
            else:
                users._update(user)
                return redirect(url_for('admin.UserView:index'))

        return render_template('/user/edit.html',
                               username=users.current_user().username,
                               form=form,
                               error=error,
                               id=id)
示例#7
0
 def index(self):
     table = UserTable(users._search())
     return render_template('/user/index.html',
                            username=users.current_user().username,
                            table=table)
示例#8
0
 def index(self):
     return render_template('home/index.html',
                            username=users.current_user().username)
示例#9
0
	def add(self):
		form  = DynamicTextForm()
		table = DynamicTextTable(data=[])
		error = None

		if request.method == 'GET':
			return redirect(url_for('admin.DynamicTextView:index'))

		if form.validate_on_submit():
			headers = {'Content-Type':'application/json'}
			params = {
				"access_token": form.token.data
			}
			datas = json.dumps({
				'messages': [{
					'dynamic_text': {
						'text': u'{0}'.format(form.text.data),
						'fallback_text': 'Please Contact Tel. 023 930 000 for more information'
					}
				}]
			})

			message_creative = requests.post(url='https://graph.facebook.com/v2.11/me/message_creatives', headers=headers, params=params, data=datas)

			if message_creative.status_code ==  requests.codes.ok:
				notification_type = request.form.get('notification_type', 'REGULAR')
				is_broadcast_now = 'N'
				
				if request.form.get("broadcast_now"):
					is_broadcast_now = 'Y'
				
				obj = BroadcastMessage()
				obj.is_already_broadcast = is_broadcast_now
				obj.message_creative_id = message_creative.json().get('message_creative_id', 0)
				obj.message_creative_type = 'text'
				obj.content = u'{0}'.format(form.text.data)
				broadcastmessages._insert(obj)
				
				if is_broadcast_now == 'Y':
					datas = json.dumps({    
						'message_creative_id': message_creative.json().get('message_creative_id', 0),
						'notification_type': notification_type,
						'messaging_type': 'MESSAGE_TAG',
						'tag': 'NON_PROMOTIONAL_SUBSCRIPTION'
					})

					broadcast_messages = requests.post(url='https://graph.facebook.com/v2.11/me/broadcast_messages', headers=headers, params=params, data=datas)
					if broadcast_messages.status_code == requests.codes.ok:
						d = json.loads(datas)
						obj = Broadcast()
						obj.broadcast_id = broadcast_messages.json().get('broadcast_id', 0)
						obj.message_creative_id = message_creative.json().get('message_creative_id', 0)
						obj.tag = d['tag']
						obj.notification_type = notification_type
						obj.messaging_type = d['messaging_type']
						broadcasts._insert(obj)
						return redirect(url_for('admin.BroadcastView:index'))
			else:
				error = message_creative.json()['error']['message']

		return render_template('/broadcast/dynamictext/index.html', form=form, username=users.current_user().username, error=error)
示例#10
0
	def index(self):
		table = DynamicTextTable(data=[])
		form  = DynamicTextForm()
		p = pages._findByKey('ACCESS_TOKEN')
		if p:
			form.token.data = p.value

		return render_template('/broadcast/dynamictext/index.html', form=form, table=table, username=users.current_user().username)
示例#11
0
	def index(self):
		table = DynamicTextTable(data=broadcastmessages._search())
		return render_template('/broadcast/index.html', table=table, username=users.current_user().username)
示例#12
0
	def add(self):
		form  = TextButtonShareForm()
		error = None

		if request.method == 'GET':
			return redirect(url_for('admin.TextButtonShareView:index'))

		if form.validate_on_submit():
			headers = {'Content-Type':'application/json'}
			params  = {
				"access_token": form.token.data
			}
			
			datas   = json.dumps(
			{
				'messages': [{
					'attachment': {
						'type': "template",
						'payload': {
						'template_type':'button',
						'text': u'{0}'.format(form.text.data),
						'buttons':[{
							'type':'web_url',
							'url': u'{0}'.format(form.share_url.data),
							"title":u'{0}'.format(form.button_title.data),
							'webview_height_ratio': 'full'
							}]
						}
					}    
				}]
			})
			
			message_creative = requests.post(url='https://graph.facebook.com/v2.11/me/message_creatives', headers=headers, params=params, data=datas)

			if message_creative.status_code ==  requests.codes.ok:
				notification_type = request.form.get('notification_type', 'REGULAR')
				is_broadcast_now = 'N'
				
				if request.form.get("broadcast_now"):
					is_broadcast_now = 'Y'
				
				obj = BroadcastMessage()
				obj.is_already_broadcast = is_broadcast_now
				obj.message_creative_id = message_creative.json().get('message_creative_id', 0)
				obj.message_creative_type = 'text button'
				broadcastmessages._insert(obj)
				
				if is_broadcast_now == 'Y':
					datas = json.dumps({    
						'message_creative_id': message_creative.json().get('message_creative_id', 0),
						'notification_type': notification_type,
						'messaging_type': 'MESSAGE_TAG',
						'tag': 'NON_PROMOTIONAL_SUBSCRIPTION'
					})

					broadcast_messages = requests.post(url='https://graph.facebook.com/v2.11/me/broadcast_messages', headers=headers, params=params, data=datas)
					if broadcast_messages.status_code == requests.codes.ok:
						d = json.loads(datas)
						obj = Broadcast()
						obj.broadcast_id = broadcast_messages.json().get('broadcast_id', 0)
						obj.message_creative_id = message_creative.json().get('message_creative_id', 0)
						obj.tag = d['tag']
						obj.notification_type = notification_type
						obj.messaging_type = d['messaging_type']
						broadcasts._insert(obj)
						return redirect(url_for('admin.BroadcastView:index'))
					else:
						error = message_creative.json()['error']['message']
			else:
				error = message_creative.json()['error']['message']

		render_template('/broadcast/textbuttonshare/index.html', form=form, error=error, username=users.current_user().username)
示例#13
0
	def index(self):
		form  = TextButtonShareForm()
		error = None
		p = pages._findByKey('ACCESS_TOKEN')
		if p:
			form.token.data = p.value
		return render_template('/broadcast/textbuttonshare/index.html', form=form, username=users.current_user().username, error=error)
示例#14
0
	def index(self):
		form = VideoImageForm()
		p = pages._findByKey('ACCESS_TOKEN')
		if p:
			form.token.data = p.value
		return render_template('/broadcast/videoimage/index.html', form=form, error=None, username=users.current_user().username)
示例#15
0
 def index(self):
     table = PageTable(pages._search())
     return render_template('/page/index.html',
                            username=users.current_user().username,
                            table=table)