app.activity_views module¶
- class app.activity_views.WeeklyActivitySummary(**kwargs)[源代码]¶
-
- create_weekly_summary() tuple[int, bool] [源代码]¶
检查是否存在一致的活动及活动合法性,若通过检查则创建活动及活动总结; 返回(activity.id, created); 若查询到一致的活动或检查不合格时抛出AssertionError
- page_name: str = '每周活动总结'¶
- template_name: str = 'activity/weekly_summary.html'¶
- app.activity_views.activityCenter(request: HttpRequest)[源代码]¶
活动信息的聚合界面 只有老师和小组才能看到,老师看到检查者是自己的,小组看到发起方是自己的
- app.activity_views.activitySummary(request: HttpRequest)[源代码]¶
- app.activity_views.addActivity(request: HttpRequest, aid=None)[源代码]¶
发起活动与修改活动页¶
页面逻辑:
该函数处理 GET, POST 两种请求,发起和修改两类操作 1. 访问 /addActivity/ 时,为创建操作,要求用户是小组; 2. 访问 /editActivity/aid 时,为编辑操作,要求用户是该活动的发起者 3. GET 请求创建活动的界面,placeholder 为 prompt 4. GET 请求编辑活动的界面,表单的 placeholder 会被修改为活动的旧值。
- app.activity_views.checkinActivity(request: HttpRequest, aid=None)[源代码]¶
- app.activity_views.examineActivity(request: HttpRequest, aid: int | str)[源代码]¶
- app.activity_views.finishedActivityCenter(request: HttpRequest)[源代码]¶
之前被用为报销信息的聚合界面,现已将报销删去,留下总结图片的功能 对审核老师进行了特判
- app.activity_views.getActivityInfo(request: HttpRequest)[源代码]¶
通过GET获得活动信息表下载链接 GET参数?activityid=id&infotype=sign[&output=id,name,gender,telephone][&format=csv|excel] GET参数?activityid=id&infotype=qrcode activity_id : 活动id infotype : sign or qrcode or 其他(以后可以拓展)
sign报名信息: output : [可选]','分隔的需要返回的的field名
[默认]id,name,gender,telephone
- format[可选]csv or excel
[默认]csv
qrcode签到二维码
example: http://127.0.0.1:8000/getActivityInfo?activityid=1&infotype=sign example: http://127.0.0.1:8000/getActivityInfo?activityid=1&infotype=sign&output=id,wtf example: http://127.0.0.1:8000/getActivityInfo?activityid=1&infotype=sign&format=excel example: http://127.0.0.1:8000/getActivityInfo?activityid=1&infotype=qrcode TODO: 前端页面待对接
- app.activity_views.offlineCheckinActivity(request: HttpRequest, aid)[源代码]¶
修改签到记录,只有举办活动的组织账号可查看和修改
- 参数:
request (HttpRequest) -- 修改请求
aid (int) -- 活动id
- 返回:
修改签到页面
- 返回类型:
- app.activity_views.viewActivity(request: HttpRequest, aid=None)[源代码]¶
页面逻辑: 1. 方法为 GET 时,展示一个活动的详情。
如果当前用户是个人,有立即报名/已报名的 button
如果当前用户是小组,并且是该活动的所有者,有修改和取消活动的 button
- 方法为 POST 时,通过 option 确定操作
如果修改活动,跳转到 addActivity
如果取消活动,本函数处理
如果报名活动,本函数处理 ( 还未实现 )
# TODO 个人操作,包括报名与取消 ---------------------------- 活动逻辑 1. 活动开始前一小时,不能修改活动 2. 活动开始当天晚上之前,不能再取消活动 ( 目前用的 12 小时,感觉基本差不多 )