docklet/web/webViews/notification/notification.py

66 lines
2.0 KiB
Python

import json
from flask import session, render_template, redirect, request
from webViews.view import normalView
from webViews.dockletrequest import dockletRequest
class NotificationView(normalView):
template_path = 'notification.html'
@classmethod
def get(cls):
result = dockletRequest.post('/notification/list/')
groups = dockletRequest.post('/user/groupNameList/')['groups']
notifications = result['data']
return cls.render(cls.template_path, notifications=notifications, groups=groups)
class CreateNotificationView(normalView):
template_path = 'create_notification.html'
@classmethod
def get(cls):
groups = dockletRequest.post('/user/groupNameList/')['groups']
return cls.render(cls.template_path, groups=groups)
@classmethod
def post(cls):
dockletRequest.post('/notification/create/', request.form)
# return redirect('/admin/')
return redirect('/notification/')
class QuerySelfNotificationsView(normalView):
@classmethod
def post(cls):
result = dockletRequest.post('/notification/query_self/')
return json.dumps(result)
class QueryNotificationView(normalView):
template_path = 'notification_info.html'
@classmethod
def get_by_id(cls, notify_id):
notifies = []
if notify_id == 'all':
notifies.extend(dockletRequest.post('/notification/query/all/')['data'])
else:
notifies.append(dockletRequest.post('/notification/query/', data={'notify_id': notify_id})['data'])
return cls.render(cls.template_path, notifies=notifies)
class ModifyNotificationView(normalView):
@classmethod
def post(cls):
dockletRequest.post('/notification/modify/', request.form)
return redirect('/notification/')
class DeleteNotificationView(normalView):
@classmethod
def post(cls):
dockletRequest.post('/notification/delete/', request.form)
return redirect('/notification/')