Compare commits

...
19 Commits
Author SHA1 Message Date
pvincent fc5e1cc4d2 tagged as 1.14.2 2022-12-10 12:55:47 +04:00
pvincent 5db8f5f1f3 mentions légales 2022-12-10 12:55:23 +04:00
pvincent 0c45dffc1e tagged as 1.14.1 2022-11-29 10:52:35 +04:00
pvincent 5bc2ad1517 view misses div class row 2022-11-29 10:52:17 +04:00
pvincent a6eed18ac1 tagged as 1.14.0 2022-11-29 10:29:24 +04:00
pvincent 67bbb02a2f footer reuse 2022-11-29 10:29:03 +04:00
pvincent 8fe3153c10 tagged as 1.13.6 2022-11-25 09:55:46 +04:00
pvincent de0f10425b Main redirect if group 1 exists 2022-11-25 09:55:38 +04:00
pvincent 4bd7c3d174 tagged as 1.13.5 2022-11-23 11:05:10 +04:00
pvincent ad1ae04624 logo france relance 2022-11-23 11:04:54 +04:00
pvincent dad6babe97 tagged as 1.13.4 2022-11-22 12:00:13 +04:00
pvincent 240c63d9fd wiki update 2022-11-22 12:00:02 +04:00
pvincent d6675758ff tagged as 1.13.3 2022-11-21 22:54:40 +04:00
pvincent 61ce852dbc package json fixed 2022-11-21 22:54:30 +04:00
pvincent 789a4eb7ec tagged as 1.13.2 2022-11-21 22:32:06 +04:00
pvincent 2b0f3557fc no more www/file in git 2022-11-21 22:31:58 +04:00
pvincent 10688b9892 tagged as 1.13.1 2022-11-21 22:22:36 +04:00
pvincent c86eafa130 ok 2022-11-21 22:22:27 +04:00
pvincent b2b7e88e3c by default /group/1 2022-11-21 22:21:56 +04:00
14 changed files with 367 additions and 293 deletions
+2
View File
@@ -28,6 +28,8 @@ www/lang/*.mo
www/js/app.js www/js/app.js
www/js/libs.js www/js/libs.js
www/file/*
www/css/.sass-cache www/css/.sass-cache
www/css/*.css www/css/*.css
!www/css/bootstrap.min.css !www/css/bootstrap.min.css
+1 -1
View File
@@ -1 +1 @@
1.12.0 1.14.2
+1 -53
View File
@@ -123,60 +123,8 @@
</div> </div>
</div>--> </div>-->
<div class="row" id="footer"> ::use 'footer.mtt'::
<div class="col-md-2" >
<img width="120" style="border: white 5px solid;" src="/img/logo-mini.jpg" alt="::_("Cagette.net")::" title="Logo ::_("Cagette.net")::"/>
</div>
<div class="col-md-7" style="padding-top:1em">
Cagette Péi est un logiciel libre qui favorise les circuits courts.<br/>
Il a été adapté pour les besoins des AMAPs sur le marché réunionnais.<br/>
</div>
<div class="col-md-3" >
::_("HELP")::
<ul>
<li>
<a href="http://www.cagette.net/wiki" target="_blank">::_("Documentation")::</a>
</li>
<li>
<a href="https://pad1.zourit.net/p/4a3b09afd25b4fdcb3f0a9598db21e61" target="_blank">Proposer une amélioration</a>
</li>
<li>
<a href="https://pad1.zourit.net/p/4a3b09afd25b4fdcb3f0a9598db21e61" target="_blank">Soumettre une anomalie</a>
</li>
</ul>
</div>
</div>
<div class="row" id="subfooter">
<p>
version cagettepei-<a target="_blank" href="https://git.artcode.re/cagetters/cagettepei/src/tag/::VERSION::">::VERSION::</a>
</p>
::if BANDEAU_REGION::
<img src='/img/bandeau_region.png' alt='bandeau Région Réunion' width='250'></img>
::end:: ::end::
</div>
<div class="row">
<div class="col-md-12">
<!-- SQL LOG -->
<table class="sqlLog table table-bordered" ::cond sqlLog::>
::foreach r sqlLog::
<tr ::attr class if(r.bad) 'badSql'::>
<td>::r.t::ms</td>
<td>::r.length::</td>
<td><a href="#" onclick="javascript:alert('::r.explain::');return false;">Exp</a></td>
<td><a href="#" onclick="javascript:alert('::r.stack::');return false;">Stack</a></td>
<td>::r.sql::</td>
</tr>
::end::
</table>
</div>
</div>
::end:: ::end::
+56
View File
@@ -0,0 +1,56 @@
<div class="row" id="footer">
<div class="col-md-2" >
<img width="120" style="border: white 5px solid;" src="/img/logo-mini.jpg" alt="::_("Cagette.net")::" title="Logo ::_("Cagette.net")::"/>
</div>
<div class="col-md-7" style="padding-top:1em">
Cagette Péi est un logiciel libre qui favorise les circuits courts.<br/>
Il a été adapté pour les besoins des AMAPs sur le marché réunionnais.<br/>
</div>
<div class="col-md-3" >
::_("HELP")::
<ul>
<li>
<a href="https://wiki.cagette.net/doku.php" target="_blank">::_("Documentation")::</a>
</li>
<li>
<a href="https://pad1.zourit.net/p/4a3b09afd25b4fdcb3f0a9598db21e61" target="_blank">Proposer une amélioration</a>
</li>
<li>
<a href="https://pad1.zourit.net/p/4a3b09afd25b4fdcb3f0a9598db21e61" target="_blank">Soumettre une anomalie</a>
</li>
</ul>
</div>
</div>
<div class="row" id="subfooter">
<p><a href="/mentions">MENTIONS LÉGALES</a></p>
<p>
version cagettepei-<a target="_blank" href="https://git.artcode.re/cagetters/cagettepei/src/tag/::VERSION::">::VERSION::</a>
</p>
::if BANDEAU_REGION::
<img src='/img/bandeau_region_france_relance.png' alt='bandeau Région Réunion' width='640'></img>
::end::
</div>
<div class="row">
<div class="col-md-12">
<!-- SQL LOG -->
<table class="sqlLog table table-bordered" ::cond sqlLog::>
::foreach r sqlLog::
<tr ::attr class if(r.bad) 'badSql'::>
<td>::r.t::ms</td>
<td>::r.length::</td>
<td><a href="#" onclick="javascript:alert('::r.explain::');return false;">Exp</a></td>
<td><a href="#" onclick="javascript:alert('::r.stack::');return false;">Stack</a></td>
<td>::r.sql::</td>
</tr>
::end::
</table>
</div>
</div>
+3 -6
View File
@@ -1,6 +1,6 @@
::use 'base.mtt':: ::use 'base.mtt'::
<div class="row header" style="margin-top:10px;">
<div class="col-md-8 col-md-offset-2" style="margin-top:12px;"> <div class="col-md-8 col-md-offset-2" style="margin-top:12px;">
<!-- Notifications --> <!-- Notifications -->
@@ -185,11 +185,8 @@
</div> </div>
<div class="col-md-12">
<div id="footer">
<a href="::_("http://www.cagette.net")::">::_("Cagette.net, the free software of food direct-selling")::</a>.
</div>
</div> </div>
::use 'footer.mtt'::
::end::
::end:: ::end::
@@ -0,0 +1,62 @@
::use 'design.mtt'::
<div class="col-md-9">
<div class="article">
<h4>Mentions Légales</h4>
<table class="table table-bordered table-condensed">
<tbody><tr>
<th>Champ</th>
<th>Valeur</th>
</tr>
<tr>
<td>Adresse de courrier électronique</td>
<td>contact@mangue-et-solidaire.re</td>
</tr>
<tr>
<td>Numéro Siren</td>
<td>879178739</td>
</tr>
<tr>
<td>Numéro Siret</td>
<td>87917873900022</td>
</tr>
<tr>
<td>Code NAF / APE</td>
<td>4711B</td>
</tr>
<tr>
<td>Forme juridique et capital</td>
<td>Association Loi 1901</td>
</tr>
<tr>
<td>Responsable éditorial</td>
<td>Yann Jacob</td>
</tr>
<tr>
<td>Hébergeur</td>
<td><a href="www.artcode.re">Artcode</a></td>
</tr>
</tbody>
</table>
</div>
</div>
::end::
+1 -1
View File
@@ -1 +1 @@
{"name": "cagette-pei", "description": "le logiciel libre du circuit court", "license": "AGPL-3.0", "dependencies": {"bootstrap": "^3.3.4", "eonasdan-bootstrap-datetimepicker": "^4.7.14", "geolib": "^2.0.24", "haxe-modular": "^0.7.0", "jquery": "^2.2.4", "leaflet": "^1.3.1", "react": "^15.6.1", "react-bootstrap-typeahead": "1.4.2", "react-datetime": "^2.9.0", "react-dom": "^15.6.1", "react-leaflet": "^1.8.0", "react-places-autocomplete": "^6.0.2", "react-router": "^4.2.0", "react-router-dom": "^4.2.2"}, "devDependencies": {"babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babelify": "^7.3.0", "browserify": "^14.4.0", "cross-env": "^5.1.1", "node-sass": "^4.5.3", "npm-run-all": "^4.1.2", "uglify-js": "^3.1.9", "watchify": "^3.9.0"}, "scripts": {"build": "npm-run-all --parallel build:*", "build:js": "haxe cagetteJs.hxml", "build:sass": "node-sass www/css -o www/css", "watch:sass": "npm run build:sass -- --watch", "build2": "babel src -d lib", "libs:dev": "browserify js/libs/libs.js -o www/js/libs.js -d", "libs:prod": "cross-env NODE_ENV=production browserify js/libs/libs.js | uglifyjs -c -m > www/js/libs.js", "test": "haxe testsJS.hxml && node js/test/tests.js", "prepush": "npm test"}, "repository": {"type": "git", "url": "git+https://github.com/bablukid/cagette.git"}, "bugs": {"url": "https://github.com/bablukid/cagette/issues"}, "version": "1.12.0"} {"name": "cagette-pei", "description": "le logiciel libre du circuit court", "license": "AGPL-3.0", "dependencies": {"bootstrap": "^3.3.4", "eonasdan-bootstrap-datetimepicker": "^4.7.14", "geolib": "^2.0.24", "haxe-modular": "^0.7.0", "jquery": "^2.2.4", "leaflet": "^1.3.1", "react": "^15.6.1", "react-bootstrap-typeahead": "1.4.2", "react-datetime": "^2.9.0", "react-dom": "^15.6.1", "react-leaflet": "^1.8.0", "react-places-autocomplete": "^6.0.2", "react-router": "^4.2.0", "react-router-dom": "^4.2.2"}, "devDependencies": {"babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babelify": "^7.3.0", "browserify": "^14.4.0", "cross-env": "^5.1.1", "node-sass": "^4.5.3", "npm-run-all": "^4.1.2", "uglify-js": "^3.1.9", "watchify": "^3.9.0"}, "scripts": {"build": "npm-run-all --parallel build:*", "build:js": "haxe cagetteJs.hxml", "build:sass": "node-sass www/css -o www/css", "watch:sass": "npm run build:sass -- --watch", "build2": "babel src -d lib", "libs:dev": "browserify js/libs/libs.js -o www/js/libs.js -d", "libs:prod": "cross-env NODE_ENV=production browserify js/libs/libs.js | uglifyjs -c -m > www/js/libs.js", "test": "haxe testsJS.hxml && node js/test/tests.js", "prepush": "npm test"}, "repository": {"type": "git", "url": "git+https://github.com/bablukid/cagette.git"}, "bugs": {"url": "https://github.com/bablukid/cagette/issues"}, "version": "1.14.2"}
+2 -2
View File
@@ -203,7 +203,7 @@ class App extends sugoi.BaseApp {
out.set("percent", "Pourcentage"); out.set("percent", "Pourcentage");
out.set("pinned", "Mets en avant les produits"); out.set("pinned", "Mets en avant les produits");
out.set("CagetteNetwork", "Me lister dans l'annuaire"); out.set("CagetteNetwork", "Me lister dans l'annuaire des groupes");
out.set("unitType", "Unité"); out.set("unitType", "Unité");
out.set("qt", "Quantité"); out.set("qt", "Quantité");
out.set("Unit", "Pièce"); out.set("Unit", "Pièce");
@@ -280,7 +280,7 @@ class App extends sugoi.BaseApp {
var e = new sugoi.mail.Mail(); var e = new sugoi.mail.Mail();
e.setSubject(subject); e.setSubject(subject);
e.setRecipient(to); e.setRecipient(to);
e.setSender(App.config.get("default_email"), t._("Cagette.net")); e.setSender(App.config.get("default_email"), t._("CagettePéi"));
var html = App.current.processTemplate("mail/message.mtt", {text: html, group: group}); var html = App.current.processTemplate("mail/message.mtt", {text: html, group: group});
e.setHtmlBody(html); e.setHtmlBody(html);
App.sendMail(e); App.sendMail(e);
+1 -1
View File
@@ -54,7 +54,7 @@ class Group extends controller.Controller
form.addElement(new StringInput("userLastName", t._("Your lastname") ,"",true)); form.addElement(new StringInput("userLastName", t._("Your lastname") ,"",true));
form.addElement(new StringInput("userEmail", t._("Your e-mail"), "", true)); form.addElement(new StringInput("userEmail", t._("Your e-mail"), "", true));
} }
form.addElement(new sugoi.form.elements.TextArea("msg", t._("Leave a message"))); form.addElement(new sugoi.form.elements.TextArea("msg", t._("Leave a message"),"",false));
if (form.isValid()){ if (form.isValid()){
try{ try{
+13 -17
View File
@@ -1,4 +1,5 @@
package controller; package controller;
import db.Distribution; import db.Distribution;
import db.UserContract; import db.UserContract;
import haxe.Json; import haxe.Json;
@@ -9,8 +10,6 @@ import Common;
import tools.ArrayTool; import tools.ArrayTool;
class Main extends Controller { class Main extends Controller {
/** /**
* public pages * public pages
*/ */
@@ -29,6 +28,9 @@ class Main extends Controller {
if (app.user != null && group == null) { if (app.user != null && group == null) {
throw Redirect("/user/choose"); throw Redirect("/user/choose");
} else if (app.user == null && (group == null || group.regOption != db.Amap.RegOption.Open)) { } else if (app.user == null && (group == null || group.regOption != db.Amap.RegOption.Open)) {
if (db.Amap.manager.get(1, false) != null)
throw Redirect("/group/1");
else
throw Redirect("/user/login"); throw Redirect("/user/login");
} }
@@ -63,9 +65,9 @@ class Main extends Controller {
// message if phone is required // message if phone is required
if (app.user != null && app.user.amap.flags.has(db.Amap.AmapFlags.PhoneRequired) && app.user.phone == null) { if (app.user != null && app.user.amap.flags.has(db.Amap.AmapFlags.PhoneRequired) && app.user.phone == null) {
app.session.addMessage(t._("Members of this group should provide a phone number. <a href='/account/edit'>Please click here to update your account</a>."),true); app.session.addMessage(t._("Members of this group should provide a phone number. <a href='/account/edit'>Please click here to update your account</a>."),
true);
} }
} }
// login and stuff // login and stuff
@@ -81,26 +83,19 @@ class Main extends Controller {
* JSON REST API Entry point * JSON REST API Entry point
*/ */
function doApi(d:Dispatch) { function doApi(d:Dispatch) {
try { try {
d.dispatch(new controller.Api()); d.dispatch(new controller.Api());
} catch (e:tink.core.Error) { } catch (e:tink.core.Error) {
// manage tink Errors (service errors) // manage tink Errors (service errors)
sugoi.Web.setReturnCode(e.code); sugoi.Web.setReturnCode(e.code);
Sys.print(Json.stringify({error: {code: e.code, message: e.message, stack: e.exceptionStack}})); Sys.print(Json.stringify({error: {code: e.code, message: e.message, stack: e.exceptionStack}}));
} catch (e:Dynamic) { } catch (e:Dynamic) {
// manage other errors // manage other errors
sugoi.Web.setReturnCode(500); sugoi.Web.setReturnCode(500);
var stack = if (App.config.DEBUG) haxe.CallStack.toString(haxe.CallStack.exceptionStack()) else ""; var stack = if (App.config.DEBUG) haxe.CallStack.toString(haxe.CallStack.exceptionStack()) else "";
App.current.logError(e, stack); App.current.logError(e, stack);
Sys.print(Json.stringify({error: {code: 500, message: Std.string(e), stack: stack}})); Sys.print(Json.stringify({error: {code: 500, message: Std.string(e), stack: stack}}));
} }
} }
@tpl("cssDemo.mtt") @tpl("cssDemo.mtt")
@@ -113,9 +108,7 @@ class Main extends Controller {
d.dispatch(new controller.Install()); d.dispatch(new controller.Install());
} }
function doP(d:Dispatch) { function doP(d:Dispatch) {
/* /*
* Invalid array access * Invalid array access
Stack (ADMIN|DEBUG) Stack (ADMIN|DEBUG)
@@ -139,7 +132,6 @@ Called from controller/Main.hx line 117
d.dispatch(new controller.Plugin()); d.dispatch(new controller.Plugin());
} }
@logged @logged
function doMember(d:Dispatch) { function doMember(d:Dispatch) {
view.category = 'members'; view.category = 'members';
@@ -148,10 +140,17 @@ Called from controller/Main.hx line 117
@logged @logged
function doStats(d:Dispatch) { function doStats(d:Dispatch) {
App.log('doStats called');
view.category = 'stats'; view.category = 'stats';
d.dispatch(new Stats()); d.dispatch(new Stats());
} }
function doMentions(d:Dispatch) {
App.log('do Mentions called');
view.category = 'mentions';
d.dispatch(new MentionsLegales());
}
@logged @logged
function doAccount(d:Dispatch) { function doAccount(d:Dispatch) {
view.category = 'account'; view.category = 'account';
@@ -238,7 +237,6 @@ Called from controller/Main.hx line 117
@logged @logged
function doValidate(date:Date, place:db.Place, user:db.User, d:haxe.web.Dispatch) { function doValidate(date:Date, place:db.Place, user:db.User, d:haxe.web.Dispatch) {
var v = new controller.Validate(); var v = new controller.Validate();
v.date = date; v.date = date;
v.place = place; v.place = place;
@@ -256,6 +254,4 @@ Called from controller/Main.hx line 117
d.parts = []; // disable haxe.web.Dispatch d.parts = []; // disable haxe.web.Dispatch
sys.db.Admin.handler(); sys.db.Admin.handler();
} }
} }
+10
View File
@@ -0,0 +1,10 @@
package controller;
class MentionsLegales extends Controller {
public function new() {
super();
}
@tpl("mentions_legales/default.mtt")
function doDefault() {}
}
+2
View File
@@ -13,6 +13,8 @@ class WaitingListService{
var w = new db.WaitingList(); var w = new db.WaitingList();
w.user = user; w.user = user;
w.group = group; w.group = group;
if (message == null ) message = "";
//message = "souscription = " + message;
w.message = message; w.message = message;
w.insert(); w.insert();
Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

+1
View File
@@ -14,6 +14,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Poedit 2.0.6\n" "X-Generator: Poedit 2.0.6\n"
#: src/payment/Cash.hx:294 #: src/payment/Cash.hx:294
msgid "Cash" msgid "Cash"
msgstr "Espèces / Carte Bancaire" msgstr "Espèces / Carte Bancaire"