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()
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}) })