def save_model(self, request, obj, form, change):
        is_new = obj.pk == None and change == False
        is_profile_updated = change and "profile" in form.changed_data

        super().save_model(request, obj, form, change)
        if is_new or is_profile_updated:
            assign_perms_to_group(obj.profile.name, obj, is_profile_updated)

        collection_import_file = form.cleaned_data.get("import_collection",
                                                       None)

        if collection_import_file:
            collection_obj = models.CoordinateFile.objects.create(
                name=obj.name,
                document=collection_import_file,
                collection_id=obj.id)
            task = async_task(
                "wazimap_ng.points.tasks.process_uploaded_file",
                collection_obj,
                obj,
                task_name=f"Uploading data: {obj}",
                hook="wazimap_ng.datasets.hooks.process_task_info",
                key=request.session.session_key,
                type="upload",
                assign=True,
                notify=True)
            hooks.add_to_task_list(request.session, task)
            hooks.custom_admin_notification(
                request.session, "info",
                "Data upload for %s started. We will let you know when process is done."
                % (obj.name))
        return obj
    def save_model(self, request, obj, form, change):
        is_new = obj.pk == None and change == False
        is_profile_updated = change and "profile" in form.changed_data

        super().save_model(request, obj, form, change)
        if is_new or is_profile_updated:
            assign_perms_to_group(obj.profile.name, obj, is_profile_updated)
        return obj
Exemple #3
0
    def save_model(self, request, obj, form, change):
        is_new = obj.pk == None and change == False
        is_profile_updated = change and "profile" in form.changed_data

        super().save_model(request, obj, form, change)

        if is_new or is_profile_updated:
            assign_perms_to_group(obj.profile.name, obj, is_profile_updated)

        dataset_import_file = form.cleaned_data.get("import_dataset", None)

        logger.debug(f"Dataset import file: {dataset_import_file}")

        if dataset_import_file:
            datasetfile_obj = models.DatasetFile.objects.create(
                name=obj.name,
                document=dataset_import_file,
                dataset_id=obj.id
            )
            logger.debug(f"""Starting async task: 
                Task name: wazimap_ng.datasets.tasks.process_uploaded_file
                Datasetfile_obj: {datasetfile_obj}
                Object: {obj}
                Hook: wazimap_ng.datasets.hooks.process_task_info,
                key: {request.session.session_key},
                type: upload,
                assign: True,
                notify: True
            """)


            task = async_task(
                "wazimap_ng.datasets.tasks.process_uploaded_file",
                datasetfile_obj, obj,
                task_name=f"Uploading data: {obj.name}",
                hook="wazimap_ng.datasets.hooks.process_task_info",
                key=request.session.session_key,
                type="upload", assign=True, notify=True
            )
            hooks.add_to_task_list(request.session, task)
            hooks.custom_admin_notification(
                request.session,
                "info",
                "Data upload for %s started. We will let you know when process is done." % (
                    obj.name
                )
            )
        return obj
Exemple #4
0
 def save_model(self, request, obj, form, change):
     is_new = obj.pk == None and change == False
     super().save_model(request, obj, form, change)
     if is_new:
         assign_perms_to_group(obj.name, obj)
     return obj