summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/migrations/0205_auto_20201203_1453.py347
-rw-r--r--ishtar_common/models.py60
-rw-r--r--ishtar_common/models_common.py20
3 files changed, 387 insertions, 40 deletions
diff --git a/ishtar_common/migrations/0205_auto_20201203_1453.py b/ishtar_common/migrations/0205_auto_20201203_1453.py
new file mode 100644
index 000000000..fcea813c6
--- /dev/null
+++ b/ishtar_common/migrations/0205_auto_20201203_1453.py
@@ -0,0 +1,347 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.27 on 2020-12-03 14:53
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import ishtar_common.utils
+
+
+class Migration(migrations.Migration):
+ atomic = False
+
+ dependencies = [
+ ('ishtar_common', '0204_auto_20201201_1533'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='administrationscript',
+ name='name',
+ field=models.TextField(blank=True, default='', verbose_name='Name'),
+ ),
+ migrations.AlterField(
+ model_name='administrationtask',
+ name='result',
+ field=models.TextField(blank=True, default='', verbose_name='Result'),
+ ),
+ migrations.AlterField(
+ model_name='area',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='author',
+ name='cached_label',
+ field=models.TextField(blank=True, db_index=True, default='', verbose_name='Cached name'),
+ ),
+ migrations.AlterField(
+ model_name='authortype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='customformjsonfield',
+ name='help_text',
+ field=models.TextField(blank=True, default='', verbose_name='Help'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='additional_information',
+ field=models.TextField(blank=True, default='', verbose_name='Additional information'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='associated_file',
+ field=models.FileField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True, upload_to=ishtar_common.utils.get_image_path, verbose_name='Associated file'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='associated_links',
+ field=models.TextField(blank=True, default='', verbose_name='Symbolic links'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='cache_related_label',
+ field=models.TextField(blank=True, db_index=True, default='', help_text='Cached value - do not edit', verbose_name='Related'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='complete_identifier',
+ field=models.TextField(blank=True, default='', verbose_name='Complete identifier'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='description',
+ field=models.TextField(blank=True, default='', verbose_name='Description'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='external_id',
+ field=models.TextField(blank=True, default='', verbose_name='External ID'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='internal_reference',
+ field=models.TextField(blank=True, default='', verbose_name='Internal ref.'),
+ ),
+ migrations.AlterField(
+ model_name='document',
+ name='reference',
+ field=models.TextField(blank=True, default='', verbose_name='Ref.'),
+ ),
+ migrations.AlterField(
+ model_name='documenttag',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='exporttask',
+ name='filter_text',
+ field=models.TextField(blank=True, default='', help_text='Textual query on this item (try it on the main interface)', verbose_name='Filter query'),
+ ),
+ migrations.AlterField(
+ model_name='exporttask',
+ name='result_info',
+ field=models.TextField(blank=True, default='', verbose_name='Result information'),
+ ),
+ migrations.AlterField(
+ model_name='format',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='globalvar',
+ name='description',
+ field=models.TextField(blank=True, default='', verbose_name='Description of the variable'),
+ ),
+ migrations.AlterField(
+ model_name='globalvar',
+ name='value',
+ field=models.TextField(blank=True, default='', verbose_name='Value'),
+ ),
+ migrations.AlterField(
+ model_name='historicalorganization',
+ name='address',
+ field=models.TextField(blank=True, default='', verbose_name='Address'),
+ ),
+ migrations.AlterField(
+ model_name='historicalorganization',
+ name='address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Address complement'),
+ ),
+ migrations.AlterField(
+ model_name='historicalorganization',
+ name='alt_address',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address'),
+ ),
+ migrations.AlterField(
+ model_name='historicalorganization',
+ name='alt_address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address complement'),
+ ),
+ migrations.AlterField(
+ model_name='historicalorganization',
+ name='cached_label',
+ field=models.TextField(blank=True, db_index=True, default='', verbose_name='Cached name'),
+ ),
+ migrations.AlterField(
+ model_name='historicalorganization',
+ name='raw_phone',
+ field=models.TextField(blank=True, default='', verbose_name='Raw phone'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='address',
+ field=models.TextField(blank=True, default='', verbose_name='Address'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Address complement'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='alt_address',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='alt_address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address complement'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='cached_label',
+ field=models.TextField(blank=True, db_index=True, default='', verbose_name='Cached name'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='raw_phone',
+ field=models.TextField(blank=True, default='', verbose_name='Raw phone'),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
+ name='surname',
+ field=models.CharField(blank=True, help_text='Attention, historical and unfortunate residue in the code of an initial translation error.', max_length=50, null=True, verbose_name='Surname'),
+ ),
+ migrations.AlterField(
+ model_name='ishtarsiteprofile',
+ name='description',
+ field=models.TextField(blank=True, default='', verbose_name='Description'),
+ ),
+ migrations.AlterField(
+ model_name='ishtarsiteprofile',
+ name='homepage',
+ field=models.TextField(blank=True, default='', help_text='Homepage of Ishtar - if not defined a default homepage will appear. Use the markdown syntax. {random_image} can be used to display a random image.', verbose_name='Home page'),
+ ),
+ migrations.AlterField(
+ model_name='ishtarsiteprofile',
+ name='warning_message',
+ field=models.TextField(blank=True, default='', verbose_name='Warning message'),
+ ),
+ migrations.AlterField(
+ model_name='ishtarsiteprofile',
+ name='warning_name',
+ field=models.TextField(blank=True, default='', verbose_name='Warning name'),
+ ),
+ migrations.AlterField(
+ model_name='language',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='licensetype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='operationtype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='organization',
+ name='address',
+ field=models.TextField(blank=True, default='', verbose_name='Address'),
+ ),
+ migrations.AlterField(
+ model_name='organization',
+ name='address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Address complement'),
+ ),
+ migrations.AlterField(
+ model_name='organization',
+ name='alt_address',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address'),
+ ),
+ migrations.AlterField(
+ model_name='organization',
+ name='alt_address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address complement'),
+ ),
+ migrations.AlterField(
+ model_name='organization',
+ name='cached_label',
+ field=models.TextField(blank=True, db_index=True, default='', verbose_name='Cached name'),
+ ),
+ migrations.AlterField(
+ model_name='organization',
+ name='raw_phone',
+ field=models.TextField(blank=True, default='', verbose_name='Raw phone'),
+ ),
+ migrations.AlterField(
+ model_name='organizationtype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='address',
+ field=models.TextField(blank=True, default='', verbose_name='Address'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Address complement'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='alt_address',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='alt_address_complement',
+ field=models.TextField(blank=True, default='', verbose_name='Other address: address complement'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='cached_label',
+ field=models.TextField(blank=True, db_index=True, default='', verbose_name='Cached name'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='raw_phone',
+ field=models.TextField(blank=True, default='', verbose_name='Raw phone'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='surname',
+ field=models.CharField(blank=True, help_text='Attention, historical and unfortunate residue in the code of an initial translation error.', max_length=50, null=True, verbose_name='Surname'),
+ ),
+ migrations.AlterField(
+ model_name='persontype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='profiletype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='searchquery',
+ name='label',
+ field=models.TextField(blank=True, default='', verbose_name='Label'),
+ ),
+ migrations.AlterField(
+ model_name='searchquery',
+ name='query',
+ field=models.TextField(blank=True, default='', verbose_name='Query'),
+ ),
+ migrations.AlterField(
+ model_name='sourcetype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='spatialreferencesystem',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='supporttype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='titletype',
+ name='comment',
+ field=models.TextField(blank=True, default='', verbose_name='Comment'),
+ ),
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 38e6a7d17..b728b5387 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -664,8 +664,8 @@ def post_delete_record_relation(sender, instance, **kwargs):
class SearchQuery(models.Model):
- label = models.TextField(_("Label"), blank=True)
- query = models.TextField(_("Query"), blank=True)
+ label = models.TextField(_("Label"), blank=True, default="")
+ query = models.TextField(_("Query"), blank=True, default="")
content_type = models.ForeignKey(ContentType,
verbose_name=_("Content type"))
profile = models.ForeignKey("UserProfile", verbose_name=_("Profile"))
@@ -736,9 +736,10 @@ class IshtarSiteProfile(models.Model, Cached):
active = models.BooleanField(_("Current active"), default=False)
experimental_feature = models.BooleanField(
_("Activate experimental feature"), default=False)
- description = models.TextField(_("Description"), null=True, blank=True)
- warning_name = models.TextField(_("Warning name"), blank=True)
- warning_message = models.TextField(_("Warning message"), blank=True)
+ description = models.TextField(_("Description"), blank=True, default="")
+ warning_name = models.TextField(_("Warning name"), blank=True, default="")
+ warning_message = models.TextField(_("Warning message"), blank=True,
+ default="")
config = models.CharField(
_("Alternate configuration"), max_length=200,
choices=ALTERNATE_CONFIGS_CHOICES,
@@ -791,7 +792,7 @@ class IshtarSiteProfile(models.Model, Cached):
parcel_mandatory = models.BooleanField(
_("Parcel are mandatory for context records"), default=True)
homepage = models.TextField(
- _("Home page"), null=True, blank=True,
+ _("Home page"), blank=True, default="",
help_text=_("Homepage of Ishtar - if not defined a default homepage "
"will appear. Use the markdown syntax. {random_image} "
"can be used to display a random image."))
@@ -1230,7 +1231,7 @@ class CustomFormJsonField(models.Model):
label = models.CharField(_("Label"), max_length=200, blank=True,
default='')
order = models.IntegerField(verbose_name=_("Order"), default=1)
- help_text = models.TextField(_("Help"), blank=True, null=True)
+ help_text = models.TextField(_("Help"), blank=True, default="")
objects = CustomFormJsonFieldManager()
class Meta:
@@ -1248,9 +1249,9 @@ class CustomFormJsonField(models.Model):
class GlobalVar(models.Model, Cached):
slug = models.SlugField(_("Variable name"), unique=True)
- description = models.TextField(_("Description of the variable"),
- null=True, blank=True)
- value = models.TextField(_("Value"), null=True, blank=True)
+ description = models.TextField(
+ _("Description of the variable"), blank=True, default="")
+ value = models.TextField(_("Value"), blank=True, default="")
objects = SlugModelManager()
class Meta:
@@ -1705,7 +1706,7 @@ class Organization(Address, Merge, OwnPerms, ValueGetter, MainItem):
organization_type = models.ForeignKey(OrganizationType,
verbose_name=_("Type"))
url = models.URLField(verbose_name=_("Web address"), blank=True, null=True)
- cached_label = models.TextField(_("Cached name"), null=True, blank=True,
+ cached_label = models.TextField(_("Cached name"), blank=True, default="",
db_index=True)
DOWN_MODEL_UPDATE = ['members']
@@ -1927,12 +1928,12 @@ class Person(Address, Merge, OwnPerms, ValueGetter, MainItem):
null=True)
contact_type = models.CharField(_("Contact type"), max_length=300,
blank=True, null=True)
- comment = models.TextField(_("Comment"), blank=True, null=True)
+ comment = models.TextField(_("Comment"), blank=True, default="")
person_types = models.ManyToManyField(PersonType, verbose_name=_("Types"))
attached_to = models.ForeignKey(
'Organization', related_name='members', on_delete=models.SET_NULL,
verbose_name=_("Is attached to"), blank=True, null=True)
- cached_label = models.TextField(_("Cached name"), null=True, blank=True,
+ cached_label = models.TextField(_("Cached name"), blank=True, default="",
db_index=True)
DOWN_MODEL_UPDATE = ["author"]
@@ -2424,7 +2425,7 @@ class Basket(FullSearch, OwnPerms, ValueGetter, TemplateItem):
IS_BASKET = True
uuid = models.UUIDField(default=uuid.uuid4)
label = models.CharField(_("Label"), max_length=1000)
- comment = models.TextField(_("Comment"), blank=True, null=True)
+ comment = models.TextField(_("Comment"), blank=True, default="")
slug = models.SlugField(_("Slug"), blank=True, null=True)
public = models.BooleanField(_("Public"), default=False)
user = models.ForeignKey(
@@ -2555,7 +2556,7 @@ class Author(FullSearch):
person = models.ForeignKey(Person, verbose_name=_("Person"),
related_name='author')
author_type = models.ForeignKey(AuthorType, verbose_name=_("Author type"))
- cached_label = models.TextField(_("Cached name"), null=True, blank=True,
+ cached_label = models.TextField(_("Cached name"), blank=True, default="",
db_index=True)
objects = UUIDModelManager()
@@ -3013,10 +3014,10 @@ class Document(BaseHistorizedItem, CompleteIdentifierItem, OwnPerms, ImageModel,
help_text=max_size_help())
index = models.IntegerField(verbose_name=_("Index"), blank=True,
null=True)
- external_id = models.TextField(_("External ID"), null=True, blank=True)
- reference = models.TextField(_("Ref."), null=True, blank=True)
- internal_reference = models.TextField(_("Internal ref."), null=True,
- blank=True)
+ external_id = models.TextField(_("External ID"), blank=True, default="")
+ reference = models.TextField(_("Ref."), blank=True, default="")
+ internal_reference = models.TextField(_("Internal ref."), blank=True,
+ default="")
source_type = models.ForeignKey(SourceType, verbose_name=_("Type"),
on_delete=models.SET_NULL,
null=True, blank=True)
@@ -3062,22 +3063,22 @@ class Document(BaseHistorizedItem, CompleteIdentifierItem, OwnPerms, ImageModel,
blank=True, null=True,
verbose_name=_("Receipt date in documentation"))
item_number = models.IntegerField(_("Number of items"), default=1)
- description = models.TextField(_("Description"), blank=True, null=True)
+ description = models.TextField(_("Description"), blank=True, default="")
container_id = models.PositiveIntegerField(
verbose_name=_("Container ID"), blank=True, null=True)
# container = models.ForeignKey("archaeological_warehouse.Container")
container_ref_id = models.PositiveIntegerField(
verbose_name=_("Container ID"), blank=True, null=True)
# container_ref = models.ForeignKey("archaeological_warehouse.Container")
- comment = models.TextField(_("Comment"), blank=True, null=True)
+ comment = models.TextField(_("Comment"), blank=True, default="")
additional_information = models.TextField(_("Additional information"),
- blank=True, null=True)
+ blank=True, default="")
duplicate = models.NullBooleanField(_("Has a duplicate"), blank=True,
null=True)
associated_links = models.TextField(_("Symbolic links"), blank=True,
- null=True)
+ default="")
cache_related_label = models.TextField(
- _("Related"), blank=True, null=True, db_index=True,
+ _("Related"), blank=True, default="", db_index=True,
help_text=_("Cached value - do not edit"))
class Meta:
@@ -3751,8 +3752,7 @@ post_delete.connect(post_save_cache, sender=OperationType)
class AdministrationScript(models.Model):
path = models.CharField(_("Filename"), max_length=30)
- name = models.TextField(_("Name"),
- null=True, blank=True)
+ name = models.TextField(_("Name"), blank=True, default="")
class Meta:
verbose_name = _("Administration script")
@@ -3779,7 +3779,7 @@ class AdministrationTask(models.Model):
creation_date = models.DateTimeField(default=datetime.datetime.now)
launch_date = models.DateTimeField(null=True, blank=True)
finished_date = models.DateTimeField(null=True, blank=True)
- result = models.TextField(_("Result"), null=True, blank=True)
+ result = models.TextField(_("Result"), blank=True, default="")
class Meta:
verbose_name = _("Administration task")
@@ -3886,7 +3886,7 @@ class ExportTask(models.Model):
_("Filter on"), max_length=2, choices=ITEM_TYPES, null=True, blank=True
)
filter_text = models.TextField(
- _("Filter query"), null=True, blank=True,
+ _("Filter query"), blank=True, default="",
help_text=_("Textual query on this item (try it on the main "
"interface)"))
geo = models.BooleanField(
@@ -3917,8 +3917,8 @@ class ExportTask(models.Model):
finished_date = models.DateTimeField(null=True, blank=True)
result = models.FileField(_("Result"), null=True, blank=True,
upload_to="exports/%Y/%m/")
- result_info = models.TextField(_("Result information"), null=True,
- blank=True)
+ result_info = models.TextField(_("Result information"), blank=True,
+ default="")
class Meta:
verbose_name = _("Archive - Export")
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index 2374f0bf2..28026536a 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -148,7 +148,7 @@ class GeneralType(Cached, models.Model):
"The slug is the standardized version of the name. It contains "
"only lowercase letters, numbers and hyphens. Each slug must "
"be unique."))
- comment = models.TextField(_("Comment"), blank=True, null=True)
+ comment = models.TextField(_("Comment"), blank=True, default="")
available = models.BooleanField(_("Available"), default=True)
HELP_TEXT = ""
objects = TypeManager()
@@ -1896,9 +1896,9 @@ class Address(BaseHistorizedItem):
"phone", "phone_desc", "phone2", "phone_desc2", "phone3", "phone_desc3",
"raw_phone", "mobile_phone", "email", "alt_address_is_prefered"
)
- address = models.TextField(_("Address"), null=True, blank=True)
- address_complement = models.TextField(_("Address complement"), null=True,
- blank=True)
+ address = models.TextField(_("Address"), blank=True, default="")
+ address_complement = models.TextField(
+ _("Address complement"), blank=True, default="")
postal_code = models.CharField(_("Postal code"), max_length=10, null=True,
blank=True)
town = models.CharField(_("Town (freeform)"), max_length=150, null=True,
@@ -1908,10 +1908,10 @@ class Address(BaseHistorizedItem):
blank=True)
country = models.CharField(_("Country"), max_length=30, null=True,
blank=True)
- alt_address = models.TextField(_("Other address: address"), null=True,
- blank=True)
+ alt_address = models.TextField(
+ _("Other address: address"), blank=True, default="")
alt_address_complement = models.TextField(
- _("Other address: address complement"), null=True, blank=True)
+ _("Other address: address complement"), blank=True, default="")
alt_postal_code = models.CharField(_("Other address: postal code"),
max_length=10, null=True, blank=True)
alt_town = models.CharField(_("Other address: town"), max_length=70,
@@ -1929,7 +1929,7 @@ class Address(BaseHistorizedItem):
blank=True)
phone_desc3 = models.CharField(_("Phone description 3"), max_length=300,
null=True, blank=True)
- raw_phone = models.TextField(_("Raw phone"), blank=True, null=True)
+ raw_phone = models.TextField(_("Raw phone"), blank=True, default="")
mobile_phone = models.CharField(_("Mobile phone"), max_length=18,
null=True, blank=True)
email = models.EmailField(
@@ -2673,8 +2673,8 @@ class ImageContainerModel:
class CompleteIdentifierItem(models.Model, ImageContainerModel):
HAS_QR_CODE = True
- complete_identifier = models.TextField(_("Complete identifier"),
- blank=True, null=True)
+ complete_identifier = models.TextField(
+ _("Complete identifier"), blank=True, default="")
custom_index = models.IntegerField("Custom index", blank=True, null=True)
qrcode = models.ImageField(upload_to=get_image_path, blank=True, null=True,
max_length=255)