示例#1
0
    def change_key(self):
        if not self._template.state.is_ON_REVIEW:
            return self.auto_error(
                'linguistics.templates.change_key.wrong_state',
                'Менять тип можно только у находящихся на рассмотрении фраз')

        if not self.can_edit_templates and self._template.author_id != self.account.id:
            return self.auto_error(
                'linguistics.templates.change_key.can_not_change',
                'Менять тип фразы могут только модераторы, редакторы и автор фразы, если она не внесена в игру.'
            )

        if self._template.get_child():
            return self.auto_error(
                'linguistics.templates.change_key.template_has_child',
                'У этой фразы есть копия, сначало надо определить её судьбу.')

        form = forms.TemplateKeyForm(self.request.POST)

        if not form.is_valid():
            return self.json_error(
                'linguistics.templates.change_key.form_errors', form.errors)

        self._template.key = form.c.key
        self._template.parent_id = None
        self._template.state = relations.TEMPLATE_STATE.ON_REVIEW

        self._template.save()

        return self.json_ok()
示例#2
0
    def edit_key(self):

        if not self._template.state.is_ON_REVIEW:
            return self.auto_error(
                'linguistics.templates.edit_key.wrong_state',
                'Менять тип можно только у находящихся на рассмотрении фраз')

        if not self.can_edit_templates and self._template.author_id != self.account.id:
            return self.auto_error(
                'linguistics.templates.edit_key.can_not_edit',
                'Менять тип фразы могут только модераторы, редакторы и автор фразы, если она не внесена в игру.'
            )

        if self._template.get_child():
            return self.auto_error(
                'linguistics.templates.edit_key.template_has_child',
                'У этой фразы есть копия, сначало надо определить её судьбу.')

        return self.template(
            'linguistics/templates/edit_key.html', {
                'page_type': 'keys',
                'template': self._template,
                'form':
                forms.TemplateKeyForm(initial={'key': self._template.key})
            })