def edit_activity_2(request, action_id): activity = get_object_or_404(Activity, id=action_id, is_active=True) if not activity.host == request.user: return HttpResponseForbidden() if request.method == "POST": data = simplejson.loads(request.POST["criteria"]) # 从POST上来的json数据中构造问卷 logger.debug(u"编辑活动第二步,提交到新到问卷结构是{0}".format(request.POST["criteria"])) try: questionnaire = create_questionnaire_with_json({"criteria": data}, activity, is_active=False) request.session["questionnaire_id_tmp"] = questionnaire.id return JsonResponse({ "success": True, "data": { "url": "/action/%s/save" % activity.id } }, content_type='text/html') except ValidationError, error: error_info = error.message return JsonResponse({ "success": True, "data": { "unknown": "未知错误" } }, content_type='text/html')
def test_create_question(): json = { "criteria": [{ "q": "单选题", "type": "radio", "a": ["A", "B", "C"] }, { "q": "多选题", "type": "checkbox", "a": ["A", "B", "C"] }, { "q": "文字题", "type": "question", }, { "q": "文件题", "type": "upload", }] } activity = Activity.objects.all()[1] create_questionnaire_with_json(json, activity)
def test_create_question(): json = { "criteria": [ { "q": "单选题", "type": "radio", "a": ["A", "B", "C"] }, { "q": "多选题", "type": "checkbox", "a": ["A", "B", "C"] }, { "q": "文字题", "type": "question", }, { "q": "文件题", "type": "upload", } ] } activity = Activity.objects.all()[1] create_questionnaire_with_json(json, activity)
def create_new_activity_2(request, action_id): """创建活动的第二步,首先检查session中的信息""" # 从第一步骤出来的 activity = get_object_or_404(Activity, id=action_id, is_active=False) # activity = get_object_or_404(Activity, id=action_id) user = request.user if user != activity.host or "activity_creation_info" not in request.COOKIES: # 如果发现试图访问这个链接的当前用户并不是当前用户的创建者,则引导其进入创建的第一步 return HttpResponseRedirect("/action/new/create/1") act_info = request.COOKIES["activity_creation_info"] if get_activity_session_representation(activity) != act_info: # 检查这个链接是否是由第一步转移过来的,注意这个链接只在30分钟内有效,否则视为放弃了上面的活动 return HttpResponseRedirect("/action/new/create/1") error_info = None if request.method == "POST": data = simplejson.loads(request.POST["criteria"]) # 从POST上来的json数据中构造问卷 try: create_questionnaire_with_json({"criteria": data}, activity) return JsonResponse({ "success": True, "data": { "url": "/action/%s/publish" % activity.id } }, content_type='text/html') except ValidationError, error: error_info = error.message logger.debug(u"创建活动第二步失败,该活动由|%s(id: %s)|创建,错误信息为: %s" % ( user.profile.name, user.id, error_info)) return JsonResponse({ "success": False, "data": { "unknown": "未知错误" } }, content_type='text/html')