diff --git a/README.md b/README.md index 70b5246e..3bdabfeb 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,8 @@ VieCPro specific django-apps are added in the root directory, separate from apis ### Table names vs. app names: -For compatibility with prior versions of this repository, where some apps had different names, all table-names of VieCPro specific apps are hardcoded -in all confliciting models via the 'meta.db_table' attribute; i.e. django app names and the prefix of the table names in your database do not exactly match. The mapping is as follows: - -- `viecpro_import` == `apis_import_project` -- `viecpro_deduplication` == `dubletten_tool` - -So the db-table for f.e. `viecpro_deduplication.models.group` is named `dubletten_tool_group` not `viecpro_deduplication_group`. - -See the [Table Names](https://docs.djangoproject.com/en/4.2/ref/models/options/#table-names) - section of the django docs on how django handles model names and table names. +In prior version of this repo, app-names had been changed. This change had no benefits atm and was potential cause for issues. +So it was reverted. ## Development Container diff --git a/apis/settings/apisviecpro_backend_prod.py b/apis/settings/apisviecpro_backend_prod.py index c9e92d53..59ae0e9d 100644 --- a/apis/settings/apisviecpro_backend_prod.py +++ b/apis/settings/apisviecpro_backend_prod.py @@ -48,8 +48,8 @@ SPECTACULAR_SETTINGS["COMPONENT_NO_READ_ONLY_REQUIRED"] = True -INSTALLED_APPS += ["django_extensions", "viecpro_import", "apis_bibsonomy", "apis_ampel", - "viecpro_deduplication", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] +INSTALLED_APPS += ["django_extensions", "apis_import_project", "apis_bibsonomy", "apis_ampel", + "dubletten_tool", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] DATABASES = {"default": @@ -119,7 +119,7 @@ TEMPLATES[0]["DIRS"] += [ROBOTS_TXT_FOLDER, ] -VIECPRO_IMPORT_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" +apis_import_project_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" # Bibsonomy Settings diff --git a/apis/settings/apisviecpro_backend_test.py b/apis/settings/apisviecpro_backend_test.py index a72573c3..438e5a77 100644 --- a/apis/settings/apisviecpro_backend_test.py +++ b/apis/settings/apisviecpro_backend_test.py @@ -48,8 +48,8 @@ SPECTACULAR_SETTINGS["COMPONENT_NO_READ_ONLY_REQUIRED"] = True -INSTALLED_APPS += ["django_extensions", "viecpro_import","apis_bibsonomy", "apis_ampel", - "viecpro_deduplication", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] +INSTALLED_APPS += ["django_extensions", "apis_import_project","apis_bibsonomy", "apis_ampel", + "dubletten_tool", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] DATABASES = {"default": @@ -119,7 +119,7 @@ TEMPLATES[0]["DIRS"] += [ROBOTS_TXT_FOLDER, ] -VIECPRO_IMPORT_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" +apis_import_project_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" # Bibsonomy Settings diff --git a/apis/settings/dev.py b/apis/settings/dev.py index 49d32805..be59f17b 100644 --- a/apis/settings/dev.py +++ b/apis/settings/dev.py @@ -47,8 +47,8 @@ SPECTACULAR_SETTINGS["COMPONENT_NO_READ_ONLY_REQUIRED"] = True -INSTALLED_APPS += ["django_extensions", "viecpro_import", "debug_toolbar", "apis_bibsonomy", "apis_ampel", - "viecpro_deduplication", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] +INSTALLED_APPS += ["django_extensions", "apis_import_project", "debug_toolbar", "apis_bibsonomy", "apis_ampel", + "dubletten_tool", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] DATABASES = {"default": @@ -118,7 +118,7 @@ TEMPLATES[0]["DIRS"] += [ROBOTS_TXT_FOLDER, ] -VIECPRO_IMPORT_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" +apis_import_project_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" # Bibsonomy Settings diff --git a/apis/urls.py b/apis/urls.py index ebf83594..305c3791 100644 --- a/apis/urls.py +++ b/apis/urls.py @@ -26,13 +26,13 @@ urlpatterns.insert(0, url(r'^visualisations/', include("viecpro_hierarchy.urls", namespace="viecpro_hierarchy")) ) -if 'viecpro_import' in settings.INSTALLED_APPS: +if 'apis_import_project' in settings.INSTALLED_APPS: urlpatterns = urlpatterns + [ - url(r'^viecpro_import/', include("viecpro_import.urls", namespace="viecpro_import"))] + url(r'^apis_import_project/', include("apis_import_project.urls", namespace="apis_import_project"))] -if 'viecpro_deduplication' in settings.INSTALLED_APPS: +if 'dubletten_tool' in settings.INSTALLED_APPS: urlpatterns = urlpatterns + [ - url(r'^dubletten/', include("viecpro_deduplication.urls", namespace="viecpro_deduplication")), + url(r'^dubletten/', include("dubletten_tool.urls", namespace="dubletten_tool")), ] if "apis_bibsonomy" in settings.INSTALLED_APPS: diff --git a/viecpro_import/__init__.py b/apis_import_project/__init__.py similarity index 100% rename from viecpro_import/__init__.py rename to apis_import_project/__init__.py diff --git a/viecpro_deduplication/admin.py b/apis_import_project/admin.py similarity index 100% rename from viecpro_deduplication/admin.py rename to apis_import_project/admin.py diff --git a/viecpro_import/apps.py b/apis_import_project/apps.py similarity index 69% rename from viecpro_import/apps.py rename to apis_import_project/apps.py index 1e8e4842..1896e790 100644 --- a/viecpro_import/apps.py +++ b/apis_import_project/apps.py @@ -2,4 +2,4 @@ class ViecproImportConfig(AppConfig): - name = 'viecpro_import' + name = 'apis_import_project' diff --git a/viecpro_import/forms.py b/apis_import_project/forms.py similarity index 98% rename from viecpro_import/forms.py rename to apis_import_project/forms.py index 65a4679f..ef5b23cd 100644 --- a/viecpro_import/forms.py +++ b/apis_import_project/forms.py @@ -24,7 +24,7 @@ from apis_core.apis_relations.models import AbstractRelation from apis_core.apis_vocabularies.models import VocabsBaseClass, AbstractRelationType from apis_core.apis_labels.forms import LabelForm -from viecpro_import.tables import get_generic_relations_table +from apis_import_project.tables import get_generic_relations_table from apis_core.helper_functions import DateParser @@ -94,7 +94,7 @@ def __init__(self, user=None, *args, **kwargs): self.helper.add_input(Submit("submit", "Submit")) self.helper.add_input(Button('cancel', 'Cancel', css_class='btn-danger', onclick="window.location.href = '{}';".format( - reverse('viecpro_import:project_main')))) + reverse('apis_import_project:project_main')))) class UploadFileForm(forms.Form): @@ -424,7 +424,7 @@ class GenericLabelForm(LabelForm): # super(GenericLabelForm, self).__init__(*args, **kwargs) # self.helper.form_tag = True # self.helper.form_method = "post" -# self.helper.form_action = f"/viecpro_import/create_item/Label" +# self.helper.form_action = f"/apis_import_project/create_item/Label" def get_generic_vocabs_form(model_name): module = "apis_core.apis_vocabularies.models" @@ -444,7 +444,7 @@ def __init__(self, *args, **kwargs): Submit("submit", "save", css_class=f"{model_name}Form")) self.helper.form_method = "post" self.helper.form_class = "form pdf_tool_itemcreate" - self.helper.form_action = reverse("viecpro_import:item_create", kwargs={ + self.helper.form_action = reverse("apis_import_project:item_create", kwargs={ "model_name": model_name}) self.helper.layout = Layout(Field("name", id=f"{model_name}_name_field")) @@ -470,7 +470,7 @@ def __init__(self, *args, **kwargs): Submit("submit", "save", css_class=f"{model_name}Form")) self.helper.form_method = "post" self.helper.form_class = "form pdf_tool_itemcreate" - self.helper.form_action = reverse("viecpro_import:item_create", kwargs={ + self.helper.form_action = reverse("apis_import_project:item_create", kwargs={ "model_name": model_name}) self.helper.layout = Layout(Field("name", id=f"{model_name}Form_name_field"), Field("name_reverse", id=f"{model_name}Form_name_reverse_field")) @@ -496,7 +496,7 @@ def __init__(self, *args, **kwargs): Submit("submit", "save", css_class=f"{model_name}Form")) self.helper.form_method = "post" self.helper.form_class = "form pdf_tool_itemcreate" - self.helper.form_action = reverse("viecpro_import:item_create", kwargs={ + self.helper.form_action = reverse("apis_import_project:item_create", kwargs={ "model_name": model_name}) self.helper.layout = Layout(Field("name", id=f"{model_name}Form_name_field"), Field("description", id=f"{model_name}Form_description_field")) diff --git a/viecpro_import/logger.py b/apis_import_project/logger.py similarity index 100% rename from viecpro_import/logger.py rename to apis_import_project/logger.py diff --git a/viecpro_import/migrations/0001_initial.py b/apis_import_project/migrations/0001_initial.py similarity index 72% rename from viecpro_import/migrations/0001_initial.py rename to apis_import_project/migrations/0001_initial.py index 1d901445..12836c08 100644 --- a/viecpro_import/migrations/0001_initial.py +++ b/apis_import_project/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.18 on 2023-12-04 11:00 +# Generated by Django 2.2.11 on 2022-03-09 20:12 from django.conf import settings from django.db import migrations, models @@ -13,8 +13,8 @@ class Migration(migrations.Migration): ('contenttypes', '0002_remove_content_type_name'), ('apis_vocabularies', '0002_texttype_lang'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('apis_entities', '0004_auto_20200722_1231'), ('apis_metainfo', '0006_remove_text_lang'), + ('apis_entities', '0004_auto_20200722_1231'), ] operations = [ @@ -29,9 +29,6 @@ class Migration(migrations.Migration): ('year', models.CharField(max_length=10)), ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_datasource', - }, ), migrations.CreateModel( name='DataSourcePage', @@ -39,21 +36,15 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('page_index', models.IntegerField()), ('page_token', models.CharField(blank=True, max_length=20, null=True)), - ('DataSource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.datasource')), + ('DataSource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.DataSource')), ], - options={ - 'db_table': 'apis_import_project_datasourcepage', - }, ), migrations.CreateModel( name='GenericCollectionEntry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.contenttype')), + ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ], - options={ - 'db_table': 'apis_import_project_genericcollectionentry', - }, ), migrations.CreateModel( name='ImportProject', @@ -61,75 +52,57 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255)), ('description', models.TextField(blank=True, help_text='Describe your project here.', max_length=2000, null=True)), - ('DataSources', models.ManyToManyField(blank=True, help_text='Consider adding existing Datasources uploaded by you to this Project. Or upload/add additional Datasources later.', to='viecpro_import.DataSource')), + ('DataSources', models.ManyToManyField(blank=True, help_text='Consider adding existing Datasources uploaded by you to this Project. Or upload/add additional Datasources later.', to='apis_import_project.DataSource')), ('Editors', models.ManyToManyField(blank=True, help_text='Add users that should be able to edit this project.', related_name='Editors', to=settings.AUTH_USER_MODEL)), - ('collection', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_metainfo.collection')), + ('collection', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_metainfo.Collection')), ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='owner', to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_importproject', - }, ), migrations.CreateModel( name='PageCollection', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('created_in', models.ManyToManyField(related_name='created', to='viecpro_import.GenericCollectionEntry')), - ('edited_in', models.ManyToManyField(related_name='edited', to='viecpro_import.GenericCollectionEntry')), + ('created_in', models.ManyToManyField(related_name='created', to='apis_import_project.GenericCollectionEntry')), + ('edited_in', models.ManyToManyField(related_name='edited', to='apis_import_project.GenericCollectionEntry')), ], - options={ - 'db_table': 'apis_import_project_pagecollection', - }, ), migrations.CreateModel( name='ProjectState', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('last_datasource', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='viecpro_import.datasource')), - ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('last_datasource', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_import_project.DataSource')), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_projectstate', - }, ), migrations.CreateModel( name='ProjectCollectionEntry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('json', models.TextField(blank=True)), - ('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='last_json', to='viecpro_import.genericcollectionentry')), - ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='last_json', to='apis_import_project.GenericCollectionEntry')), + ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ], - options={ - 'db_table': 'apis_import_project_projectcollectionentry', - }, ), migrations.CreateModel( name='PageData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('collection', models.OneToOneField(auto_created=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='viecpro_import.pagecollection')), - ('function', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_vocabularies.personinstitutionrelation')), - ('institution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_entities.institution')), - ('page', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.datasourcepage')), - ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('collection', models.OneToOneField(auto_created=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_import_project.PageCollection')), + ('function', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_vocabularies.PersonInstitutionRelation')), + ('institution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_entities.Institution')), + ('page', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.DataSourcePage')), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ], - options={ - 'db_table': 'apis_import_project_pagedata', - }, ), migrations.CreateModel( name='DataSourceProjectState', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('datasource', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.datasource')), - ('last_page', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='viecpro_import.datasourcepage')), - ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('datasource', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.DataSource')), + ('last_page', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_import_project.DataSourcePage')), + ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_datasourceprojectstate', - }, ), ] diff --git a/viecpro_deduplication/__init__.py b/apis_import_project/migrations/__init__.py similarity index 100% rename from viecpro_deduplication/__init__.py rename to apis_import_project/migrations/__init__.py diff --git a/viecpro_import/models.py b/apis_import_project/models.py similarity index 96% rename from viecpro_import/models.py rename to apis_import_project/models.py index f95dfb60..d1490dac 100644 --- a/viecpro_import/models.py +++ b/apis_import_project/models.py @@ -19,7 +19,6 @@ log = logging.getLogger("mylogger") -table_base_name = "apis_import_project" class DataSource(models.Model): """ @@ -34,8 +33,6 @@ class DataSource(models.Model): Accessor functions allow traversing related DataSourcePage-objects and to get or set their metadata. """ - class Meta: - db_table = table_base_name + "_datasource" name = models.CharField(max_length=255, blank=False, null=False) server_directory = models.CharField(max_length=255, blank=False, null=False) @@ -54,7 +51,7 @@ def get_page_url(self, page_num): :rtype: str """ - base_path = settings.VIECPRO_IMPORT_IIIF_BASE_URL + base_path = settings.apis_import_project_IIIF_BASE_URL if not base_path.endswith("/"): base_path += "/" @@ -170,8 +167,7 @@ class DataSourcePage(models.Model): """ - class Meta: - db_table = table_base_name + "_datasourcepage" + DataSource = models.ForeignKey(DataSource, null=False, blank=False, on_delete=models.CASCADE) page_index = models.IntegerField(blank=False, null=False) @@ -209,8 +205,7 @@ class ImportProject(models.Model): # todo: consider adding last edited page here - class Meta: - db_table = table_base_name + "_importproject" + def save(self, *args, **kwargs): if not self.collection: @@ -258,8 +253,7 @@ class GenericCollectionEntry(models.Model): todo: connect this with the revision-library. Save the state before the editing process and allow to reset the changed fields. """ - class Meta: - db_table = table_base_name + "_genericcollectionentry" + content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) content_object = GenericForeignKey("content_type", "id") @@ -308,8 +302,7 @@ def create(cls, obj): class ProjectCollectionEntry(models.Model): - class Meta: - db_table = table_base_name + "_projectcollectionentry" + json = models.TextField(blank=True) project = models.ForeignKey(ImportProject, null=True, on_delete=models.CASCADE) @@ -321,8 +314,6 @@ class PageCollection(models.Model): See GenericCollectionEntry docstring for more information. """ - class Meta: - db_table = table_base_name + "_pagecollection" created_in = models.ManyToManyField(GenericCollectionEntry, related_name="created") edited_in = models.ManyToManyField(GenericCollectionEntry, related_name="edited") @@ -345,8 +336,7 @@ class PageData(models.Model): todo: could be refactored to make this specific behaviour managed via some sort of settings-file. And to make some sort of generic solution for implementing other specific, but similiar functionality. """ - class Meta: - db_table = table_base_name + "_pagedata" + project = models.ForeignKey(ImportProject, blank=False, null=False, on_delete=models.CASCADE) page = models.ForeignKey(DataSourcePage, blank=False, null=False, on_delete=models.CASCADE) @@ -575,8 +565,7 @@ class DataSourceProjectState(models.Model): last_page that was edited, to reload it when continuing an edit. """ - class Meta: - db_table = table_base_name + "_datasourceprojectstate" + datasource = models.ForeignKey(DataSource, blank=False, null=True, on_delete=models.CASCADE) project = models.ForeignKey(ImportProject, blank=False, null=True, on_delete=models.CASCADE) @@ -589,8 +578,7 @@ class ProjectState(models.Model): Stores the state a Project is in during the editing process, on per-user basis. For now it only keeps the last DataSource to reload it when continuing an edit. """ - class Meta: - db_table = table_base_name + "_projectstate" + project = models.ForeignKey(ImportProject, blank=False, null=False, on_delete=models.CASCADE) user = models.ForeignKey(User, blank=False, null=False, on_delete=models.CASCADE) diff --git a/viecpro_import/pdf_logger.py b/apis_import_project/pdf_logger.py similarity index 100% rename from viecpro_import/pdf_logger.py rename to apis_import_project/pdf_logger.py diff --git a/viecpro_import/serializers.py b/apis_import_project/serializers.py similarity index 100% rename from viecpro_import/serializers.py rename to apis_import_project/serializers.py diff --git a/viecpro_import/static/viecpro_import/css/autocomplete.css b/apis_import_project/static/viecpro_import/css/autocomplete.css similarity index 100% rename from viecpro_import/static/viecpro_import/css/autocomplete.css rename to apis_import_project/static/viecpro_import/css/autocomplete.css diff --git a/viecpro_import/static/viecpro_import/css/main.css b/apis_import_project/static/viecpro_import/css/main.css similarity index 100% rename from viecpro_import/static/viecpro_import/css/main.css rename to apis_import_project/static/viecpro_import/css/main.css diff --git a/viecpro_import/static/viecpro_import/js/autocomplete.js b/apis_import_project/static/viecpro_import/js/autocomplete.js similarity index 100% rename from viecpro_import/static/viecpro_import/js/autocomplete.js rename to apis_import_project/static/viecpro_import/js/autocomplete.js diff --git a/viecpro_import/static/viecpro_import/js/autocomplete.js.map b/apis_import_project/static/viecpro_import/js/autocomplete.js.map similarity index 100% rename from viecpro_import/static/viecpro_import/js/autocomplete.js.map rename to apis_import_project/static/viecpro_import/js/autocomplete.js.map diff --git a/viecpro_import/static/viecpro_import/js/pdf_tool.js b/apis_import_project/static/viecpro_import/js/pdf_tool.js similarity index 100% rename from viecpro_import/static/viecpro_import/js/pdf_tool.js rename to apis_import_project/static/viecpro_import/js/pdf_tool.js diff --git a/viecpro_import/tables.py b/apis_import_project/tables.py similarity index 100% rename from viecpro_import/tables.py rename to apis_import_project/tables.py diff --git a/viecpro_import/templates/element_templates/autoDate_button_generic_ajax_form.html b/apis_import_project/templates/element_templates/autoDate_button_generic_ajax_form.html similarity index 100% rename from viecpro_import/templates/element_templates/autoDate_button_generic_ajax_form.html rename to apis_import_project/templates/element_templates/autoDate_button_generic_ajax_form.html diff --git a/apis_import_project/templates/element_templates/custom_ajax_form_generic.html b/apis_import_project/templates/element_templates/custom_ajax_form_generic.html new file mode 100644 index 00000000..9293481f --- /dev/null +++ b/apis_import_project/templates/element_templates/custom_ajax_form_generic.html @@ -0,0 +1,9 @@ +