),
"fields": (
"assign_title_from",
- "assign_tag",
+ "assign_tags",
"assign_document_type",
"assign_correspondent_from",
"assign_correspondent",
)
correspondent = self.get_correspondent(message, rule)
- tag = rule.assign_tag
+ tag_ids = [tag.id for tag in rule.assign_tags.all()]
doc_type = rule.assign_document_type
processed_attachments = 0
if correspondent
else None,
override_document_type_id=doc_type.id if doc_type else None,
- override_tag_ids=[tag.id] if tag else None,
+ override_tag_ids=tag_ids,
task_name=att.filename[:100],
)
--- /dev/null
+# Generated by Django 3.2.12 on 2022-03-11 15:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("paperless_mail", "0008_auto_20210516_0940"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="mailrule",
+ name="assign_tags",
+ field=models.ManyToManyField(
+ blank=True,
+ related_name="mail_rules_multi",
+ to="documents.Tag",
+ verbose_name="assign this tag",
+ ),
+ ),
+ ]
--- /dev/null
+# Generated by Django 3.2.12 on 2022-03-11 15:02
+
+from django.db import migrations
+
+
+def migrate_tag(apps, schema_editor):
+ # Manual data migration, see
+ # https://docs.djangoproject.com/en/3.2/topics/migrations/#data-migrations
+ #
+ # Copy the assign_tag property to the new assign_tags set if it exists.
+ MailRule = apps.get_model("paperless_mail", "MailRule")
+ for mail_rule in MailRule.objects.all():
+ if mail_rule.assign_tag:
+ mail_rule.assign_tags.add(mail_rule.assign_tag)
+ mail_rule.save()
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("paperless_mail", "0009_mailrule_assign_tags"),
+ ]
+
+ operations = [
+ migrations.RunPython(migrate_tag),
+ ]
--- /dev/null
+# Generated by Django 3.2.12 on 2022-03-11 15:18
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("paperless_mail", "0010_auto_20220311_1602"),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name="mailrule",
+ name="assign_tag",
+ ),
+ ]
default=TitleSource.FROM_SUBJECT,
)
- assign_tag = models.ForeignKey(
+ assign_tags = models.ManyToManyField(
document_models.Tag,
- null=True,
blank=True,
- on_delete=models.SET_NULL,
+ related_name="mail_rules_multi",
verbose_name=_("assign this tag"),
)