diff --git a/openslides/motion/models.py b/openslides/motion/models.py index 53dfdd84a..e8e55cc56 100644 --- a/openslides/motion/models.py +++ b/openslides/motion/models.py @@ -343,18 +343,13 @@ class Motion(SlideMixin, models.Model): """ Return the newest version of the motion. """ - # TODO: Fix the case, that the motion has no version + # TODO: Fix the case, that the motion has no version. + # Check whether the case, that a motion has not any version, can still appear. try: return self.versions.order_by('-version_number')[0] except IndexError: return self.new_version - def get_last_not_rejected_version(self): - """ - Returns the newest version of the motion, which is not rejected. - """ - return self.versions.filter(rejected=False).order_by('-version_number')[0] - @property def submitters(self): return sorted([object.person for object in self.submitter.all()], @@ -517,7 +512,7 @@ class Motion(SlideMixin, models.Model): def set_active_version(self, version): """ - Set the active state of a version to 'version'. + Set the active version of a motion to 'version'. 'version' can be a version object, or the version_number of a version. """ @@ -525,25 +520,6 @@ class Motion(SlideMixin, models.Model): version = self.versions.get(version_number=version) self.active_version = version - if version.rejected: - version.rejected = False - version.save() - - def reject_version(self, version): - """ - Reject a version of this motion. - - 'version' can be a version object, or the version_number of a version. - """ - if type(version) is int: - version = self.versions.get(version_number=version) - - if version.active: - raise MotionError('The active version can not be rejected') - - version.rejected = True - version.save() - class MotionVersion(models.Model): """ @@ -568,9 +544,6 @@ class MotionVersion(models.Model): reason = models.TextField(null=True, blank=True, verbose_name=ugettext_lazy("Reason")) """The reason for a motion.""" - rejected = models.BooleanField(default=False) - """Saves if the version is rejected.""" - creation_time = models.DateTimeField(auto_now=True) """Time when the version was saved.""" diff --git a/openslides/motion/templates/motion/motion_detail.html b/openslides/motion/templates/motion/motion_detail.html index 08a4c2aee..cf1b1ad24 100644 --- a/openslides/motion/templates/motion/motion_detail.html +++ b/openslides/motion/templates/motion/motion_detail.html @@ -57,18 +57,18 @@
{# TODO: show only for workflow with versioning #} - {% if motion.version.version_number != motion.get_last_not_rejected_version.version_number %} + {% if motion.version.version_number != motion.last_version.version_number %} - {% trans "This is not the last not rejected version." %} + {% trans "This is not the newest version." %} - {% trans "Go to last not rejected version" %} - (# {{ motion.get_last_not_rejected_version.version_number }}) + {% trans "Go to the newest version" %} + (# {{ motion.last_version.version_number }}) {% endif %} {% if motion.version.version_number != motion.active_version.version_number %} {% trans "This version is not authorized." %} - {% trans "Go to last authorized version" %} + {% trans "Go to the authorized version" %} (# {{ motion.active_version.version_number }}) {% endif %} @@ -110,12 +110,6 @@ {% if perms.motion.can_manage_motion %} {% endif %} - {% if not version.rejected and version.id > motion.active_version.id and perms.motion.can_manage_motion %} - - {% endif %} - {% endif %} - {% if version.rejected %} - {% endif %} {{ version.version_number }} diff --git a/openslides/motion/urls.py b/openslides/motion/urls.py index 1630b5dba..59ac4eec7 100644 --- a/openslides/motion/urls.py +++ b/openslides/motion/urls.py @@ -50,11 +50,6 @@ urlpatterns = patterns('openslides.motion.views', name='motion_version_permit', ), - url(r'^(?P\d+)/version/(?P\d+)/reject/$', - 'version_reject', - name='motion_version_reject', - ), - url(r'^(?P\d+)/diff/$', 'version_diff', name='motion_version_diff', diff --git a/openslides/motion/views.py b/openslides/motion/views.py index eef3f0e2c..1fda770e7 100644 --- a/openslides/motion/views.py +++ b/openslides/motion/views.py @@ -65,7 +65,7 @@ class GetVersionMixin(object): except MotionVersion.DoesNotExist: raise Http404('Version %s not found' % version_number) else: - object.version = object.get_last_not_rejected_version() + object.version = object.active_version return object @@ -277,50 +277,6 @@ class VersionPermitView(GetVersionMixin, SingleObjectMixin, QuestionMixin, Redir version_permit = VersionPermitView.as_view() -class VersionRejectView(GetVersionMixin, SingleObjectMixin, QuestionMixin, RedirectView): - """ - View to reject a version. - """ - - model = Motion - question_url_name = 'motion_version_detail' - success_url_name = 'motion_detail' - - def get(self, *args, **kwargs): - """ - Set self.object to a motion. - """ - self.object = self.get_object() - return super(VersionRejectView, self).get(*args, **kwargs) - - def get_url_name_args(self): - """ - Return a list with arguments to create the success- and question_url. - """ - return [self.object.pk, self.object.version.version_number] - - def get_question(self): - return _('Are you sure you want reject Version %s?') % self.object.version.version_number - - def case_yes(self): - """ - Reject the version, if the user chooses 'yes'. - """ - self.object.reject_version(self.object.version) - self.object.save(ignore_version_data=True) - self.object.write_log( - message_list=[ugettext_noop('Version %d rejected') % self.object.version.version_number], - person=self.request.user) - - def get_success_url_name_args(self): - """ - Returns the motion pk as argument for the success url name. - """ - return [self.object.pk] - -version_reject = VersionRejectView.as_view() - - class VersionDiffView(DetailView): """Show diff between two versions of a motion.""" permission_required = 'motion.can_see_motion'