コード例 #1
0
ファイル: forms.py プロジェクト: yedpodtrzitko/pcp
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user')

        self.helper = RostiFormHelper()
        self.helper.form_class = 'dyn_refresh'

        super(FormStatic, self).__init__(*args, **kwargs)

        layout = Layout()
        if 'script' in self.fields:
            layout.fields.append(
                PrependedText('script', '<div class="ajax_refresh" data-el="script" data-target="%s"><span class="status"></span></div>' % reverse('refresh_wsgi')),
            )

        if 'virtualenv' in self.fields:
            layout.fields.append(
                PrependedText('virtualenv', '<div class="ajax_refresh" data-el="virtualenv" data-target="%s"><span class="status"></span></div>' % reverse('refresh_venv')),
            )

        if 'document_root' in self.fields:
            layout.fields.append(
                PrependedText('document_root', '<div class="ajax_refresh" data-el="document_root" data-target="%s"><span class="status"></span></div>' % reverse('refresh_userdirs')),
            )

        self.helper.add_layout(layout)


        if 'document_root' in self.fields:
            user_dirs = user_directories(user=self.user, use_cache=True)
            dirs_choices = [("", _("Not selected"))] + [(x, x) for x in
                                                               user_dirs]
            self.fields['document_root'].widget.choices = dirs_choices
コード例 #2
0
ファイル: forms.py プロジェクト: seanchen/pcp
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user')

        self.helper = RostiFormHelper()
        self.helper.form_class = 'dyn_refresh'

        super(FormStatic, self).__init__(*args, **kwargs)

        layout = Layout()
        if 'script' in self.fields:
            layout.fields.append(
                PrependedText('script', '<div class="ajax_refresh" data-el="script" data-target="%s"><span class="status"></span></div>' % reverse('refresh_wsgi')),
            )

        if 'virtualenv' in self.fields:
            layout.fields.append(
                PrependedText('virtualenv', '<div class="ajax_refresh" data-el="virtualenv" data-target="%s"><span class="status"></span></div>' % reverse('refresh_venv')),
            )

        if 'document_root' in self.fields:
            layout.fields.append(
                PrependedText('document_root', '<div class="ajax_refresh" data-el="document_root" data-target="%s"><span class="status"></span></div>' % reverse('refresh_userdirs')),
            )

        self.helper.add_layout(layout)


        if 'document_root' in self.fields:
            user_dirs = user_directories(user=self.user, use_cache=True)
            dirs_choices = [("", _("Not selected"))] + [(x, x) for x in
                                                               user_dirs]
            self.fields['document_root'].widget.choices = dirs_choices
コード例 #3
0
ファイル: views.py プロジェクト: seanchen/pcp
def refresh_userdirs(request):
    if not request.is_ajax():
        return HttpResponseForbidden('non ajax not allowed')

    user_dirs = user_directories(request.session.get('switched_user',
                                                     request.user),
                                 use_cache=False)
    return JsonResponse('OK', user_dirs)
コード例 #4
0
ファイル: forms.py プロジェクト: MechanisM/pcp
    def __init__(self, *args, **kwargs):
        if 'user' in kwargs:
            self.user = kwargs.pop('user')
        super(FTPUpdateForm, self).__init__(*args, **kwargs)

        user_dirs = user_directories(user=self.user, use_cache=True)
        dirs_choices = [("", _("Not selected"))] + [(x, x) for x in user_dirs]
        self.fields['dir'].widget.choices = dirs_choices
        if 'username' in self.initial:
            self.initial['username'] = self.initial['username'][len(self.user.username)+1:]
コード例 #5
0
ファイル: views.py プロジェクト: goldenboy/pcp
def app_static(request, app_type="static", app_id=0):
    if app_type not in ("static", "php"):
        return HttpResponseForbidden(ugettext("Invalid type of application"))

    u = request.session.get('switched_user', request.user)
    superuser = request.user
    choices = [(d, d) for d in user_directories(u, use_cache=True)]

    try:
        site = UserSite.objects.get(id=app_id, owner=u)
    except UserSite.DoesNotExist:
        site = None

    if request.method == 'POST':
        form = FormStatic(request.POST, user=u, instance=site)

        site_errors = domain_check(request, form, this_site=site)
        if not site_errors and form.is_valid():
            isite = form.save(commit=False)
            isite.type = app_type
            isite.owner = u
            isite.save()

            # Requests
            restart_master(config.mode, u)

            # calculate!
            u.parms.pay_for_sites(use_cache=False)

            messages.add_message(request, messages.SUCCESS, _('Site has been %s') % (_('changed') if site else _('added')))
            messages.add_message(request, messages.INFO, _('Changes will be performed in few minutes'))
            return HttpResponseRedirect(reverse("app_list"))
    else:
        form = FormStatic(user=u, instance=site)
        site_errors = ()

    dynamic_refreshs = (
        (reverse("refresh_userdirs"), 'id_document_root'),
    )

    return render_to_response('add_site.html',
            {
            "dynamic_refreshs": dynamic_refreshs,
            "siteErrors": site_errors,
            "form": form,
            "title": {'static': _("Static website"), 'php': _("PHP website")}[app_type],
            "submit": _("Add website") if not site else _("Modify website"),
            "action": reverse("app_static", kwargs={'app_type': app_type, 'app_id': app_id}),
            "u": u,
            "superuser": superuser,
            "menu_active": "webapps",
            },
        context_instance=RequestContext(request)
    )
コード例 #6
0
ファイル: forms.py プロジェクト: MechanisM/pcp
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user')

        super(FormStatic, self).__init__(*args, **kwargs)

        self.fields['domains'].help_text = _(u"<br />Domains separed by space, for example 'rosti.cz www.rosti.cz ' etc. First domain is main.")

        if 'document_root' in self.fields:
            user_dirs = user_directories(user=self.user, use_cache=True)
            dirs_choices = [("", _("Not selected"))] + [(x, x) for x in user_dirs]
            self.fields['document_root'].widget.choices = dirs_choices
コード例 #7
0
    def __init__(self, *args, **kwargs):
        if 'user' in kwargs:
            self.user = kwargs.pop('user')
        super(FTPUpdateForm, self).__init__(*args, **kwargs)

        user_dirs = user_directories(user=self.user, use_cache=True)
        dirs_choices = [("", _("Not selected"))] + [(x, x) for x in user_dirs]
        self.fields['dir'].widget.choices = dirs_choices
        if 'username' in self.initial:
            self.initial['username'] = self.initial['username'][len(self.user.
                                                                    username) +
                                                                1:]
コード例 #8
0
ファイル: forms.py プロジェクト: goldenboy/pcp
    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user')

        super(FormStatic, self).__init__(*args, **kwargs)

        self.fields['domains'].help_text = _(
            u"<br />Domains separed by space, for example 'rosti.cz www.rosti.cz ' etc. First domain is main."
        )

        if 'document_root' in self.fields:
            user_dirs = user_directories(user=self.user, use_cache=True)
            dirs_choices = [("", _("Not selected"))] + [(x, x)
                                                        for x in user_dirs]
            self.fields['document_root'].widget.choices = dirs_choices
コード例 #9
0
ファイル: views.py プロジェクト: MechanisM/pcp
def refresh_userdirs(request):
    if not (request.method == 'POST' and request.is_ajax()):
        return HttpResponseForbidden('non ajax not allowed')

    user_dirs = user_directories(request.session.get('switched_user', request.user), use_cache=False)
    return JsonResponse('OK', user_dirs)