Name Last update
coops_configurations Loading commit data...
cronscripts Loading commit data...
data Loading commit data...
dockerfiles Loading commit data...
envelops Loading commit data...
inventory Loading commit data...
log Loading commit data...
members Loading commit data...
members_space Loading commit data...
orders Loading commit data...
outils Loading commit data...
products Loading commit data...
reception Loading commit data...
sales Loading commit data...
scripts Loading commit data...
shelfs Loading commit data...
shifts Loading commit data...
shop Loading commit data...
stock Loading commit data...
temp Loading commit data...
templates Loading commit data...
website Loading commit data...
.env Loading commit data...
.eslintignore Loading commit data...
.eslintrc.js Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
Howto.md Loading commit data...
LICENSE.txt Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
docker-compose.yml Loading commit data...
index.js Loading commit data...
launch.sh Loading commit data...
manage.py Loading commit data...
package-lock.json Loading commit data...
package.json Loading commit data...
requirements.locked.txt Loading commit data...
requirements.txt Loading commit data...

Django "La Cagette"

Le code source de ce dépôt est celui qui fournit actuellement les services suivants :

Répertoires

members

  • Borne d'accueil (pour vérifier le statut de celles et ceux qui entrent faire leurs courses, et pour enregistrer les présences de celles et ceux qui viennent faire leur service)

  • Inscription des nouveaux coopérateurs (partie utilisée au magasin et formulaire de confirmation affiché dans l'Espace Membre)

reception

  • Gestion des réceptions de marchandises (Sélection de Demandes de Prix, vérification des quantités et des prix de la marchandise livrée, génération de rapport, etc)

shifts

  • Choix de rattrapage (ou de services à venir pour les volants) et échanges de services (encapsulé dans une iframe de l'Espace Membre)

stock

  • Traçage des ruptures de stocks

inventory

  • Gestion des inventaires (préparation, inventaire, mise à jour Odoo)

orders

  • contient le code de gestion des commandes

products

  • Pour impression des étiquettes à la demande et génération fichiers pour les appli balances

outils

  • contient le code commun

shop

  • contient le code de la boutique en ligne

shelfs

  • contient le code de la gestion des rayons (dont une partie utilisée par shop)

website

  • contient le code de 'mon-espace-prive' (formulaire de confirmation données et services échanges)

Installation (sous distribution linux)

1. Installation

Prérequis : une version de python >= 3.8.12

Avec virtualenvwrapper (sudo pip install virtualenvwrapper)

Pour faire fonctionner virtualenvwrapper, il faut charger son environnement via :

source /usr/local/bin/virtualenvwrapper.sh

(vous pouvez par exemple mettre cette ligne dans votre profile de terminal préféré)

Cloner le projet, se placer à la racine, puis :

mkvirtualenv . --python=$(which python3)

pip install -r requirements.txt

Copier le fichier outils/settings_example.py en le renommant outils/settings.py

Copier le fichier outils/settings_secret_example.py en le renommant outils/settings_secret.py et en adaptant les identifiants

Copier le fichier outils/config.example.py en le renommant outils/config.py

Lancer le serveur Web avec la commande ./launch.sh (chmod u+x préalable si nécessaire)

L'application sera accessible via http://127.0.0.1:34001/

L'adresse d'écoute et le numero de port peuvent être modifiés en les passant en paramètre de la commande ./launch.sh, par exemple ./launch.sh 192.168.0.2 5678

2. Mise en place des crons

Les cronjobs situés dans le répertoire racine cronscripts, sont indispensables au bon fonctionnement du logiciel. Ils se chargent de :

  • la cloture des créneaux (record_absences.sh)
  • la finalisation des réceptions (process_picking.sh)

Ils sont activés en renseignant le crontab de django ainsi, dans le cas où third-party est à la racine de /home/django :

# m h  dom mon dow   command
*/5 6,7,8,9,10,11,12,13,14,15,16,17,18,19 * * * ~/third-party/cronscripts/process_picking.sh
0 8,11,14,17,20,23 * * * ~/third-party/cronscripts/record_absences.sh

Ajoutez --user x -- password y si le service est protégé par une barrière HTTP