66 lines
2.0 KiB
Python
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/')
|