fnp
/
redakcja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'img-playground' of ssh://git.nowoczesnapolska.org.pl:2223/~/repo/redakc...
[redakcja.git]
/
apps
/
dvcs
/
models.py
diff --git
a/apps/dvcs/models.py
b/apps/dvcs/models.py
index
3991efc
..
2526028
100644
(file)
--- a/
apps/dvcs/models.py
+++ b/
apps/dvcs/models.py
@@
-6,7
+6,7
@@
from django.core.files.base import ContentFile
from django.core.files.storage import FileSystemStorage
from django.db import models, transaction
from django.db.models.base import ModelBase
from django.core.files.storage import FileSystemStorage
from django.db import models, transaction
from django.db.models.base import ModelBase
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import
string_concat,
ugettext_lazy as _
from mercurial import mdiff, simplemerge
from django.conf import settings
from mercurial import mdiff, simplemerge
from django.conf import settings
@@
-26,8
+26,6
@@
class Tag(models.Model):
class Meta:
abstract = True
ordering = ['ordering']
class Meta:
abstract = True
ordering = ['ordering']
- verbose_name = _("tag")
- verbose_name_plural = _("tags")
def __unicode__(self):
return self.name
def __unicode__(self):
return self.name
@@
-99,8
+97,6
@@
class Change(models.Model):
abstract = True
ordering = ('created_at',)
unique_together = ['tree', 'revision']
abstract = True
ordering = ('created_at',)
unique_together = ['tree', 'revision']
- verbose_name = _("change")
- verbose_name_plural = _("changes")
def __unicode__(self):
return u"Id: %r, Tree %r, Parent %r, Data: %s" % (self.id, self.tree_id, self.parent_id, self.data)
def __unicode__(self):
return u"Id: %r, Tree %r, Parent %r, Data: %s" % (self.id, self.tree_id, self.parent_id, self.data)
@@
-170,11
+166,17
@@
class Change(models.Model):
post_publishable.send(sender=self, publishable=publishable)
post_publishable.send(sender=self, publishable=publishable)
+
+
def create_tag_model(model):
name = model.__name__ + 'Tag'
class Meta(Tag.Meta):
app_label = model._meta.app_label
def create_tag_model(model):
name = model.__name__ + 'Tag'
class Meta(Tag.Meta):
app_label = model._meta.app_label
+ verbose_name = string_concat(_("tag"), " ", _("for:"), " ",
+ model._meta.verbose_name)
+ verbose_name_plural = string_concat(_("tags"), " ", _("for:"), " ",
+ model._meta.verbose_name)
attrs = {
'__module__': model.__module__,
attrs = {
'__module__': model.__module__,
@@
-189,6
+191,10
@@
def create_change_model(model):
class Meta(Change.Meta):
app_label = model._meta.app_label
class Meta(Change.Meta):
app_label = model._meta.app_label
+ verbose_name = string_concat(_("change"), " ", _("for:"), " ",
+ model._meta.verbose_name)
+ verbose_name_plural = string_concat(_("changes"), " ", _("for:"), " ",
+ model._meta.verbose_name)
attrs = {
'__module__': model.__module__,
attrs = {
'__module__': model.__module__,
@@
-307,7
+313,7
@@
class Document(models.Model):
return self.head
def history(self):
return self.head
def history(self):
- return self.change_set.
filter(revision__gt=-1
)
+ return self.change_set.
all().order_by('revision'
)
def revision(self):
rev = self.change_set.aggregate(
def revision(self):
rev = self.change_set.aggregate(
@@
-319,9
+325,9
@@
class Document(models.Model):
return self.change_set.get(revision=rev)
def publishable(self):
return self.change_set.get(revision=rev)
def publishable(self):
- changes = self.
change_set
.filter(publishable=True)
+ changes = self.
history()
.filter(publishable=True)
if changes.exists():
if changes.exists():
- return changes.order_by('-
created_at
')[0]
+ return changes.order_by('-
revision
')[0]
else:
return None
else:
return None
@@
-331,7
+337,9
@@
class Document(models.Model):
assert self != other
other_revs = other.change_set.all().count()
assert self != other
other_revs = other.change_set.all().count()
- self.change_set.all().update(revision=models.F('revision') + other_revs)
+ # workaround for a non-atomic UPDATE in SQLITE
+ self.change_set.all().update(revision=0-models.F('revision'))
+ self.change_set.all().update(revision=other_revs - models.F('revision'))
other.change_set.all().update(tree=self)
assert not other.change_set.exists()
other.delete()
other.change_set.all().update(tree=self)
assert not other.change_set.exists()
other.delete()