def action_clone_item(self, ids): if len(ids) > 1: flash(_("You can select only one item for this action"), 'error') return instance = self.get_instance(ids[0]) new = instance.from_json(instance.to_json()) new.id = None new.published = False new.last_updated_by = User.objects.get(id=current_user.id) new.updated_at = datetime.datetime.now() new.slug = "{0}-{1}".format(new.slug, random.getrandbits(32)) new.save() return redirect(url_for('.edit_view', id=new.id))
def action_clone_item(self, ids): if len(ids) > 1: flash( _("You can select only one item for this action"), 'error' ) return instance = self.get_instance(ids[0]) new = instance.from_json(instance.to_json()) new.id = None new.published = False new.last_updated_by = User.objects.get(id=current_user.id) new.updated_at = datetime.datetime.now() new.slug = "{0}-{1}".format(new.slug, random.getrandbits(32)) new.save() return redirect(url_for('.edit_view', id=new.id))
def get_instance(self, i): try: return self.model.objects.get(id=i) except self.model.DoesNotExist: flash(_("Item not found %(i)s", i=i), "error")