Ejemplo n.º 1
0
    def post(self, name):
        project = Project.get_plain(name)
        enable_form = QueueEnableForm(data=self.get_enable_form(project))
        form = QueueSettingsForm(data=self.get_queue_settings_form(project))
        lower_shortcode = project.lower_shortcode()

        message = None
        action = self.get_argument('action', None)

        if action == 'enable':
            enable_form = QueueEnableForm(self.request.arguments)
            if enable_form.validate():
                with Project.get_session_object(name) as project:
                    project.enabled = enable_form.enabled.data
                    logger.info('Project %s enabled=%s',
                                name, project.enabled)
                    message = ('Enabled' if project.enabled else 'Disabled')
            else:
                message = 'Error in Queue Enable Form.'

        elif action == 'autoqueue':
            form = QueueSettingsForm(self.request.arguments)
            if form.validate():
                with Project.get_session_object(name) as project:
                    project.autoqueue = form.autoqueue.data
                    project.num_count_per_item = form.num_count_per_item.data
                    project.max_num_items = form.max_num_items.data
                    project.lower_sequence_num = form.lower_sequence_num.data or 0
                    project.autorelease_time = form.autorelease_time.data * 60 or 0

                    lower_shortcode = project.lower_shortcode()

                logger.debug('Project %s queue settings changed.', name)
                message = 'Settings saved.'
            else:
                message = 'Error in Auto Queue Form.'
        else:
            message = 'Error: unrecognized action argument.'

        Budget.calculate_budgets()

        self.render(
            'admin/project/queue_settings.html',
            project_name=name,
            lower_shortcode=lower_shortcode,
            form=form,
            enable_form=enable_form,
            message=message
        )
Ejemplo n.º 2
0
    def post(self, name):
        form = ProjectSettingsForm(self.request.arguments)
        message = None

        if form.validate():
            with Project.get_session_object(name) as project:
                project.alphabet = form.alphabet.data
                project.min_version = form.min_version.data
                project.min_client_version = form.min_client_version.data
                project.url_template = form.url_template.data
                project.request_delay = form.request_delay.data
                project.redirect_codes = form.redirect_codes.data
                project.no_redirect_codes = form.no_redirect_codes.data
                project.unavailable_codes = form.unavailable_codes.data
                project.banned_codes = form.banned_codes.data
                project.body_regex = form.body_regex.data
                project.method = form.method.data

            logger.info('Changed project %s shortener settings', name)
            message = 'Settings saved.'
        else:
            message = 'Error.'

        self.render(
            'admin/project/shortener_settings.html',
            project_name=name, form=form,
            message=message
        )
Ejemplo n.º 3
0
    def post(self, project_id):
        project = Project.get_plain(project_id)
        enable_form = QueueEnableForm(data=self.get_enable_form(project))
        form = QueueSettingsForm(data=self.get_queue_settings_form(project))
        lower_shortcode = project.lower_shortcode()

        message = None
        action = self.get_argument('action', None)

        if action == 'enable':
            enable_form = QueueEnableForm(self.request.arguments)
            if enable_form.validate():
                with Project.get_session_object(project_id) as project:
                    project.enabled = enable_form.enabled.data
                    logger.info(self.user_audit_text('Project %s enabled=%s'),
                                project_id, project.enabled)
                    message = ('Enabled' if project.enabled else 'Disabled')
            else:
                message = 'Error in Queue Enable Form.'

        elif action == 'autoqueue':
            form = QueueSettingsForm(self.request.arguments)
            if form.validate():
                with Project.get_session_object(project_id) as project:
                    form.populate_obj(project)
                    project.lower_sequence_num = form.lower_sequence_num.data or 0
                    project.autorelease_time = form.autorelease_time.data * 60 or 0

                    lower_shortcode = project.lower_shortcode()

                logger.debug('Project %s queue settings changed.', project_id)
                message = 'Settings saved.'
            else:
                message = 'Error in Auto Queue Form.'
        else:
            message = 'Error: unrecognized action argument.'

        Budget.calculate_budgets()

        self.render('admin/project/queue_settings.html',
                    project_id=project_id,
                    lower_shortcode=lower_shortcode,
                    form=form,
                    enable_form=enable_form,
                    message=message)
Ejemplo n.º 4
0
    def post(self, name):
        project = Project.get_plain(name)
        enable_form = QueueEnableForm(data=self.get_enable_form(project))
        form = QueueSettingsForm(data=self.get_queue_settings_form(project))

        message = None
        action = self.get_argument("action", None)

        if action == "enable":
            enable_form = QueueEnableForm(self.request.arguments)
            if enable_form.validate():
                with Project.get_session_object(name) as project:
                    project.enabled = enable_form.enabled.data
                    logger.info("Project %s enabled=%s", name, project.enabled)
            else:
                message = "Error."

        elif action == "autoqueue":
            form = QueueSettingsForm(self.request.arguments)
            if form.validate():
                with Project.get_session_object(name) as project:
                    project.autoqueue = form.autoqueue.data
                    project.num_count_per_item = form.num_count_per_item.data
                    project.max_num_items = form.max_num_items.data
                    project.lower_sequence_num = form.lower_sequence_num.data or 0
                    project.autorelease_time = form.autorelease_time.data * 60 or 0

                logger.debug("Project %s queue settings changed.", name)
                message = "Settings saved."
            else:
                message = "Error."
        else:
            message = "Error."

        Budget.calculate_budgets()

        self.render(
            "admin/project/queue_settings.html", project_name=name, form=form, enable_form=enable_form, message=message
        )
Ejemplo n.º 5
0
    def post(self, project_id):
        form = ProjectSettingsForm(self.request.arguments)
        message = None

        if form.validate():
            with Project.get_session_object(project_id) as project:
                form.populate_obj(project)

            logger.info(
                self.user_audit_text('Changed project %s shortener settings'),
                project_id)
            message = 'Settings saved.'
        else:
            message = 'Error.'

        self.render('admin/project/shortener_settings.html',
                    project_id=project_id,
                    form=form,
                    message=message)
Ejemplo n.º 6
0
    def post(self, project_id):
        form = ProjectSettingsForm(self.request.arguments)
        message = None

        if form.validate():
            with Project.get_session_object(project_id) as project:
                form.populate_obj(project)

            logger.info(
                self.user_audit_text('Changed project %s shortener settings'),
                project_id)
            message = 'Settings saved.'
        else:
            message = 'Error.'

        self.render(
            'admin/project/shortener_settings.html',
            project_id=project_id, form=form,
            message=message
        )