# 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 ## Relancer le service Avec root `/etc/init.d/django restart`