예제 #1
0
    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": "请求方法不被允许"})
예제 #2
0
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(),
        })
예제 #3
0
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()
        })
예제 #4
0
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')
예제 #5
0
파일: views.py 프로젝트: ytp21/Wiki
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()})
예제 #6
0
파일: views.py 프로젝트: franlu/pupils
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))
예제 #7
0
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,})
예제 #8
0
파일: views.py 프로젝트: simple0426/app
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})
예제 #9
0
    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
예제 #10
0
    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
예제 #11
0
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)
예제 #12
0
파일: views.py 프로젝트: xqd0924/crm
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})
예제 #14
0
파일: views.py 프로젝트: franlu/pupils
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))
예제 #15
0
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")
예제 #16
0
파일: views.py 프로젝트: EMasha/Newfolder
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})
예제 #18
0
파일: views.py 프로젝트: simple0426/app
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})
    """
예제 #19
0
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)
예제 #20
0
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)
예제 #21
0
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
        })
예제 #22
0
파일: views.py 프로젝트: ytp21/Wiki
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
            })
예제 #23
0
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}
예제 #24
0
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)
예제 #25
0
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)
예제 #26
0
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)
예제 #27
0
    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": "请求方法不被允许"})
예제 #28
0
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
예제 #29
0
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)
예제 #30
0
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'}))
예제 #31
0
    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
예제 #32
0
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)
예제 #33
0
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',})