Compare commits

...
35 Commits
Author SHA1 Message Date
pvincent 0ebb698c54 tagged as 1.6.0 2021-08-12 21:55:17 +04:00
pvincent 3621289fee install from scratch 2021-08-12 21:55:06 +04:00
pvincent 544db390ef install from scratch 2021-08-12 21:54:14 +04:00
pvincent f357d716b7 tagged as 1.5.4 2021-08-12 21:34:28 +04:00
pvincent a49bee1a52 fix: gitignore 2021-08-12 21:34:20 +04:00
pvincent 286bfd14ea tagged as 1.5.3 2021-08-12 21:31:45 +04:00
pvincent 068288ddd1 fix: cagetteJs.hxml 2021-08-12 21:31:37 +04:00
pvincent 30d4c85250 tagged as 1.5.2 2021-08-12 21:29:21 +04:00
pvincent 6170e5f499 change: config.xml.dist 2021-08-12 21:29:14 +04:00
pvincent b1d56d85c0 fix: git missing 2021-08-12 21:25:59 +04:00
pvincent 3c76533541 git via https 2021-08-12 15:40:56 +04:00
pvincent 076c03d6c6 git via https 2021-08-12 15:40:09 +04:00
beta3:ct7 4f1b4d90a6 tagged as 1.5.1 2021-03-10 21:54:53 +04:00
beta3:ct7 10f916f262 export commande moins de colonnes (special Maddie) 2021-03-10 21:54:21 +04:00
artnuc.ct9 744581bad9 tagged as 1.5.0 2021-03-10 21:40:13 +04:00
artnuc.ct9 b80fe490dc export commandes à la Maddie, orienté numéro commande 2021-03-10 21:39:49 +04:00
artnuc.ct9 179e35a88b tagged as 1.4.11 2021-03-05 11:37:03 +04:00
artnuc.ct9 28b825db07 zouritpad link 2021-03-05 11:36:49 +04:00
artnuc.ct9 d8c72cf249 tagged as 1.4.10 2021-03-05 10:45:11 +04:00
artnuc.ct9 c4250cc201 package.json 2021-03-05 10:44:58 +04:00
artnuc.ct9 f54f78b03e tagged as 1.4.9 2021-03-05 10:43:09 +04:00
artnuc.ct9 97a9c1c4e3 newlogo 2021-03-05 10:33:07 +04:00
artnuc.ct9 6ca6e89cd5 gt symbol 2021-03-04 20:47:54 +04:00
artnuc.ct9 f5d09537b9 no more XXX 2021-03-04 20:30:31 +04:00
artnuc.ct9 a5c34cc6a0 XXX 2021-03-04 20:27:52 +04:00
artnuc.ct9 5c9fe38c4b Makefile 2021-03-04 20:20:33 +04:00
artnuc.ct9 feff65ab36 email cagettePéi 2021-03-04 19:57:04 +04:00
artnuc.ct9 c8a354e868 logo espace + police gras 2021-02-26 11:22:53 +04:00
artnuc.ct9 ccd46e79fc README plus complet 2021-02-26 11:19:27 +04:00
artnuc.ct9 6c6eec0b78 fix group.name undefined 2021-02-26 10:55:43 +04:00
artnuc.ct9 7662ce8771 Merge branch 'master' of artcode.re:cagetters/cagette 2021-02-26 09:42:22 +04:00
artnuc.ct9 8c8e9352d3 logo change 2021-02-26 09:41:37 +04:00
pvincent 6e28c2a5db Update 'README.md' 2021-02-25 20:46:03 +04:00
artnuc.ct9 33d97a2f93 fix Makefile conflict 2021-01-21 12:07:59 +04:00
artnuc.ct9 5f6c97d146 dont mess with config file 2021-01-21 11:57:08 +04:00
17 changed files with 255 additions and 1197 deletions
+1
View File
@@ -1,6 +1,7 @@
*.n *.n
*.php *.php
config.xml config.xml
/package-lock.json
www/plugin/* www/plugin/*
tmp/* tmp/*
*node_modules* *node_modules*
+1
View File
@@ -0,0 +1 @@
1.6.0
+6 -3
View File
@@ -6,8 +6,11 @@ ENV?="dev"
#To compile project with plugins, add PLUGINS=1 or type `export PLUGINS=1` #To compile project with plugins, add PLUGINS=1 or type `export PLUGINS=1`
install: install:
#copy config file from template #copy config file from template first time only
#cp config.xml.dist config.xml @if [ ! -f config.xml ]; then \
cp config.xml.dist config.xml; \
fi
@if [ $(ENV) = "dev" ]; then \ @if [ $(ENV) = "dev" ]; then \
make install_dev; \ make install_dev; \
fi fi
@@ -47,7 +50,7 @@ compile:
echo "compile Cagette.net with plugins"; \ echo "compile Cagette.net with plugins"; \
haxe cagetteAllPlugins.hxml; \ haxe cagetteAllPlugins.hxml; \
else \ else \
echo "compile Cagette.net core"; \ echo "compile CagettePéi core"; \
haxe cagette.hxml; \ haxe cagette.hxml; \
fi fi
+168 -2
View File
@@ -1,4 +1,170 @@
# Cagette péi CAGETTE PEI
===========
Fourche du logiciel [Cagette.net](https://github.com/CagetteNet) à partir de la version 0.9.2 Novembre 2018
Certaines portions du code source de Cagette.net n'étant plus disponibles en téléchargement,
j'ai repris sur la base d'un existant pour adapter au marché local réunionnais et leurs AMAPéi.
## INSTALL FROM SCRATCH (debian-buster)
* apt install -y curl
* curl -sL https://deb.nodesource.com/setup_8.x | bash -
* apt install -y nodejs=8.17.0-1nodesource1
* apt install -y sudo haxe apache2 make git imagemagick gettext libapache2-mod-neko mariadb-server
* mysql -u root <<EOF
CREATE DATABASE cagettepei;
GRANT ALL ON cagettepei.* TO 'cagettepei'@'%' IDENTIFIED BY 'cagettepei';
EOF
* cd /var/www
* git clone https://git.artcode.re/cagetters/cagettepei.git
* cd cagettepei
* make install ENV=dev # first time
* make compile # classes
* make templates # templates + i18n
* vim /etc/apache2/sites-available/cagettepei.conf
```
<VirtualHost *:80>
ServerName cagettepei
DirectoryIndex index.n
DocumentRoot /var/www/cagettepei/www/
</VirtualHost>
```
* sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
* a2dissite 000-default.conf
* a2ensite cagettepei.conf
* a2enmod neko rewrite
* systemctl restart apache2
## CONFIGURATION
* cd /var/www/cagettepei
* vim config.xml
```
<config
host="<DOMAIN.TLD>"
key="<SECRET_PHRASE>"
name = "CagettePéi"
default_email = "<EMAIL>"
webmaster_email = "<EMAIL>"
database="mysql://cagettepei:cagettepei@localhost/cagettepei"
smtp_host="localhost"
smtp_port="25"
smtp_user=""
smtp_pass=""
lang="fr"
langs="fr"
langnames="Français"
maintain="0"
debug="0"
sqllog="0"
cache="1"
cachetpl="0"
/>
```
ADMIN RESET PASSWORD
--------------------
* # go to http://localhost for ERROR + table regeneration, then
* cd /var/www/cagettepei
* SECRET=$(grep key= config.xml | cut -d= -f2 | cut -d'"' -f2)
* echo "insert into User values (1,'fr',MD5('${SECRET}cagettepei'),1,'Administrateur','Cagette Péi', 'admin', null, null, null, null, null, null, null, null, null, now(), now(),6,null, null)" | mysql -h localhost -u cagettepei -pcagettepei cagettepei
* # connect with admin / cagettepei
* # change admin password
* echo "update User set pass=MD5('${SECRET}cagettepei') where id=1" | mysql -h localhost -u cagettepei -pcagettepei cagettepei
SYSTEMD-TIMERS
--------------
* vim /var/www/cagettepei-batch
```
#!/bin/bash
case $1 in
minute);;
daily);;
*) echo "expected [minute|daily]" && exit 1;;
esac
SELECTOR=$1
for i in /var/www/cagettepei-* ; do
if [[ -d $i ]]; then
cd $i/www
echo "cron-$SELECTOR in: $i"
neko index.n cron/$SELECTOR
echo
fi
done
```
* chmod +x /var/www/cagettepei-batch
* vim /etc/systemd/system/cagettepei-batch-minute.service
```
[Unit]
Description=Run batch cagettepei every minute
[Service]
User=www-data
SyslogIdentifier=cagettepei
ExecStart=/var/www/cagettepei-batch minute
[Install]
WantedBy=multi-user.target
```
* vim /etc/systemd/system/cagettepei-batch-day.service
```
[Unit]
Description=Run batch cagettepei every day
[Service]
User=www-data
SyslogIdentifier=cagettepei
ExecStart=/var/www/cagettepei-batch daily
[Install]
WantedBy=multi-user.target
```
* vim /etc/systemd/system/cagettepei-batch-minute.timer
```
[Unit]
Description=Timer for batch cagettepei every minute
Requires=apache2.service
[Timer]
OnCalendar=minutely
Unit=cagettepei-batch-minute.service
[Install]
WantedBy=timers.target
```
* vim /etc/systemd/system/cagettepei-batch-day.timer
```
[Unit]
Description=Timer for batch cagettepei every day
Requires=apache2.service
[Timer]
OnCalendar=daily
Unit=cagettepei-batch-day.service
[Install]
WantedBy=timers.target
```
* systemctl daemon-reload
* systemctl edit apache2 # bind the 2 timers to apache2 cagette
```
[Unit]
BindsTo = cagettepei-batch-minute.timer cagettepei-batch-day.timer
```
* systemctl enable cagettepei-batch-minute.timer cagettepei-batch-day.timer
* systemctl start cagettepei-batch-minute.timer cagettepei-batch-day.timer
Fourche du logiciel Cagette.net à partir de la version 0.9.2 Novembre 2018
+3 -3
View File
@@ -23,9 +23,9 @@
-lib tink_typecrawler:0.7.0 -lib tink_typecrawler:0.7.0
## GIT ## GIT
-lib sugoi:git:git@artcode.re:cagetters/sugoi.git -lib sugoi:git:https://git.artcode.re/cagetters/sugoi.git
-lib record-macros:git:git@artcode.re:cagetters/record-macros.git -lib record-macros:git:https://git.artcode.re/cagetters/record-macros.git
-lib dbadmin:git:git@artcode.re:cagetters/dbadmin.git -lib dbadmin:git:https://git.artcode.re/cagetters/dbadmin.git
## SCRIPT ## SCRIPT
-cp common -cp common
+2 -2
View File
@@ -1,8 +1,8 @@
-dce no -dce no
-cp common -cp common
-cp js -cp js
-lib sugoi:git:git@artcode.re:cagetters/sugoi.git -lib sugoi:git:https://git.artcode.re/cagetters/sugoi.git
-lib hxleaflet:git:git@artcode.re:cagetters/hxleaflet.git -lib hxleaflet:git:https://git.artcode.re/cagetters/hxleaflet.git
-lib react:1.4.0 -lib react:1.4.0
-lib react-router-4:0.2.3 -lib react-router-4:0.2.3
-lib modular:0.10.15 -lib modular:0.10.15
+14 -24
View File
@@ -1,29 +1,19 @@
<config <config
database = "mysql://<USER>:<PASSWORD>@<HOST>/<DBNAME>"
host = "<URL without http>"
name = "<HTML head title>"
default_email = "<EMAIL>"
webmaster_email = "<EMAIL>"
key = "<SECRET_PHRASE>"
maintain="0"
cache="1"
cachetpl="0"
debug="0"
sqllog="0"
lang="fr" lang="fr"
langs="fr" langs="fr"
langnames="Français" langnames="Français"
host="www.amapeisudreunion.com"
name = "AMAPEI Sud Réunion"
default_email = "admin@amapeisudreunion.com"
webmaster_email = "postmaster@amapeisudreunion.com"
database="mysql://cagette:cagette@ct1/cagette"
sqllog="0"
debug="0"
cache="1"
maintain="0"
cachetpl="0"
key="carotteMagique"
smtp_host="localhost"
smtp_port="25"
smtp_user=""
smtp_pass=""
mt.net.form.Form.HTML5 = "1"
mt.net.form.Form.USE_TWITTER_BOOTSTRAP = "1"
google_geocoding_key="googlekey"
/> />
+4 -6
View File
@@ -14,7 +14,7 @@
<h1>::groupName::</h1> <h1>::groupName::</h1>
::else:: ::else::
<div style="margin-bottom:22px;" > <div style="margin-bottom:22px;" >
<a href="http://www.cagette.net" target="_blank"> <a href="https://git.artcode.re/cagetters/cagette" target="_blank">
<img src="/img/logo3.png" alt="::NAME::" /> <img src="/img/logo3.png" alt="::NAME::" />
</a> </a>
</div> </div>
@@ -130,7 +130,7 @@
<div class="row" id="footer"> <div class="row" id="footer">
<div class="col-md-9" > <div class="col-md-9" >
<a href="http://www.cagette.net" target="_blank"> <a href="https://git.artcode.re/cagetters/cagette" target="_blank">
<img src="/img/logo.png" alt="::_("Cagette.net")::"/> <img src="/img/logo.png" alt="::_("Cagette.net")::"/>
</a> </a>
</div> </div>
@@ -142,13 +142,11 @@
<a href="http://www.cagette.net/wiki" target="_blank">::_("Documentation")::</a> <a href="http://www.cagette.net/wiki" target="_blank">::_("Documentation")::</a>
</li> </li>
<li> <li>
<a href="https://www.cagette.pro" target="_blank">Formations pour producteurs</a> <a href="https://pad1.zourit.net/p/4a3b09afd25b4fdcb3f0a9598db21e61" target="_blank">Proposer une amélioration</a>
</li> </li>
<li> <li>
::if (user!=null && user.isAmapManager()):: <a href="https://cagette.uservoice.com" target="_blank">::_("Propose features")::</a> ::end:: <a href="https://pad1.zourit.net/p/4a3b09afd25b4fdcb3f0a9598db21e61" target="_blank">Soumettre une anomalie</a>
</li> </li>
</ul> </ul>
<!--<p style="position: absolute;display: block;top: 96px;width: 700px;"> <!--<p style="position: absolute;display: block;top: 96px;width: 700px;">
+4 -4
View File
@@ -17,11 +17,11 @@ table.table td{
<hr/> <hr/>
<div style="color:#666;font-size:12px;"> <div style="color:#666;font-size:12px;">
::_("This e-mail was sent from"):: <a href="http://::HOST::">::_("Cagette.net")::</a>. &gt; ::_("This e-mail was sent from"):: <a href="http://::raw HOST::">::_("Cagette.net")::</a>.
::if group!=null:: ::if group!=null::
<br/> <br/>
::_("You receive this message because you are part of"):: <b>::group.name::</b> ::_("You receive this message because you are part of"):: <b>::_("Cagette.net")::</b>
::end:: ::end::
::if list!=null:: ::if list!=null::
@@ -32,9 +32,9 @@ table.table td{
::if group!=null:: ::if group!=null::
<div style="width:50%;max-width:300px;margin: 12px auto;padding: 8px;text-decoration: none;background: #070;border-radius: 3px;text-align: center;"> <div style="width:50%;max-width:300px;margin: 12px auto;padding: 8px;text-decoration: none;background: #070;border-radius: 3px;text-align: center;">
<a href="http://::HOST::/group/::group.id::" style="color: white;font-weight: bold;text-decoration: none;font-size:1.2em;"> <a href="http://::HOST::/group/::group.id::" style="color: white;font-weight: bold;text-decoration: none;font-size:1.2em;">
&rarr; ::group.name:: &rarr; ::_("Cagette.net")::
</a> </a>
</div> </div>
::end:: ::end::
</div> </div>
+2 -2
View File
@@ -2,7 +2,7 @@
<div style="max-width:400px;margin:auto;border:solid 1px #AAA;border-radius:8px;padding:12px;text-align:center;font-family:Arial;"> <div style="max-width:400px;margin:auto;border:solid 1px #AAA;border-radius:8px;padding:12px;text-align:center;font-family:Arial;">
<img src="http://::HOST::/img/logo2.png" title="Cagette.net" /> <img src="http://::HOST::/img/logo2.png" title="CagettePéi" />
<p> <p>
::_("Hello"):: $$nullSafe(::name::), ::_("Hello"):: $$nullSafe(::name::),
@@ -42,4 +42,4 @@
</div> </div>
::end:: ::end::
+1 -1
View File
@@ -5,4 +5,4 @@
::end:: ::end::
+4 -5
View File
@@ -1,9 +1,7 @@
{ {
"name": "Cagette.net", "name": "CagettePei",
"description": "le logiciel libre du circuit court", "description": "le logiciel libre du circuit court",
"author": "François Barbut <francois@alilo.fr>", "license": "AGPL-3.0",
"license": "GPL-2.0",
"homepage": "http://www.cagette.net",
"dependencies": { "dependencies": {
"bootstrap": "^3.3.4", "bootstrap": "^3.3.4",
"eonasdan-bootstrap-datetimepicker": "^4.7.14", "eonasdan-bootstrap-datetimepicker": "^4.7.14",
@@ -48,5 +46,6 @@
}, },
"bugs": { "bugs": {
"url": "https://github.com/bablukid/cagette/issues" "url": "https://github.com/bablukid/cagette/issues"
} },
"version": "1.6.0"
} }
+26 -8
View File
@@ -86,6 +86,17 @@ class Distribution extends Controller
} }
} }
function getUser(uid:Int):db.User {
return db.User.manager.get(uid, false);
}
function getBasket(userId, placeId, date){
var user = getUser(userId);
var place = db.Place.manager.get(placeId, false);
return db.Basket.getOrCreate(user, place, date);
}
/** /**
* Attendance sheet to print ( mutidistrib ) * Attendance sheet to print ( mutidistrib )
@@ -174,18 +185,25 @@ class Distribution extends Controller
var data = new Array<Dynamic>(); var data = new Array<Dynamic>();
for (o in orders3) { for (o in orders3) {
var basket = getBasket(o.userId,view.place.id,view.date);
data.push( { data.push( {
"name":o.userName, "NUM": basket.num,
"productName":o.productName, "ADHERENT":o.userName,
"price":view.formatNum(o.productPrice), "PRODUIT":o.productName,
"quantity":o.quantity, "QTÉ":o.quantity,
"fees":view.formatNum(o.fees), // "price":view.formatNum(o.productPrice),
"total":view.formatNum(o.total), // "fees":view.formatNum(o.fees),
"paid":o.paid // "total":view.formatNum(o.total),
// "paid":o.paid
}); });
} }
sugoi.tools.Csv.printCsvDataFromObjects(data, ["name", "productName", "price", "quantity","fees","total", "paid"],"Export-commandes-"+date.toString().substr(0,10)+"-Cagette"); sugoi.tools.Csv.printCsvDataFromObjects(data, ["NUM","ADHERENT", "PRODUIT", "QTÉ"],"Export-commandes-"+date.toString().substr(0,10)+"-Cagette");
//sugoi.tools.Csv.printCsvDataFromObjects(data, ["NUM","ADHERENT", "PRODUIT", "QTÉ","price","fees","total","paid"],"Export-commandes-"+date.toString().substr(0,10)+"-Cagette");
//sugoi.tools.Csv.printCsvDataFromObjects(data, ["NUM","ADHERENT", "PRODUIT", "price", "quantity","fees","total", "paid"],"Export-commandes-"+date.toString().substr(0,10)+"-Cagette");
return; return;
} }
} }
Executable → Regular
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 27 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 27 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

+19 -1137
View File
File diff suppressed because it is too large Load Diff