src/cm/models.py
changeset 30 42a64cbffdf5
parent 24 c8a95e540b79
child 38 be1807d390d4
equal deleted inserted replaced
29:644cf0d39b25 30:42a64cbffdf5
   136         return self.title    
   136         return self.title    
   137 
   137 
   138 DEFAULT_INPUT_FORMAT = getattr(settings, 'DEFAULT_INPUT_FORMAT', DEFAULT_INPUT_FORMAT_PANDOC)
   138 DEFAULT_INPUT_FORMAT = getattr(settings, 'DEFAULT_INPUT_FORMAT', DEFAULT_INPUT_FORMAT_PANDOC)
   139 CHOICES_INPUT_FORMATS = getattr(settings, 'CHOICES_INPUT_FORMATS', CHOICES_INPUT_FORMATS_PANDOC)
   139 CHOICES_INPUT_FORMATS = getattr(settings, 'CHOICES_INPUT_FORMATS', CHOICES_INPUT_FORMATS_PANDOC)
   140 
   140 
   141 class TextVersionManager(models.Manager):
   141 class TextVersionManager(KeyManager):
   142 
   142 
   143     def duplicate(self, text_version, duplicate_comments=True):
   143     def duplicate(self, text_version, duplicate_comments=True):
   144         #import pdb;pdb.set_trace()
   144         #import pdb;pdb.set_trace()
   145         old_comment_set = set(text_version.comment_set.all())
   145         old_comment_set = set(text_version.comment_set.all())
   146         text_version.id = None
   146         text_version.id = None
   147         #import pdb;pdb.set_trace()
   147         
       
   148         # generate new key
       
   149         text_version.key = self._gen_key()
       
   150         text_version.adminkey = self._gen_adminkey()
       
   151         
   148         text_version.save()
   152         text_version.save()
   149         
   153         
   150         duplicate_text_version = text_version
   154         duplicate_text_version = text_version
   151         
   155         
   152         if duplicate_comments:
   156         if duplicate_comments:
   163                         old_comment_map[old_id] = c2
   167                         old_comment_map[old_id] = c2
   164                         break
   168                         break
   165                  
   169                  
   166         return duplicate_text_version
   170         return duplicate_text_version
   167         
   171         
   168 class TextVersion(AuthorModel):
   172 class TextVersion(AuthorModel, KeyModel):
   169     modified = models.DateTimeField(auto_now=True)
   173     modified = models.DateTimeField(auto_now=True)
   170     created = models.DateTimeField(auto_now_add=True)
   174     created = models.DateTimeField(auto_now_add=True)
   171 
   175 
   172     title = models.TextField(ugettext_lazy("Title"))
   176     title = models.TextField(ugettext_lazy("Title"))
   173     format = models.CharField(ugettext_lazy("Format"), max_length=20, blank=False, default=DEFAULT_INPUT_FORMAT, choices=CHOICES_INPUT_FORMATS)
   177     format = models.CharField(ugettext_lazy("Format"), max_length=20, blank=False, default=DEFAULT_INPUT_FORMAT, choices=CHOICES_INPUT_FORMATS)