Focus SIS, un fork de Centre SIS (une copie qui a ensuite évoluée indépendamment), qui était Open Source, disposait du module de Facturation.
Il est téléchargeable ici: http://arborrow.jesuitscholar.com/focus_2.3.zip
Nous allons donc extraire le module de Facturation de Focus afin de le greffer à notre Centre SIS!
Dans l'archive de Focus, il convient de copier le répertoire /modules/Billing/ et le renommer en Student_Billing
Mais ce n'est pas tout concernant le SQL, et l'on doit aussi récupérer tout ce qui concerne le module dans install.sql.
Soit les tables référencées dans les fichiers PHP:
BILLING_PAYMENTS
BILLING_FEES
Plus, les sequences PostgreSQL correspondantes, les données pour la table profile_exceptions et les INDEX des nouvelles tables.
Problème: dans install.sql, on trouve d'autres tables préfixées par BILLING, à savoir billing_fees_categories et billing_fees_old... Après recherche, ces tables ne semblent pas être utilisées, on va donc essayer sans.
Enfin, pour la partie SQL, il convient aussi de modifier les données de la table PROFILE_EXCEPTIONS qui sont inversées: Focus recense les interdictions par profil, Centre les permissions. Et puis, changer le dossier du module.
Et en général (si vous passez par phpPgAdmin), toutes les données SQL puisque leur format est adapté pour la ligne de commande: il faut les transformer en INSERT.
Suivent les problèmes avec PHP:
1.Renommer "Billing" en "Student_Billing" dans tous les fichiers
2. Remplacer "_FOCUS_PDF" par "_CENTRE_PDF".
3. Remplacer "$_FOCUS" par "$_CENTRE"
4. Fatal error: Call to undefined function DrawStudentHeader() dans StudentFees.php et StudentPayments.php. Fix: Commenter
DrawStudentHeader();5. Fatal error: Call to undefined function SystemPreferences() dans StudentFees.php Fix: enlever
str_replace(SystemPreferences('CURRENCY'),SystemPreferences('CURRENCY'). [...])Dans TOUS les fichiers.
6. Bug du PDF de Relevés avec un profil étudiant:
Remplacer dans Menu.php:
'Student_Billing/Statements.php'=>_('Print Statements')Par:
'Student_Billing/Statements.php&_CENTRE_PDF'=>_('Print Statements')Ajouter dans Modules.php (à la racine de Centre), ligne 57:
//modif: fix bug URL Modules.php?modname=Student_Billing/Statements.php&_CENTRE_PDF if (strpos($program, '&') !== false) $program = substr($program, 0, strpos($program, '&'));
On y est enfin, il reste juste à passer Student_Billing à true dans le config.inc.php!
Pour ceux qui se sentent un peu perdus, voici l'archive du module Student Billing à télécharger. Il suffira ensuite d'executer les instructions de install.sql via phpPgAdmin, et de reporter la modif dans Modules.php.