def logout(request): auth = request.COOKIES.get('auth') resp = logout_exp_api(auth) context = {'response': resp} response = TemplateResponse(request,'logout.html', context) response.delete_cookie('auth') return response
def form_valid(self, form): user = authenticate(username=form.cleaned_data.get('username'), password=form.cleaned_data.get('password')) if user is not None: if user.is_active: # 用户登陆 auth_login(self.request, user) # 重定向 return super().form_valid(form) else: # 用户验证不成功 form.add_error(None, '用户名或密码不正确') context = {} response = TemplateResponse(self.request, self.template_name, context) # print(response.context_data) # 如果勾选了记住用户名,则保存到Cookies中, key=mark_name, 如果未勾选,设置mark_name 为空 username = self.request.POST.get('username') if self.request.POST.get('mark_name') == '1': response.set_signed_cookie('mark_name', username) else: response.delete_cookie('mark_name') username = '' context = {'form': form, 'mark_name': username} response.context_data = context return response
def dispatch(self, request): global _SetupControllerObject global _FinishedState if _SetupControllerObject is None: if not installer.IsExist(): return HttpResponseRedirect(_ALREADY_CONFIGURED_REDIRECT_URL) _SetupControllerObject = SetupController() result = _SetupControllerObject.render(request) if result is None: return HttpResponseRedirect(request.path) template, context, new_request = result context['context_instance'] = RequestContext(new_request) if _FinishedState: logout(new_request) response = TemplateResponse(new_request, template, context) if _FinishedState: response.delete_cookie('sessionid') return response
def get(self, request, *args, **kwargs): context = self.get_context() response = redirect( get_redirect_url( "/apps/{0}/{1}/detail/".format(self.tenantName, self.serviceAlias), request)) try: docker_c_id = request.COOKIES.get('docker_c_id', '') docker_h_id = request.COOKIES.get('docker_h_id', '') docker_s_id = request.COOKIES.get('docker_s_id', '') if docker_c_id != "" and docker_h_id != "" and docker_s_id != "" and docker_s_id == self.service.service_id: t_docker_h_id = docker_h_id.lower() context["tenant_id"] = self.service.tenant_id context["service_id"] = docker_s_id context["ctn_id"] = docker_c_id context["md5"] = md5fun(self.service.tenant_id + "_" + docker_s_id + "_" + docker_c_id) context["ws_uri"] = self.make_docker_ws_uri( settings.DOCKER_WSS_URL, t_docker_h_id) response = TemplateResponse(self.request, "www/console.html", context) response.delete_cookie('docker_c_id') response.delete_cookie('docker_h_id') response.delete_cookie('docker_s_id') except Exception as e: logger.exception(e) return response
def logout(request): auth = request.COOKIES.get('auth') resp = logout_exp_api(auth) context = {'response': resp} response = TemplateResponse(request, 'logout.html', context) response.delete_cookie('auth') return response
def get(self, request, *args, **kwargs): self.tenantName = kwargs.get('tenantName', None) self.serviceAlias = kwargs.get('serviceAlias', None) tenant = team_repo.get_team_by_team_name(self.tenantName) if tenant: self.tenant = tenant else: raise http.Http404 service = service_repo.get_service_by_tenant_and_alias( self.tenant.tenant_id, self.serviceAlias) if service: self.service = service else: raise http.Http404 context = dict() response = redirect( get_redirect_url( "/#/app/{0}/overview".format(self.service.service_alias), request)) try: docker_c_id = request.COOKIES.get('docker_c_id', '') docker_h_id = request.COOKIES.get('docker_h_id', '') docker_s_id = request.COOKIES.get('docker_s_id', '') if docker_c_id != "" and docker_h_id != "" and docker_s_id != "" and docker_s_id == self.service.service_id: t_docker_h_id = docker_h_id.lower() context["tenant_id"] = self.service.tenant_id context["service_id"] = docker_s_id context["ctn_id"] = docker_c_id context["md5"] = md5fun(self.service.tenant_id + "_" + docker_s_id + "_" + docker_c_id) main_url = region_services.get_region_wsurl( self.service.service_region) if main_url == "auto": context[ "ws_uri"] = '{}://{}:6060/docker_console?nodename={}'.format( settings.DOCKER_WSS_URL["type"], settings.DOCKER_WSS_URL[ self.service.service_region], t_docker_h_id) else: context[ "ws_uri"] = "{0}/docker_console?nodename={1}".format( main_url, t_docker_h_id) response = TemplateResponse(self.request, "www/console.html", context) response.delete_cookie('docker_c_id') response.delete_cookie('docker_h_id') response.delete_cookie('docker_s_id') except Exception as e: logger.exception(e) return response
def form_invalid(self, form): context = {} response = TemplateResponse(self.request, self.template_name, context) # 如果勾选了记住用户名,则保存到Cookies中, key=mark_name username = self.request.POST.get('username') if self.request.POST.get('mark_name') == '1': response.set_signed_cookie('mark_name', username) else: response.delete_cookie('mark_name') username = '' context = {'form': form, 'mark_name': username} response.context_data = context return response
def get(self, request, *args, **kwargs): context = self.get_context() response = redirect( get_redirect_url( "/apps/{0}/{1}/detail/".format(self.tenantName, self.serviceAlias), request)) try: docker_c_id = request.COOKIES.get('docker_c_id', '') docker_h_id = request.COOKIES.get('docker_h_id', '') docker_s_id = request.COOKIES.get('docker_s_id', '') if docker_c_id != "" and docker_h_id != "" and docker_s_id != "" and docker_s_id == self.service.service_id: t_docker_h_id = docker_h_id.lower() context["tenant_id"] = self.service.tenant_id context["service_id"] = docker_s_id context["ctn_id"] = docker_c_id context["md5"] = md5fun(self.service.tenant_id + "_" + docker_s_id + "_" + docker_c_id) main_url = region_services.get_region_wsurl( self.service.service_region) if main_url == "auto": context[ "ws_uri"] = '{}://{}:6060/docker_console?nodename={}'.format( settings.DOCKER_WSS_URL["type"], settings.DOCKER_WSS_URL[ self.service.service_region], t_docker_h_id) else: context[ "ws_uri"] = "{0}/docker_console?nodename={1}".format( main_url, t_docker_h_id) response = TemplateResponse(self.request, "www/console.html", context) response.delete_cookie('docker_c_id') response.delete_cookie('docker_h_id') response.delete_cookie('docker_s_id') except Exception as e: logger.exception(e) return response
def login(request): template_name = 'user/login.html' success_url = reverse_lazy('user:user_center_info') # 跳转到用户中心 if request.method == 'GET': return render( request, template_name, {'mark_name': request.get_signed_cookie('mark_name', '')}) else: username = request.POST.get('username') form = UserLoginForm(request.POST) if form.is_valid(): user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password']) if user is not None: if user.is_active: # 登陆 auth_login(request, user) # 重定向, 获取装饰器login_required 的next参数,实现跳转到登陆之前的路径 success_url = request.GET.get('next', success_url) response = redirect(success_url) # 记住用户名功能 if request.POST.get('mark_name') == '1': response.set_signed_cookie('mark_name', username) else: response.delete_cookie('mark_name') return response else: form.add_error(None, '用户名或密码不正确') # 页面记住用户名功能,把用户名存在cookie里 response = TemplateResponse(request, template_name, {}) if request.POST.get('mark_name') == '1': response.set_signed_cookie('mark_name', username) else: response.delete_cookie('mark_name') username = '' response.context_data = {'form': form, 'mark_name': username} return response
def get(self, request, *args, **kwargs): # 检查用户邮箱是否完善,跳转到邮箱完善页面 next_url = request.path if self.user.email is None or self.user.email == "": type = request.GET.get("type", "") if type == "gitlab_exit": return self.redirect_to( "/wechat/info?next={0}".format(next_url)) # 判断系统中是否有初始化的application数据 count = ServiceInfo.objects.filter(service_key="application").count() if count == 0: # 跳转到云市引用市场下在application模版 redirect_url = "/ajax/{0}/remote/market?service_key=application&app_version=81701&next_url={1}".format( self.tenantName, next_url) logger.debug("now init application record") return self.redirect_to(redirect_url) context = self.get_context() response = TemplateResponse(self.request, "www/app_create_step_1.html", context) try: type = request.GET.get("type", "gitlab_demo") if type not in ( "gitlab_new", "gitlab_manual", "github", "gitlab_exit", "gitlab_demo", "gitlab_self", ): type = "gitlab_self" context["tenantName"] = self.tenantName context["createApp"] = "active" request.session["app_tenant"] = self.tenantName app_status = request.COOKIES.get('app_status', '') app_an = request.COOKIES.get('app_an', '') context["app_status"] = app_status context["app_an"] = app_an context["cur_type"] = type context["is_private"] = sn.instance.is_private() response.delete_cookie('app_status') response.delete_cookie('app_an') regionBo = rpmManager.get_work_region_by_name(self.response_region) context['pre_paid_memory_price'] = regionBo.memory_package_price context['post_paid_memory_price'] = regionBo.memory_trial_price context['pre_paid_disk_price'] = regionBo.disk_package_price context['post_paid_disk_price'] = regionBo.disk_trial_price context['post_paid_net_price'] = regionBo.net_trial_price # 是否为免费租户 context['is_tenant_free'] = (self.tenant.pay_type == "free") context["is_private"] = sn.instance.is_private() # 判断云帮是否为公有云 context["is_public_clound"] = (sn.instance.cloud_assistant == "goodrain" and (not sn.instance.is_private())) except Exception as e: logger.exception(e) return response