diff --git a/collector/storage/models.py b/collector/storage/models.py index c7a80db..4e9da9f 100755 --- a/collector/storage/models.py +++ b/collector/storage/models.py @@ -147,9 +147,9 @@ class Document(models.Model): class Meta: db_table = 'document' ordering = ['id'] - # constraints = [ - # models.UniqueConstraint(fields=['name', 'sequence'], name='unique subdocument sequence') - # ] + constraints = [ + models.UniqueConstraint(fields=['name', 'sequence'], name='unique subdocument sequence') + ] def __str__(self): return f'{self.name}-{self.id}' diff --git a/collector/storage/views.py b/collector/storage/views.py index 2094574..cc49f44 100755 --- a/collector/storage/views.py +++ b/collector/storage/views.py @@ -1158,7 +1158,8 @@ def change_doc_type(doc, target_type): processing_status=doc.processing_status, new=doc.new, unk_coverage=doc.unk_coverage, - sequence=doc.sequence) + sequence=1000000) + seq = doc.sequence new_doc.keywords.add(*doc.keywords.all()) subdocs = Document.objects.filter(parent=doc) for subdoc in subdocs: @@ -1178,6 +1179,9 @@ def change_doc_type(doc, target_type): a.save() doc.delete() + new_doc.sequence = seq + new_doc.save() + return new_doc @@ -1197,6 +1201,9 @@ class DocTypeView(UpdateView): context = super().get_context_data(**kwargs) context['title'] = 'Zmiana typu dokumentu' context['submit_btn_text'] = 'Zmień' + if self.object.parent is None: + messages.warning(self.request, 'Uwaga! Zmiana typu dokumentu głównego nie powoduje zmiany typów ' + 'poddokumentów. Można je zmienić nastomiast manualnie.') messages.warning(self.request, 'Uwaga! Zmiana typu dokumentu może spowodować usunięcie danych typowych dla ' 'tego typu.') return context