diff --git a/caotek_mesavoirs/models/default.py b/caotek_mesavoirs/models/default.py
new file mode 100644
index 0000000..f66a630
--- /dev/null
+++ b/caotek_mesavoirs/models/default.py
@@ -0,0 +1,47 @@
+# -*- coding: utf8 -*-
+from sqlalchemy import text
+from sqlalchemy.ext.declarative import declarative_base
+from sqlalchemy.orm import (
+ scoped_session,
+ sessionmaker,
+)
+
+from zope.sqlalchemy import ZopeTransactionExtension, mark_changed
+
+from datetime import *
+import transaction
+
+def execute_query(request, query, params):
+ """Execute query and mark session as changed"""
+ request.dbsession.execute(query, params)
+ mark_changed(request.dbsession)
+ transaction.commit()
+
+def get_docs(request, doc_id):
+ """Lire les doc"""
+ if doc_id == 0:
+ query = "SELECT * FROM docs ORDER BY theme, intitule;"
+ results = request.dbsession.execute(query).fetchall()
+ elif doc_id == -1:
+ query = "SELECT * FROM docs where theme <> 'INTERNE' ORDER BY theme, intitule;"
+ results = request.dbsession.execute(query).fetchall()
+ else:
+ query = "SELECT * FROM docs where doc_id = :doc_id;"
+ results = request.dbsession.execute(query, {'doc_id': doc_id}).first()
+ return results
+
+def update_doc(request, doc_id, intitule, texte, theme):
+ """créér ou modifier le doc"""
+ if doc_id == '0':
+ query = "INSERT INTO docs (intitule, texte, theme) VALUES(:intitule, :texte, :theme);"
+ execute_query(request, query, {'intitule': intitule, 'texte': texte, 'theme': theme})
+ else:
+ query = "update docs set intitule=:intitule, texte=:texte, theme=:theme where doc_id = :doc_id;"
+ execute_query(request, query, {'doc_id': doc_id, 'intitule': intitule, 'texte': texte, 'theme': theme})
+
+def delete_doc(request, doc_id):
+ """supprimer la doc"""
+ query = "delete from docs where doc_id = :doc_id;"
+ results = request.dbsession.execute(query, {'doc_id': doc_id})
+
+
diff --git a/caotek_mesavoirs/models/members.py b/caotek_mesavoirs/models/members.py
index 08668ac..8c43d2d 100644
--- a/caotek_mesavoirs/models/members.py
+++ b/caotek_mesavoirs/models/members.py
@@ -13,11 +13,9 @@ from zope.sqlalchemy import (
from datetime import *
import transaction
-def execute_query(request, query, params):
- """Execute query and mark session as changed"""
- request.dbsession.execute(query, params)
- mark_changed(request.dbsession)
- transaction.commit()
+from .default import (
+ execute_query,
+)
def get_member_by_mdp_oublie(request, lien):
query = "SELECT * FROM members WHERE mdp_oublie=:lien;"
diff --git a/caotek_mesavoirs/routes.py b/caotek_mesavoirs/routes.py
index 0a0abc3..3a6171b 100644
--- a/caotek_mesavoirs/routes.py
+++ b/caotek_mesavoirs/routes.py
@@ -1,6 +1,9 @@
def includeme(config):
config.add_static_view('static', 'static', cache_max_age=3600)
config.add_route('home', '/')
+ config.add_route('doc_edit', '/doc_edit/{doc_id}')
+ config.add_route('doc_list', '/doc_list')
+ config.add_route('doc_view', '/doc_view/{doc_id}')
# members
config.add_route('changer_mdp', '/changer_mdp')
config.add_route('envoyer_mdp', '/envoyer_mdp')
diff --git a/caotek_mesavoirs/templates/doc_edit.pt b/caotek_mesavoirs/templates/doc_edit.pt
new file mode 100644
index 0000000..2d2b7f8
--- /dev/null
+++ b/caotek_mesavoirs/templates/doc_edit.pt
@@ -0,0 +1,75 @@
+
+
+
+ Créér une nouvelle doc
+
+
+
+
+
+
+
+ Intitule
+ Thème
+ Dernière mise à jour
+
+
+
+ ${ligne.intitule}
+ ${ligne.theme}
+
+
+
+