def change_view(self, request, pk): """ 修改数据页面 """ if request.method == "GET": obj = self.model.objects.filter(pk=pk).first() if obj: AddModelForm = self.get_model_form_class() forms = AddModelForm(instance=obj) info = self.model._meta.app_label, self.model._meta.model_name change_url = reverse("%s_%s_change" % info, kwargs={"pk": pk}) return render(request, "kingadmin/form.html", {"fields": forms, "add_change_url": change_url}) else: return JsonResponse({"code": 401, "msg": "数据错误"}) elif request.method == "POST": obj = self.model.objects.filter(pk=pk).first() if obj: AddModelForm = self.get_model_form_class() forms = AddModelForm(data=request.POST, instance=obj) if forms.is_valid(): forms.save() return JsonResponse({"code": 200, "msg": "修改成功"}) return JsonResponse({"code": 201, "msg": "修改失败", "errors": forms.errors}) else: return JsonResponse({"code": 401, "msg": "数据错误"}) else: return JsonResponse({"code": 403, "msg": "请求方法不被允许"})
def new_page(request): if request.method == 'POST': forms = NewPageForm(request.POST) if forms.is_valid(): title = forms.cleaned_data['title'].title() description = forms.cleaned_data['description'].title() entries = util.list_entries() for i in range(len(entries)): entries[i] = entries[i].upper() if title.upper() in entries: #print(title.upper(), entries) return render(request, "encyclopedia/error.html", { "message": "The page already exist please check and retry" }) else: description = "#" + title + "\n" + description util.save_entry(title, description) return HttpResponseRedirect( reverse('encyclopedia:title', args=(), kwargs={'title': title})) else: return render(request, "encyclopedia/new_page.html", { "insertions": NewPageForm(), })
def search(request): if request.method == "POST": forms = search_form(request.POST) if forms.is_valid(): search_items = [] cl_form = forms.cleaned_data['search_input'] entry_all = util.list_entries() for entry in entry_all: if cl_form.lower() == entry.lower(): page = util.get_entry(cl_form) page_converted = markdowner.convert(page) return render( request, "encyclopedia/title.html", { "form": search_form(), 'title': cl_form, 'converted_page': page_converted }) if cl_form.lower() in entry.lower(): search_items.append(entry) return render(request, "encyclopedia/search.html", { "results": search_items, "query": cl_form, "form": search_form() })
def edit_Tprofile(request,pk): if request.user.is_teacher: if request.user.pk == pk: teacher = User.objects.get(pk=pk) Tprofile = teacherprofile.objects.get(user = teacher) form = forms.edit(teacher.email,teacher.first_name,teacher.last_name,instance=Tprofile) form.fields['last_lecture'].widget.attrs.update({'class':'datetime'}) form.fields['subject'].widget.attrs.update({'class':'checkbox'}) form.fields['dob'].widget.attrs.update({'class':'date'}) if request.method == 'POST': form=forms.edit(request.POST["email"],request.POST["first_name"],request.POST["last_name"],request.POST,request.FILES) if form.is_valid(): fo=form.update(pk) if 'image' in request.FILES: fs=FileSystemStorage() filename=fs.save(request.FILES["image"].name,request.FILES["image"]) return redirect("/"+request.session["type_profile"]+"/dashboard/profile/"+str(pk)+"/") else: return HttpResponse("OOOOO") else: return render(request,'teacher/edit.html',{"form" : form}) else: return HttpResponse('I') else: return HttpResponse('II')
def newPage(request): if request.method == "POST": forms = FormInput(request.POST) if forms.is_valid(): title = forms.cleaned_data["title"] content = forms.cleaned_data["content"] full_content = f"# {title}\n\n{content}" if util.get_entry(title) is None: util.save_entry(title, full_content) url = '{}?{}&entry={}'.format('/', 'value=True', title) return redirect(url) else: form = FormInput(initial={'title': title, 'content': content}) return render(request, "encyclopedia/newpage.html", { "form": form, "entry_exist": True }) else: return render(request, "encyclopedia/newpage.html", { "form": FormInput(), "invalid": True }) else: return render(request, "encyclopedia/newpage.html", {"form": FormInput()})
def inscribir_hijo(request): if request.method == 'POST' : forms = HijoExtraForm(request.POST, request.FILES) if forms.is_valid(): new_user = User() new_user.set_password(request.POST['password1']) new_user.username = request.POST['username'] new_user.first_name = request.POST['name'] new_user.last_name = request.POST['surname'] new_user.email = request.POST['email'] new_user.is_active = True new_user.save() hijo = Hijo(user=new_user) padre = Padre.objects.get(user=request.user) hijo.activity_id = padre.activity_id hijo.year = request.POST['year'] hijo.observations = request.POST['observations'] hijo.save() padre.children.add(hijo) padre.save() """from registration.models import RegistrationManager, RegistrationProfile new_profile = RegistrationManager() new_profile.create_profile(new_user) new_profile.activation_key = RegistrationProfile.ACTIVATED """ signals.user_activated.send(sender='registration.backends.default.DefaultBackend', new_user= new_user, request = request) return HttpResponseRedirect('/pcontrol/') else: context= { 'form': forms, 'hijo': True, } return render_to_response('registration/registration_form.html', context, context_instance=RequestContext(request)) else: forms = HijoExtraForm() context= { 'form': forms, 'hijo': True, } return render_to_response('registration/registration_form.html', context, context_instance=RequestContext(request))
def register(request): if request.method == "POST": form = UserCreateForm(request.POST) if forms.is_valid(): new_user = form.save() return HttpResponseRedirect("/books/") else: form = UserCreateForm() return render_to_response("registration/register.html", {"form":form,})
def index(request): if request.method == 'POST': #提交表单时 forms = AddForm(request.POST) if forms.is_valid(): #如果数据合法 a = forms.cleaned_data['a'] b = forms.cleaned_data['b'] return HttpResponse(str(int(a)+int(b))) else: #正常访问时 forms = AddForm() other = request.META['REMOTE_ADDR'] return render(request, 'index.html', {'form': forms, 'other_info': other})
def is_valid(self): valide = True if not self.mainForm.is_valid(): valide = False print(str(self.mainForm.errors)) for forms in self.listeForm: if not forms.is_valid(): valide = False print(str(forms.errors)) return valide
def create_customer(request): forms = CustomerForm() if request.method == 'POST': forms = CustomerForm(request.POST) if forms.is_valid(): forms.save() return redirect('customer-list') else: print(forms.errors) context = {'cform': forms} return render(request, 'booking/create_customer.html', context)
def register(request): if request.method == 'GET': forms = myforms.RegForms() return render(request, 'register.html', {'forms': forms}) elif request.method == 'POST': forms = myforms.RegForms(request.POST) if forms.is_valid(): dic = forms.cleaned_data models.UserInfo.objects.create_user(**dic) return redirect('/login/') else: return render(request, 'register.html', {'errors': forms.errors})
def register(request): if request.method == "POST": forms = userregisterform(request.POST) if forms.is_valid(): forms.save() username = forms.cleaned_data.get('username') messages.success(request, f'Account Created For {username}') return redirect('login') else: forms = userregisterform() return render(request, 'register.html', {'form': forms})
def upload_pdf(request): if request.method == 'POST' : forms = UploadFileFrom(request.POST, request.FILES) if forms.is_valid(): archivo_por_subir(request.FILES['file_id']) return HttpResponseRedirect('/pcontrol/') else: return render_to_response('users/uploadpdf.html',{'form': forms}, context_instance=RequestContext(request)) else: forms = UploadFileFrom() return render_to_response('users/uploadpdf.html',{'form': forms}, context_instance=RequestContext(request))
def match_view(request): forms = MatchForm(request.POST or None) try: if forms.is_valid(): forms.save() return HttpResponseRedirect(reverse('match:score')) context = { 'forms': forms, } return render(request, 'match/match.html', context) except: messages.warning(request, "Kayıt Başarısız")
def RegisterView(request): print(request.user.is_authenticated()) forms = UserRegistrationForm(request.POST or None) if forms.is_valid(): user = forms.save(commit=False) password = forms.cleaned_data.get('password') user.set_password(password) user.save() new_user = authenticate(username=user.username, password=password) login(request, new_user) return redirect("/home/") return render(request, "prona/registration_form.html", {"forms": forms})
def profile_update_new(request): if request.method == "POST": forms = profileupdateform(request.POST, request.FILES, instance=request.user.profile) if forms.is_valid(): forms.save() username = forms.cleaned_data.get('username') messages.success(request, f'Profile Updated For {request.user}') return redirect('profile_view') else: forms = profileupdateform(instance=request.user.profile) return render(request, 'profile-update-new.html', {'form': forms})
def cust_login(request): if request.method == 'POST': forms = userdata(request.POST) if forms.is_valid(): data = forms.cleaned_data username = data['username'] password = data['password'] user = authenticate(username=username, password=password) if user is not None and user.is_active: login(request, user) return HttpResponseRedirect('/loggedin/') else: forms = userdata() return render(request, 'login.html', {'form': forms}) """
def add_eventmember(request, event_id): forms = AddMemberForm() if request.method == 'POST': forms = AddMemberForm(request.POST) if forms.is_valid(): member = EventMember.objects.filter(event=event_id) event = Event.objects.get(id=event_id) if member.count() <= 9: user = forms.cleaned_data['user'] EventMember.objects.create(event=event, user=user) return redirect('calendar') else: print('--------------User limit exceed!-----------------') context = {'form': forms} return render(request, 'accounts/add_member.html', context)
def createComment(request): user = yyGetUserFromRequest(request) if user == None: return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20000_USER_NOT_LOGON) forms = CreateCommentForm(request.POST) if forms.is_valid(): targetType = forms.cleaned_data['targetType'] comment = YYCommentInfo() if targetType == YYCommentInfo.TARGET_TYPE_STAFF: comment.targetType = targetType elif targetType == YYCommentInfo.TARGET_TYPE_DEAL: comment.targetType = targetType commentDesc = forms.cleaned_data['commentDesc'] comment.comment = commentDesc targetID = long(forms.cleaned_data['targetID']) if targetType == YYCommentInfo.TARGET_TYPE_STAFF: targetStaff = staffSvc.getStaffByID(targetID) if targetStaff == None: return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20011_STAFF_NOT_EXIST) elif targetType == YYCommentInfo.TARGET_TYPE_DEAL: return ErrorResponse() comment.targetID = targetID toUserID = forms.cleaned_data['toUserID'] if toUserID: toUser = yyGetUserByID(toUserID) if toUser==None: return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20015_TARGET_USER_NOT_EXIST) comment.toUserID = long(toUserID) comment.fromUserID = user.pk comment.createTime = datetime.now() comment.updateTime = datetime.now() try: comment.save() except Exception,e: logger.error("Failed to save comments",e) return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20013_DB_EXCEPTION) serializer = YYCommentInfoSerializer(comment) return Response(serializer.data,status=status.HTTP_200_OK)
def edit(request, title): if request.method == "POST": forms = EditTextForm(request.POST) if forms.is_valid(): description = forms.cleaned_data['desc'] util.save_entry(title.rstrip("\n"), description.replace("\n", "")) print(description, title) return HttpResponseRedirect( reverse('encyclopedia:title', args=(), kwargs={'title': title})) else: content = util.get_entry(title) form = EditTextForm() form['desc'].initial = content return render(request, "encyclopedia/edit.html", { "title": title, "content": form })
def editPage(request): if request.POST.get("edit", "") == "True": title = request.POST.get("title", "") content = util.get_entry(title) modified_title = re.sub(r'(\[|\]|\.|\^|\$|\*|\+|\{|\}|\||\(|\))', r'\\\1', title) modified_content = re.sub(f"^# {modified_title}(\n)*", "", content) form = FormInput(initial={'title': title, 'content': modified_content}) return render(request, "encyclopedia/editpage.html", { "form": form, "title": title }) else: original_title = request.POST.get("origin", "") forms = FormInput(request.POST) if forms.is_valid(): title = forms.cleaned_data["title"] content = forms.cleaned_data["content"] full_content = f"# {title}\n\n{content}" if util.get_entry(title) is None: util.save_entry(title, full_content) url = '{}?{}&entry={}'.format('/', 'value=True', title) return redirect(url) elif title.upper() == original_title.upper(): util.save_entry(title, full_content) return HttpResponseRedirect( reverse("entrypage", kwargs={"entryname": title})) else: form = FormInput(initial={'title': title, 'content': content}) return render( request, "encyclopedia/editpage.html", { "form": form, "title": original_title, "entry_exist": True, "edited_title": forms.cleaned_data["title"] }) else: return render(request, "encyclopedia/editpage.html", { "form": FormInput(), "invalid": True })
def login_request(request): if request.method == "POST": print(request.POST.get('submit')) print(request.POST) if request.POST.get('submit') == 'Acceder': print(request.POST.get('submit')) form = AuthenticationForm(request, data=request.POST) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') user = authenticate(username=username, password=password) if user is not None: login(request, user) messages.info(request, f"You are now logged in as {username}.") return redirect("perfil") else: messages.error(request, "Invalid username or password.") else: messages.error(request, "Invalid username or password.") if request.POST.get('submit') == 'signup': forms = UserCreationFormWithEmail(request.POST) if forms.is_valid(): forms.save() username = forms.cleaned_data.get('username') raw_password = forms.cleaned_data.get('password1') user = authenticate(username=username, password=raw_password) login(request, user, backend='django.contrib.auth.backends.ModelBackend') #us = {'example':'hola'} messages.success(request, 'Profile details updated.') return redirect('perfil') else: form = UserCreationFormWithEmail() form = UserCreationFormWithEmail() us = {'example': 'hola'} return render(request=request, template_name="registration/login.html", context={"us": us}) # context={"form": form}
def deleteComment(request): user = yyGetUserFromRequest(request) if user == None: return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20000_USER_NOT_LOGON) forms = CreateCommentForm(request.POST) if forms.is_valid(): commentID = long(forms.cleaned_data['commentID']) comment = commentSvc.getCommentByID(commentID) if comment == None: return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20011_STAFF_NOT_EXIST) #targetStaff.deleteStatus = customSettings.INFO_DELETE_YES #targetStaff.save() comment.deleteStatus = customSettings.INFO_DELETE_YES comment.save() serializer = YYCommentInfoSerializer(comment) return Response(serializer.data,status=status.HTTP_200_OK) else: return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20006_FORMAT_ERROR)
def viewTagList(request): user = yyGetUserFromRequest(request) if user == None: return ErrorResponse(request.path, yyResponseUtil.ERR_SVC_20000_USER_NOT_LOGON) forms = ViewTagListForm(request.GET) if forms.is_valid(): pageCount = forms.cleaned_data['pageCount'] pageIndex = forms.cleaned_data['pageIndex'] allStaffList = YYTagInfo.objects.all() paginator = Paginator(allStaffList, pageCount) try: staffList = paginator.page(pageIndex) paginateObj = YYPaginatedTagInfoSerializer(instance=staffList) return Response(paginateObj.data,status=status.HTTP_200_OK) except EmptyPage: return ErrorResponse(request.path,yyResponseUtil.ERR_SVC_20018_EMPTY_PAGE) else: return ErrorResponse(request.path,yyResponseUtil.ERR_SVC_20006_FORMAT_ERROR)
def edit_profile_info(request): '''Редактирование информации о блоггере''' if request.method == 'POST': forms = EditProfile(request.POST, instance=request.user) try: forms2 = EditBlogerProfile(request.POST, instance=request.user.bloger) forms_foto = ImageLoadForm(request.POST, request.FILES, instance=request.user.bloger) except: forms2 = EditBlogerProfile(request.POST) forms_foto = ImageLoadForm(request.POST, request.FILES) if forms.is_valid() and forms2.is_valid() and forms_foto.is_valid(): forms2.instance.user = request.user forms.save() forms2.save() forms_foto.save() username = forms.cleaned_data.get('username') name = forms.cleaned_data.get('name') surname = forms.cleaned_data.get('surname') age = forms.cleaned_data.get('age') about = forms.cleaned_data.get('about') messages.success(request, f'Изменения внесены!') return redirect(reverse_lazy('profile')) else: forms = EditProfile(instance=request.user) try: forms2 = EditBlogerProfile(instance=request.user.bloger) forms_foto = ImageLoadForm(instance=request.user.bloger) except: forms2 = EditBlogerProfile() forms_foto = ImageLoadForm() context = { 'title': f'Редактирование {request.user}', 'form': forms, 'form2': forms2, 'forms_foto': forms_foto, } return render(request, 'blogdiy/create-blogger.html', context)
def add_view(self, request): """ 添加数据页面 """ if request.method == "GET": AddModelForm = self.get_model_form_class() forms = AddModelForm() info = self.model._meta.app_label, self.model._meta.model_name add_url = reverse("%s_%s_add" % info) return render(request, "kingadmin/form.html", {"fields": forms, "add_change_url": add_url}) elif request.method == "POST": AddModelForm = self.get_model_form_class() forms = AddModelForm(request.POST) if forms.is_valid(): forms.save() return JsonResponse({"code": 200, "msg": "添加成功"}) return JsonResponse({"code": 201, "msg": "添加失败", "errors": forms.errors}) else: return JsonResponse({"code": 403, "msg": "请求方法不被允许"})
def save_formset(forms, model, household_id, page_no=None, **kwargs): #Pass key-word args for filter """add, update and delete models using formset""" if forms.is_valid(): active_ids = [] for form in forms: try: form_id = form.data[form.prefix + '-id'] except KeyError: form_id = None if form.is_valid() and form.has_changed(): record = form.save(commit=False) if form_id: record.id = int(form_id) record.household = get_object_or_none(Household, household_id) if page_no is not None and model == Comments: record.page_no = page_no record.save() active_ids.append(record.id) else: if form_id: active_ids.append(int(form_id)) if page_no is not None and model == Comments: all_ids = list( model.objects.filter(household=household_id, page_no=page_no, **kwargs).values_list('id', flat=True)) else: all_ids = list( model.objects.filter(household=household_id, **kwargs).values_list('id', flat=True)) model.objects.filter( id__in=[x for x in all_ids if x not in active_ids]).delete() return True return False
def processOrder(request): transaction_id = datetime.datetime.now().timestamp() data = json.loads(request.body) if request.user.is_authenticated: user = request.user order, created = Order.objects.get_or_create( user=user, complete=False) else: user, order = guestOrder(request, data) total = float(data['form']['total']) order.transaction_id = transaction_id if total == order.get_cart_total: order.complete = True order.save() if order.shipping == True: Checkout.objects.create( user=user, order=order, address=data['shipping']['address'], city=data['shipping']['city'], state=data['shipping']['state'], zipcode=data['shipping']['zipcode'], image=data['shipping']['image'], ) if forms.is_valid(): image = Form.save(commit=False) image.user_id = request.user.id image.save() return JsonResponse('Payment submitted..', safe=False)
from django import forms from .models import Run from .models import RunSteps from datetime import datetime """ Quando nao existe o model, usamos o forms.Form widget : objeto para ser renderizado forms.is_valid() quando passa dele form que ele gera form. campo nao funciona forms.erros.message mesagem cleaned_data campo ja valido """ class RunForm(forms.ModelForm): created_date = forms.DateTimeField( label='Data da corrida', widget=forms.TextInput(attrs={'class': 'form-control'})) run_date = forms.DateTimeField( label='Data do registro ', widget=forms.TextInput(attrs={'class': 'form-control'})) total_time = forms.TimeField( label='Tempo total :', widget=forms.TextInput(attrs={'class': 'form-control'}))
def create(self): # Input validation service_form = ServiceForm(data=self.data) if service_form.is_valid(): cleaned_data = service_form.cleaned_data cleaned_data['containers'] = [] cleaned_data['volumes'] = [] else: raise BadRequest(service_form.errors) for i, container in enumerate(self.data['containers']): container_form = ContainerForm(data=container) if container_form.is_valid(): container_data = container_form.cleaned_data container_data['mountPoints'] = [] container_data['portMappings'] = [] else: key = 'containers[{0}]'.format(i) raise BadRequest({key: container_form.errors}) for k, mount in enumerate(container.get('mountPoints', [])): form = MountPointForm(data=mount) if form.is_valid(): container_data['mountPoints'].append(form.cleaned_data) else: key = 'containers[{0}].mountPoints[{1}]'.format(i, k) raise BadRequest({key: form.errors}) for k, ports in enumerate(container.get('portMappings', [])): forms = PortMappingForm(data=ports) if forms.is_valid(): if forms.cleaned_data['hostPort'] is None: del forms.cleaned_data['hostPort'] container_data['portMappings'].append(forms.cleaned_data) else: key = 'containers[{0}].portMappings[{1}]'.format(i, k) raise BadRequest({key: form.errors}) cleaned_data['containers'].append(container_data) for i, volume in enumerate(self.data.get('volumes', [])): form = VolumeForm(data=volume) if form.is_valid(): volume_data = form.cleaned_data else: key = 'volumes[{0}]'.format(i) raise BadRequest({key: form.errors}) form = VolumeHostForm(data=volume['host']) if form.is_valid(): if form.cleaned_data['ebsVolumeSize'] is None: del form.cleaned_data['ebsVolumeSize'] if form.cleaned_data['sourcePath'] is None: del form.cleaned_data['sourcePath'] volume_data['host'] = form.cleaned_data else: key = 'volumes[{0}].host'.format(i) raise BadRequest({key: form.errors}) cleaned_data['volumes'].append(volume_data) # Create objects task_def = TaskDefinition.objects.create(family=cleaned_data['name'], containers=cleaned_data['containers'], volumes=cleaned_data['volumes']) service = Service.objects.create(name=cleaned_data['name'], task_count=cleaned_data['taskCount'], task_definition=task_def) return service
def index(request): log.info('index start') forms = SearchFormSet(request.GET or None) """ GETパラメータのキー内容について。 ページング処理のパラメータ 'page' 検索絞込み条件の'm_work_history','m_appl_route'の情報は 'form-0-m_appl_route','form_0-m_work_history'というキー値となっているので 存在するかの確認は、完全一致ではなく部分一致で確認する キーが存在した場合は、isValid実施後にSQLのWhere句を生成する。 """ whereSql = '' # # パラメータに検索条件があるかチェックする # Request.GETからパラメータをリストに保存(lists) # タプルの中にタプルが格納されているので二重ループで、キー名の文字列が含まれているパラメータキーが存在するか # チェックし存在したらフラグをTrueに設定する。 # 1つあったらそれで十分なのでループを抜ける lists = request.GET.lists() is_m_appl_route_key = False #検索条件パラメータ存在有無フラグ is_m_work_history_key = False #検索条件パラメータ存在有無フラグ for tupls in lists: for key in tupls: if 'm_work_history' in key: is_m_work_history_key = True break elif 'm_appl_route' in key: is_m_appl_route_key = True break #どちらかのフラグがTrueとなったら終わり if is_m_appl_route_key or is_m_appl_route_key: break # # 1. パラメータに検索条件があったらSQL文のWHERE句を生成する。 # 2. 検索パラメータが正常に作成されていない場合は下記エラーとなるため、新規にFormを生成する。 # 「マネージメントフォームのデータが見つからないか、改竄されています。」 # これは検索条件なしでページ遷移パラメータが存在している場合に発生する。 # if is_m_work_history_key or is_m_appl_route_key: if forms.is_valid() == True: for form in forms: if form.cleaned_data.get('m_appl_route'): #print( 'm_appl_route=' + str(type(form.cleaned_data.get('m_appl_route')))) whereSql = ' WHERE M_Appl_Route.key_appl_route =\'' + str( form.cleaned_data.get( 'm_appl_route').key_appl_route) + '\' ' if form.cleaned_data.get('m_work_history'): if whereSql: whereSql = whereSql + ' AND ' else: whereSql = ' WHERE ' whereSql = whereSql + 'M_Work_History.key_history_kbn=\'' + str( form.cleaned_data.get( 'm_work_history').key_history_kbn) + '\'' #print( 'WHERE=[' + whereSql + ']' ) else: #ありえないけと念のため forms = SearchFormSet(None) else: forms = SearchFormSet(None) cursor = connection.cursor() sSql = ''' select APPL.key_applicant key_applicant ,APPL.applicant_date applicant_date ,APPL.applicant_no applicant_no ,APPL.applicant_name_text applicant_name_text ,M_Work_History.work_history_kbn work_history_kbn ,M_Appl_Route.appl_route_text appl_route_text ,M_Department_1.headquarters_text headquarters_1_text ,M_Judgment_1.judgment_text judgment_1_text ,M_Department_2.headquarters_text headquarters_2_text ,M_Judgment_2.judgment_text judgment_2_text ,M_Department_3.headquarters_text headquarters_3_text ,M_Judgment_3.judgment_text judgment_3_text ,T_Judgment_1.key_judgment key_judgment_1 ,T_Judgment_2.key_judgment key_judgment_2 ,T_Judgment_3.key_judgment key_judgment_3 from ( ( ( ( ( ( ( ( ( ( ( applicantctl_T_Applicant_info AS APPL left outer join applicantctl_T_Judgment As T_Judgment_1 ON APPL.key_applicant = T_Judgment_1.key_applicant_id AND T_Judgment_1.judgment_index=1 ) left outer join applicantctl_T_Judgment As T_Judgment_2 ON APPL.key_applicant = T_Judgment_2.key_applicant_id AND T_Judgment_2.judgment_index=2 ) left outer join applicantctl_T_Judgment As T_Judgment_3 ON APPL.key_applicant = T_Judgment_3.key_applicant_id AND T_Judgment_3.judgment_index=3 ) left outer join applicantctl_M_Department as M_Department_1 ON T_Judgment_1.key_department_id = M_Department_1.key_index ) left outer join applicantctl_M_Department as M_Department_2 ON T_Judgment_2.key_department_id = M_Department_2.key_index ) left outer join applicantctl_M_Department as M_Department_3 ON T_Judgment_3.key_department_id = M_Department_3.key_index ) left outer join applicantctl_M_Judgment as M_Judgment_1 ON T_Judgment_1.judgment_id = M_Judgment_1.key_judgment ) left outer join applicantctl_M_Judgment as M_Judgment_2 ON T_Judgment_2.judgment_id = M_Judgment_2.key_judgment ) left outer join applicantctl_M_Judgment as M_Judgment_3 ON T_Judgment_3.judgment_id = M_Judgment_3.key_judgment ) inner join applicantctl_M_Work_History as M_Work_History ON APPL.key_history_kbn_id = M_Work_History.key_history_kbn ) inner join applicantctl_M_Appl_Route as M_Appl_Route ON APPL.key_appl_route_id = M_Appl_Route.key_appl_route ) ''' sSql = sSql + whereSql sSql = sSql + ' ORDER BY applicant_date' log.info('SQL=' + sSql.replace('\r\n', '').replace('\n', '').replace(' ', ' ')) cursor.execute(sSql) rows = cursor.fetchall() page_obj = paginate_queryset(request, rows, 10) #print( '-------------------------------------------------------------------' ) #print( forms ) context = { 'forms': forms, 'list': page_obj.object_list, 'page_obj': page_obj, } #print( context ); #log.info('index end') return render(request, 'applicantctl/index.html', context)
def view_beneficiary_history(request,from_d,to_d,ben_id,template='board/view_beneficiary_history.html'): try: f_d=datetime.strptime(from_d,'%m%d%Y') t_d=datetime.strptime(to_d,'%m%d%Y') except ValueError: return HttpResponse(status=400) if (t_d-f_d).days<0: return HttpResponse(status=400) try: auser=User.objects.get(id=request.user.id) if auser.is_superuser: bens=Beneficiary.objects.get(id=ben_id) else: bens=auser.beneficiaries.get(id=ben_id) except ObjectDoesNotExist: raise Http404 bens_contents={'ty':dict(Beneficiary.B_TYPE)[bens.ty], 'fname':bens.fname, 'lname':bens.lname, 'group':bens.group.all() } ty=None aform=ActivityTypeForm() if request.method=='POST' and 'choice' in request.POST: aform=ActivityTypeForm(request.POST) if aform.is_valid(): ty=aform.cleaned_data['choice'] elif request.method=='GET' and 'ty' in request.GET: ty=request.GET.get('ty',None) aform.fields['choice'].initial=ty fset=modelformset_factory(Activity,formset=MyModelFormsetBase,form=BeneficiaryAttendanceForm,extra=0) fset.form = staticmethod(curry(BeneficiaryAttendanceForm,extra_args=MyModelFormsetBase.extra_args)) contents=[] q=bens.user.activities.filter(fdate__gte=f_d,fdate__lte=t_d).order_by('fdate') if ty: q=q.filter(activity_ty=ty) paginator=Paginator(q,10) page=request.GET.get('page') try: contents=paginator.page(page) except PageNotAnInteger: contents=paginator.page(1) except EmptyPage: contents=paginator.page(paginator.num_pages) adjacent_pages=3 startPage = max(contents.number - adjacent_pages, 1) endPage = contents.number + adjacent_pages if endPage >= contents.paginator.num_pages : endPage = contents.paginator.num_pages page_numbers = [n for n in range(startPage, endPage+1) if n > 0 and n <= contents.paginator.num_pages] page_query = q.filter(id__in=[c.id for c in contents]) if request.method=='POST': if 'save' in request.POST: forms=fset(request.POST,queryset=page_query,extra_args=bens) if forms.is_valid(): for f in forms: f.save() messages.add_message(request,messages.SUCCESS,'The data have been successfully edited.') return HttpResponseRedirect(reverse('view_beneficiary_history', kwargs={'from_d':from_d, 'to_d':to_d, 'ben_id':bens.id})) else: forms=fset(queryset=page_query,extra_args=bens) else : forms=fset(queryset=page_query,extra_args=bens) renders={} renders['aform']=aform renders['bform']=[] json_data={} for f in forms: renders['bform'].append({'center':f.activity.user.username,'activity_ty':dict(Activity.A_TYPE)[f.activity.activity_ty], 'fdate':f.activity.fdate,'tdate':f.activity.tdate,'form':f}) dic={} for aw in f.activity.description.all(): dic[aw.week]=aw.description json_data[f.activity.id]=dic json_data=json.dumps(json_data) return render(request,template,{'conf':conf,'page_numbers':page_numbers,'bens_contents':bens_contents,'contents':contents,'renders':renders, 'ty':ty,'from_d':from_d,'to_d':to_d,'ben_id':ben_id,'forms':forms,'json_data':json_data,'title':'view activity',})