Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flask admin rebased #454

Closed
wants to merge 89 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
215558c
Don't use bib_nom
amandine-sahl Nov 22, 2022
3abd43c
Remove bib_noms from models
amandine-sahl Nov 22, 2022
e9b848b
Alter routes after bibnoms suppression
amandine-sahl Nov 22, 2022
02b9f13
Alter tests after bibnoms suppression
amandine-sahl Nov 22, 2022
71b3e75
Add flask-admin
amandine-sahl Nov 22, 2022
3eb33a4
Drop bib_noms
amandine-sahl Dec 19, 2022
8cfcb2a
Suppression fichier angularjs
amandine-sahl Dec 22, 2022
dce4c4c
Flask admin
amandine-sahl Jan 2, 2023
4e2ea5a
Reorder
amandine-sahl Jan 2, 2023
356321a
Add form populate bib_liste with csv file
amandine-sahl Jan 16, 2023
0948c9d
Medias forms
amandine-sahl Jan 26, 2023
06e088b
Bootstrap4
amandine-sahl Jan 27, 2023
1f34297
Add taxref detail view
amandine-sahl Jan 27, 2023
341cb43
Gestion medias
amandine-sahl Jan 30, 2023
bec8b7b
List picto
amandine-sahl Jan 30, 2023
27874ac
Edit list, attributes, themes
amandine-sahl Feb 3, 2023
f372aee
Test context
amandine-sahl Feb 3, 2023
c4fc159
Add permission managment
amandine-sahl Feb 6, 2023
20d4010
Black
amandine-sahl Feb 6, 2023
51056ed
Permission managment with extra row action
amandine-sahl Feb 7, 2023
64efe66
Add filters
amandine-sahl Feb 16, 2023
19feb8f
Remove .nvmrc
amandine-sahl Feb 16, 2023
e4b65db
Clean route
amandine-sahl Feb 17, 2023
e2bbf61
Custom search
amandine-sahl Mar 6, 2023
cd8a691
Render nom valide
amandine-sahl Mar 6, 2023
bd79188
Improve populate bib_list + add multiselect and radio to taxref form
amandine-sahl Mar 16, 2023
a34ff03
Add null value
amandine-sahl Mar 16, 2023
f38e7f1
Search list
amandine-sahl Mar 16, 2023
3b9998a
Fichier js
amandine-sahl Mar 16, 2023
6ee0801
Add route config for js api call
amandine-sahl Mar 16, 2023
fab6968
Use AppUser
amandine-sahl Mar 16, 2023
87de1a7
Black
amandine-sahl Mar 16, 2023
d37a6e0
Manage error message
amandine-sahl Mar 16, 2023
8436c2e
Black
amandine-sahl Mar 16, 2023
dfb56f1
change config
amandine-sahl Mar 16, 2023
573a1d9
Remove angularjs
amandine-sahl Mar 16, 2023
bdaeb69
test request context
amandine-sahl Mar 16, 2023
f6e18e8
Add tests
amandine-sahl Mar 17, 2023
041311a
Use marshwmallow for biblistes api
amandine-sahl Mar 17, 2023
8ddf206
Delete function delete_attributesviews_per_kingdom
amandine-sahl Mar 23, 2023
3d9cc97
use CURRENT_APP parameters
amandine-sahl Mar 23, 2023
a6f51a3
Integration Taxhub a GN2
amandine-sahl Mar 31, 2023
97a913a
Add MEDIA_FOLDER to conftest
amandine-sahl Mar 31, 2023
b0ad2aa
Default config MEDIA_FOLDER
amandine-sahl Mar 31, 2023
b9aab0e
ADD test_config MEDIA_FOLDER
amandine-sahl Mar 31, 2023
3cc0d0e
Simplification chargement route api
amandine-sahl Mar 31, 2023
02ced56
Support s3 storage
amandine-sahl Apr 28, 2023
02ffb3f
S3 config for test
amandine-sahl Apr 28, 2023
222b59e
Rebase on develop
amandine-sahl Jul 28, 2023
86cdc39
Black after rebase
amandine-sahl Jul 28, 2023
f39d339
Revert "S3 config for test"
amandine-sahl Jul 31, 2023
19c3d3d
Revert "Support s3 storage"
amandine-sahl Jul 31, 2023
fc3973a
Media form validity
amandine-sahl Jul 31, 2023
f4f851a
Remove S3 config
amandine-sahl Jul 31, 2023
b5975b5
Remove S3 dependency
amandine-sahl Jul 31, 2023
54aaddb
Clean useless media functions
amandine-sahl Jul 31, 2023
c905a62
Remove S3 support
amandine-sahl Jul 31, 2023
2cfeda6
Remove picto liste
amandine-sahl Jul 31, 2023
58d6e43
Add test on populate bib_list
amandine-sahl Jul 31, 2023
67a4d20
move import
TheoLechemia Aug 1, 2023
10f2e45
force regne to null
TheoLechemia Aug 1, 2023
6255a1d
filters from database list
TheoLechemia Jul 31, 2023
a2f09d6
add media and attributes filter
TheoLechemia Jul 31, 2023
269a28f
autocomplete base on allnamebylist view
TheoLechemia Jul 31, 2023
0a7539f
refactor media and attribut filter
TheoLechemia Aug 1, 2023
15970ed
Serve index on / not /admin
amandine-sahl Aug 1, 2023
2bbffaf
Add nb_attributs, nb_medias
amandine-sahl Aug 1, 2023
3b741cb
Remove logging action
amandine-sahl Aug 1, 2023
1eb6daa
Amélioration de la fiche detail du taxon
TheoLechemia Jul 31, 2023
f025bb7
Change root url
amandine-sahl Aug 2, 2023
f93e97b
load admin blueprint on '/'
TheoLechemia Aug 2, 2023
c8031af
Fix Pillow version
amandine-sahl Aug 3, 2023
cecc381
force regne to null on attributes
amandine-sahl Aug 4, 2023
e3c8136
Improve check regne is null
amandine-sahl Aug 4, 2023
bf03f16
Change permission strategy
TheoLechemia Aug 2, 2023
486367c
do not use config.py but current_app.config
TheoLechemia Aug 7, 2023
57eec61
add test for filters
TheoLechemia Aug 4, 2023
ced2c14
use url_for to get autocomplete url
TheoLechemia Aug 7, 2023
b98a952
fix app context issue
TheoLechemia Aug 7, 2023
a525ad7
fix import in tests
TheoLechemia Aug 9, 2023
e3d78ac
set url from url_for with config
TheoLechemia Aug 9, 2023
a7419d0
style for edit form
TheoLechemia Aug 10, 2023
3811a73
Correction erreur de tests suite à l'ajout d'une fixture liste
amandine-sahl Aug 17, 2023
1ff3bff
Pytest liste fixture Ajout test liste existe
amandine-sahl Aug 17, 2023
420080a
Join taxref medias and attributes on cd_nom
amandine-sahl Sep 14, 2023
39d8a74
clean code and use marshmallow
TheoLechemia Nov 9, 2023
3478288
Suppression des utilitaires redondant avec utils-flask-sqla
amandine-sahl Aug 18, 2023
b62e375
Passage de CorNomListe en db table
amandine-sahl Sep 14, 2023
d3723a0
Suppression import inexistant
amandine-sahl Nov 9, 2023
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
*~

static/medias/*

node_modules
#taxhub app
settings.ini
venv
Expand Down
6 changes: 2 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,8 @@ Elle est centralisée dans l'application `UsersHub <https://github.com/PnX-SI/Us

Niveaux de droits :

* 2 = Gestion des médias uniquement
* 3 = Idem 2 + Gestion des attributs de `GeoNature-atlas <https://github.com/PnEcrins/GeoNature-atlas>`_
* 4 = Idem 3 + Possibilité d'ajouter des taxons dans ``bib_noms``, de les mettre dans des listes et de renseigner tous leurs attributs (notamment ceux utilisés par `GeoNature <https://github.com/PnX-SI/GeoNature>`_)
* 6 = Administrateurs
* 2 = Gestion des taxons (ajout/modification/suppression des attributs, liste et médias sur les taxons)
* 6 = Administrateurs: création de liste, attributs et thême

Auteurs
-------
Expand Down
10 changes: 10 additions & 0 deletions apptax/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
taxhub_routes = [
("apptax.utils.routesconfig:adresses", "/api/config"),
("apptax.taxonomie.routesbibnoms:adresses", "/api/bibnoms"),
("apptax.taxonomie.routestaxref:adresses", "/api/taxref"),
("apptax.taxonomie.routesbibattributs:adresses", "/api/bibattributs"),
("apptax.taxonomie.routesbiblistes:adresses", "/api/biblistes"),
("apptax.taxonomie.routestmedias:adresses", "/api/tmedias"),
("apptax.taxonomie.routesbdcstatuts:adresses", "/api/bdc_statuts"),
("apptax.admin.admin:adresses", "/"),
]
89 changes: 89 additions & 0 deletions apptax/admin/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import os

from flask import redirect, url_for, Blueprint
from flask_admin import Admin, AdminIndexView, expose
from werkzeug.exceptions import Unauthorized

from apptax.database import db
from apptax.taxonomie.models import Taxref, BibListes, TMedias, BibAttributs, BibThemes


# Create blueprint for template and static
adresses = Blueprint("apptax-admin", __name__, template_folder="templates")
adresses.static_folder = os.path.join(adresses.root_path, "static")


class TaxhubView(AdminIndexView):
def is_visible(self):
# This view won't appear in the menu structure
return False

@expose("/")
def index(self):
return redirect(url_for("taxons.index_view"))


taxhub_admin = Admin(
template_mode="bootstrap4", name="Administration Taxhub", index_view=TaxhubView(url="/")
)


def taxhub_admin_addview(app, admin, category=None):
with app.app_context():
from apptax.admin.admin_view import (
TaxrefView,
BibListesView,
TMediasView,
BibAttributsView,
LoginView,
BibThemesView,
)

static_folder = os.path.join(adresses.root_path, "static")
admin.add_view(
LoginView(
name="Login", endpoint="loginview", category=category, static_folder=static_folder
)
)
admin.add_view(
TaxrefView(
Taxref,
db.session,
name="Taxref",
endpoint="taxons",
category=category,
static_folder=static_folder,
)
)
admin.add_view(
BibListesView(
BibListes,
db.session,
name="Listes",
category=category,
static_folder=static_folder,
)
)
admin.add_view(
TMediasView(
TMedias, db.session, name="Médias", category=category, static_folder=static_folder
)
)
admin.add_view(
BibAttributsView(
BibAttributs,
db.session,
name="Attributs",
category=category,
static_folder=static_folder,
)
)
admin.add_view(
BibThemesView(
BibThemes,
db.session,
name="Thèmes",
category=category,
static_folder=static_folder,
)
)
Loading