Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ name: pytest
on:
push:
paths:
- 'backend/**'
- "backend/**"
branches:
- main
- hotfixes
- develop
- improve-module-part-indivuduals
pull_request:
paths:
- 'backend/**'
- "backend/**"
branches:
- main
- hotfixes
Expand All @@ -23,10 +23,10 @@ jobs:
strategy:
fail-fast: false
matrix:
geonature_ref: ["master"] # Mettre version compatible
uses: pnx-si/geonature/.github/workflows/gn-module-pytest.yml@master
geonature_ref: ["develop"] # Mettre version compatible
uses: pnx-si/geonature/.github/workflows/gn-module-pytest.yml@develop
with:
geonature_ref: ${{ matrix.geonature_ref }}
upload_coverage: true
secrets:
codecov_token: ${{ secrets.CODECOV_TOKEN }}
codecov_token: ${{ secrets.CODECOV_TOKEN }}
10 changes: 8 additions & 2 deletions backend/gn_module_monitoring/monitoring/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from geonature.core.gn_commons.schemas import MediaSchema, ModuleSchema
from geonature.core.gn_monitoring.models import BibTypeSite
from geonature.core.gn_meta.schemas import DatasetSchema
from geonature.core.gn_monitoring.models import TBaseSites

from pypnusershub.db.models import User

Expand Down Expand Up @@ -62,6 +63,8 @@ def create_getter(key):
parameters = {"model": model_class, "exclude": ["data"], "include_fk": True}
if issubclass(monitoring_object_class, MonitoringObjectGeom):
parameters["exclude"].extend(["geom_geojson", "geom"])
if issubclass(model_class, TBaseSites):
parameters["exclude"].extend(["geom_local"])
Meta = type("Meta", (), parameters)

attrs.update({"Meta": Meta})
Expand Down Expand Up @@ -170,7 +173,7 @@ class Meta:
class MonitoringSitesSchema(MA.SQLAlchemyAutoSchema):
class Meta:
model = TMonitoringSites
exclude = ("geom_geojson", "geom")
exclude = ("geom_geojson", "geom", "geom_local")
include_fk = True
load_relationships = True

Expand All @@ -181,7 +184,8 @@ class Meta:
id_inventor = fields.Method("get_id_inventor")
medias = MA.Nested(MediaSchema, many=True)
nb_visits = fields.Integer(dump_only=True)
last_visit = fields.DateTime(dump_only=True)
last_visit = fields.Date(dump_only=True)
first_use_date = fields.Date(dump_only=True)

def serialize_geojson(self, obj):
if obj.geom is not None:
Expand All @@ -206,6 +210,8 @@ class Meta:
pk = fields.Method("set_pk", dump_only=True)
module = MA.Nested(ModuleSchema)
medias = MA.Nested(MediaSchema, many=True)
visit_date_min = MA.Date()
visit_date_max = MA.Date()

observers = MA.Pluck(ObserverSchema, "id_role", many=True)

Expand Down
3 changes: 2 additions & 1 deletion backend/gn_module_monitoring/routes/monitoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

from sqlalchemy import select
from sqlalchemy.orm import joinedload
from sqlalchemy.exc import NoSuchTableError

from utils_flask_sqla.response import json_resp, json_resp_accept_empty_list
from utils_flask_sqla.response import to_csv_resp
Expand Down Expand Up @@ -358,7 +359,7 @@ def export_all_observations(module_code, method):
geometry_field=None,
srid=None,
)
except KeyError:
except (KeyError, NoSuchTableError):
return f"table v_export_{module_code.lower()}_{method} doesn't exist", 404

model = export.get_model()
Expand Down
1 change: 1 addition & 0 deletions backend/gn_module_monitoring/tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
import pytest
from geonature.tests.test_monitoring import markings, nomenclature_type_markings
from gn_module_monitoring.tests.fixtures import *
8 changes: 8 additions & 0 deletions backend/gn_module_monitoring/tests/fixtures/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from .generic import *
from .individual import *
from .module import *
from .site import *
from .sites_groups import *
from .visit import *
from .observation import *
from .marking import *
1 change: 0 additions & 1 deletion backend/gn_module_monitoring/tests/fixtures/individual.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

from geonature.core.gn_monitoring.models import corIndividualModule
from gn_module_monitoring.monitoring.models import TMonitoringIndividuals
from gn_module_monitoring.tests.fixtures.marking import *

from geonature.tests.fixtures import users

Expand Down
1 change: 0 additions & 1 deletion backend/gn_module_monitoring/tests/fixtures/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
)
from gn_module_monitoring.monitoring.models import TMonitoringModules
from gn_module_monitoring.tests.fixtures.generic import add_user_permission
from gn_module_monitoring.tests.fixtures.type_site import types_site


@pytest.fixture
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
from sqlalchemy import select

from geonature.utils.env import DB

from gn_module_monitoring.tests.fixtures.generic import *
from gn_module_monitoring.command.cmd import (
cmd_remove_monitoring_module_cmd,
cmd_process_sql,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
from sqlalchemy import select

from geonature.utils.env import DB

from gn_module_monitoring.tests.fixtures.generic import *
from gn_module_monitoring.command.utils import execute_sql_file, FORBIDDEN_SQL_INSTRUCTION
from gn_module_monitoring.monitoring.models import TMonitoringModules

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
TMonitoringIndividuals,
MonitoringQuery,
)
from gn_module_monitoring.tests.fixtures.individual import *
from gn_module_monitoring.tests.fixtures.observation import *


class TestMonitoringIndividuals:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
from marshmallow import ValidationError

from gn_module_monitoring.monitoring.schemas import MonitoringIndividualsSchema
from gn_module_monitoring.tests.fixtures.individual import *
from gn_module_monitoring.tests.fixtures.marking import *


class TestMonitoringIndividuals:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@

from geonature.utils.env import DB

from gn_module_monitoring.tests.fixtures.generic import *

from gn_module_monitoring.config.repositories import get_config


Expand Down
5 changes: 3 additions & 2 deletions backend/gn_module_monitoring/tests/test_routes/test_config.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import pytest
from flask import url_for, current_app

from geonature.tests.test_users_menu import tlist
from gn_module_monitoring.tests.fixtures.generic import *
from pypnusershub.tests.utils import set_logged_user_cookie
from geonature.tests.test_users_menu import tlist
from geonature.utils.env import db
from sqlalchemy import select

from gn_module_monitoring.monitoring.models import TMonitoringModules

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
import pandas as pd
from pypnusershub.tests.utils import set_logged_user_cookie

from gn_module_monitoring.tests.fixtures.generic import *
from gn_module_monitoring.tests.fixtures.individual import *


@pytest.mark.usefixtures("client_class")
class TestIndividuals:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
from flask import url_for

from pypnusershub.tests.utils import set_logged_user_cookie

from gn_module_monitoring.tests.fixtures.generic import *
from gn_module_monitoring.tests.fixtures.generic import add_user_permission


@pytest.mark.usefixtures("client_class")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
from io import StringIO
import pandas as pd
from pypnusershub.tests.utils import set_logged_user_cookie

from gn_module_monitoring.tests.fixtures.generic import *
from gn_module_monitoring.tests.fixtures.generic import add_user_permission


@pytest.mark.usefixtures("client_class")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
TMonitoringVisits,
TMonitoringModules,
)
from gn_module_monitoring.tests.fixtures.generic import *


@pytest.mark.usefixtures("client_class")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

from gn_module_monitoring.monitoring.models import TMonitoringSitesGroups, TMonitoringModules
from gn_module_monitoring.monitoring.schemas import MonitoringSitesGroupsSchema
from gn_module_monitoring.tests.fixtures.generic import *


@pytest.mark.usefixtures("client_class")
Expand Down
2 changes: 0 additions & 2 deletions backend/gn_module_monitoring/tests/test_routes/test_visit.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

from pypnusershub.tests.utils import set_logged_user_cookie

from gn_module_monitoring.tests.fixtures.generic import *


@pytest.mark.usefixtures("client_class")
class TestVisits:
Expand Down
30 changes: 0 additions & 30 deletions frontend/app/components/draw-form/draw-form.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,39 +110,9 @@ export class DrawFormComponent implements OnInit {
}
}

cleanControl() {
/**
* PATCH en attendant l'intégration de la PR https://github.com/PnX-SI/GeoNature/pull/3842
* qui sera incluse dans la version 2.17 de GeoNature
* Si on passe en mode non-édition, on supprime les contrôles Leaflet Draw (boutons)
*/
if (this.bEdit === false) {
const currentGpsElement: HTMLCollection = document.getElementsByClassName(
'leaflet-bar leaflet-control leaflet-control-custom'
);
for (let c of <any>currentGpsElement) {
c.remove();
}
const currentfileLayer: HTMLCollection = document.getElementsByClassName(
'leaflet-control-filelayer leaflet-control-zoom leaflet-bar leaflet-control'
);
for (let c of <any>currentfileLayer) {
c.remove();
}
}
}

ngOnChanges(changes: SimpleChanges) {
if (changes.parentFormControl && changes.parentFormControl.currentValue) {
this.initForm();
}

/**
* PATCH en attendant l'intégration de la PR https://github.com/PnX-SI/GeoNature/pull/3842
* qui sera incluse dans la version 2.17 de GeoNature
* */
if (changes.bEdit && !changes.bEdit.firstChange) {
this.cleanControl();
}
}
}