Ajout d'un module de droit de prêt

J'avais besoin du module "Droit de prêt" pour géréer un problématiques d'envoi de fichier de déclaration à l'organisme SOFIA via DILICOM. Afin de pouvoir dévlopper ce module, il a également été nécessaire de gérer les client par catégorie. En effet seuls les clients bibliothèque d'une librairie, distributeur ou éditeur sont concernés par cette déclaration.
This commit is contained in:
cdelambert 2007-04-30 09:09:55 +00:00
parent 1eb2282bad
commit cd8ca08f08
3 changed files with 250 additions and 0 deletions

122
htdocs/admin/droitpret.php Normal file
View File

@ -0,0 +1,122 @@
<?php
/* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
\file htdocs/admin/droitpret.php
\ingroup pret
\brief Page d'administration/configuration du module DroitPret
\version $Revision$
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/categories/categorie.class.php");
$langs->load("admin");
if (!$user->admin)
accessforbidden();
// positionne la variable pour le test d'affichage de l'icone
$var=True;
// Action mise a jour ou ajout d'une constante
if ($_POST["action"] == 'update' || $_POST["action"] == 'add')
{
if (! dolibarr_set_const($db, $_POST["constname"],$_POST["constvalue"],$_POST["consttype"],0,isset($_POST["constnote"])?$_POST["constnote"]:''))
{
print $db->error();
}
else
{
Header("Location: droitpret.php");
exit;
}
}
llxHeader();
/*
* Interface de configuration de certaines variables de la partie adherent
*/
print_fiche_titre($langs->trans("PretSetup"),'','setup');
print "<br>";
print_fiche_titre($langs->trans("MemberMainOptions"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Description").'</td>';
print '<td>'.$langs->trans("Value").'</td>';
print '<td align="center">'.$langs->trans("Action").'</td>';
print "</tr>\n";
$var=true;
$form = new Form($db);
// Catégorie
$var=!$var;
print '<form action="droitpret.php" method="POST">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="constname" value="DROITPRET_CAT">';
print '<input type="hidden" name="consttype" value="chaine">';
print "<tr $bc[$var] class=value><td>".$langs->trans("catActive").'</td><td>';
print $form->select_all_categories(2,$conf->global->DROITPRET_CAT,"constvalue");
print '</td><td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
print "</td></tr>\n";
print '</form>';
// Adresse destination
$var=!$var;
print '<form action="droitpret.php" method="POST">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="constname" value="DROITPRET_MAIL">';
print '<input type="hidden" name="consttype" value="chaine">';
print "<tr $bc[$var] class=value><td>".$langs->trans("mailDroitPret").'</td>';
print '<td><input type="text" name="constvalue" value="'.$conf->global->DROITPRET_MAIL.'"></td>';
print '<td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
print "</td></tr>\n";
print '</form>';
print '</table>';
print '<br>';
?>

View File

@ -243,6 +243,16 @@ class Conf
$this->service->dir_temp =DOL_DATA_ROOT."/produit/temp";
// Module stock
$this->stock->enabled=defined("MAIN_MODULE_STOCK")?MAIN_MODULE_STOCK:0;
// Module droipret
$this->droitpret->enabled=defined("MAIN_MODULE_DROITPRET")?MAIN_MODULE_DROITPRET:0;
$this->droitpret->cat=defined('DROITPRET_CAT')?DROITPRET_CAT:'';
$this->droitpret->cat=defined('DROITPRET_MAIL')?DROITPRET_MAIL:'';
$this->droitpret->dir_temp=DOL_DATA_ROOT."/droitpret/temp";
// Module menuDb
$this->menudb->enabled=defined("MAIN_MODULE_MENUDB")?MAIN_MODULE_MENUDB:0;
// Module code barre
$this->barcode->enabled=defined("MAIN_MODULE_BARCODE")?MAIN_MODULE_BARCODE:0;
// Module categorie

View File

@ -0,0 +1,118 @@
<?php
/* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
\defgroup DroitPret Module prêt
\brief Module pour gérer le suivi des droits de prêts
*/
/**
\file htdocs/includes/modules/modDroitPret.class.php
\ingroup don
\brief Fichier de description et activation du module DroitPret
*/
include_once "DolibarrModules.class.php";
/**
\class modDroitPret
\brief Classe de description et activation du module DroitPrêt
*/
class modDroitPret extends DolibarrModules
{
/**
* \brief Constructeur. Definit les noms, constantes et boites
* \param DB handler d'accès base
*/
function modDroitPret($DB)
{
$this->db = $DB ;
$this->id = 'droitpret'; // Same value xxx than in file modXxx.class.php file
$this->numero = 2200 ;
$this->family = "other";
$this->name = "Droit Prêt";
$this->description = "Gestion du droit de prêts";
$this->version = '1.1-beta'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_DROITPRET';
$this->special = 2;
// Dir
$this->dirs = array();
// Dépendances
$this->depends = array();
$this->requiredby = array();
// Config pages
$this->config_page_url = array("droitpret.php");
// Constantes
$this->const = array();
// Boxes
$this->boxes = array();
// Permissions
$this->rights = array();
$this->rights_class = 'droitpret';
$this->rights[1][0] = 2200;
$this->rights[1][1] = 'Lire les droits de prêts';
$this->rights[1][2] = 'r';
$this->rights[1][3] = 1;
$this->rights[1][4] = 'lire';
$this->rights[2][0] = 2201;
$this->rights[2][1] = 'Créer/modifier les droits de prêts';
$this->rights[2][2] = 'w';
$this->rights[2][3] = 0;
$this->rights[2][4] = 'creer';
}
/**
* \brief Fonction appelée lors de l'activation du module. Insère en base les constantes, boites, permissions du module.
* Définit également les répertoires de données à créer pour ce module.
*/
function init()
{
$sql = array();
return $this->_init($sql);
}
/**
* \brief Fonction appelée lors de la désactivation d'un module.
* Supprime de la base les constantes, boites et permissions du module.
*/
function remove()
{
$sql = array();
return $this->_remove($sql);
}
}
?>