Example #1
0
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
Example #2
0
    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
Example #3
0
    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
Example #5
0
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
Example #6
0
    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
Example #7
0
    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
Example #8
0
    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
Example #9
0
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