Browse Source

Ajout de la table des lignes de factures

master
cyril@cym.fr 10 years ago
parent
commit
ef5fe6c908
  1. 29
      base/factures.php
  2. 137
      fabrique_factures.php
  3. 9
      factures_administrations.php
  4. 90
      factures_autorisations.php
  5. 6
      paquet.xml

29
base/factures.php

@ -24,6 +24,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
function factures_declarer_tables_interfaces($interfaces) {
$interfaces['table_des_tables']['factures'] = 'factures';
$interfaces['table_des_tables']['lignes_factures'] = 'lignes_factures';
return $interfaces;
}
@ -71,6 +72,34 @@ function factures_declarer_tables_objets_sql($tables) {
'tables_jointures' => array(),
);
$tables['spip_lignes_factures'] = array(
'type' => 'ligne',
'principale' => "oui",
'table_objet_surnoms' => array('lignesfacture'), // table_objet('ligne') => 'lignes_factures'
'field'=> array(
"id_ligne" => "bigint(21) NOT NULL",
"id_facture" => "int(11) NOT NULL DEFAULT '0'",
"position" => "int(11) DEFAULT NULL",
"quantite" => "float DEFAULT NULL",
"unite" => "varchar(50) DEFAULT NULL",
"designation" => "text",
"prix_unitaire_ht" => "decimal(18,2) DEFAULT NULL",
"commentaire" => "mediumtext",
"maj" => "TIMESTAMP"
),
'key' => array(
"PRIMARY KEY" => "id_ligne",
),
'titre' => "'' AS titre, '' AS lang",
#'date' => "",
'champs_editables' => array(),
'champs_versionnes' => array(),
'rechercher_champs' => array(),
'tables_jointures' => array(),
);
return $tables;

137
fabrique_factures.php

@ -2,7 +2,7 @@
/**
* Fichier généré par la Fabrique de plugin v5
* le 2013-04-03 19:46:31
* le 2013-04-04 11:22:33
*
* Ce fichier de sauvegarde peut servir à recréer
* votre plugin avec le plugin «Fabrique» qui a servi à le créer.
@ -263,6 +263,130 @@ $data = array (
1 => 'outils_rapides',
),
),
1 =>
array (
'nom' => 'Lignes facture',
'nom_singulier' => 'Ligne facture',
'genre' => 'masculin',
'logo_variantes' => 'on',
'table' => 'spip_lignes_factures',
'cle_primaire' => 'id_ligne',
'cle_primaire_sql' => 'bigint(21) NOT NULL',
'table_type' => 'ligne',
'champs' =>
array (
0 =>
array (
'nom' => 'Id facture',
'champ' => 'id_facture',
'sql' => 'int(11) NOT NULL DEFAULT \'0\'',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
1 =>
array (
'nom' => 'Position',
'champ' => 'position',
'sql' => 'int(11) DEFAULT NULL',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
2 =>
array (
'nom' => 'Quantité',
'champ' => 'quantite',
'sql' => 'float DEFAULT NULL',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
3 =>
array (
'nom' => 'Unité',
'champ' => 'unite',
'sql' => 'varchar(50) DEFAULT NULL',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
4 =>
array (
'nom' => 'Désignation',
'champ' => 'designation',
'sql' => 'text',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
5 =>
array (
'nom' => 'Prix unitaire hors taxes',
'champ' => 'prix_unitaire_ht',
'sql' => 'decimal(18,2) DEFAULT NULL',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
6 =>
array (
'nom' => 'Commentaire',
'champ' => 'commentaire',
'sql' => 'mediumtext',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
),
'champ_titre' => '',
'champ_date' => '',
'statut' => '',
'chaines' =>
array (
'titre_objets' => 'Lignes factures',
'titre_objet' => 'Lignes facture',
'info_aucun_objet' => 'Aucun lignes facture',
'info_1_objet' => 'Un lignes facture',
'info_nb_objets' => '@nb@ lignes factures',
'icone_creer_objet' => 'Créer un lignes facture',
'icone_modifier_objet' => 'Modifier ce lignes facture',
'titre_logo_objet' => 'Logo de ce lignes facture',
'titre_langue_objet' => 'Langue de ce lignes facture',
'titre_objets_rubrique' => 'Lignes factures de la rubrique',
'info_objets_auteur' => 'Les lignes factures de cet auteur',
'retirer_lien_objet' => 'Retirer ce lignes facture',
'retirer_tous_liens_objets' => 'Retirer tous les lignes factures',
'ajouter_lien_objet' => 'Ajouter ce lignes facture',
'texte_ajouter_objet' => 'Ajouter un lignes facture',
'texte_creer_associer_objet' => 'Créer et associer un lignes facture',
'texte_changer_statut_objet' => 'Ce lignes facture est :',
),
'table_liens' => '',
'roles' => '',
'auteurs_liens' => '',
'vue_auteurs_liens' => '',
'autorisations' =>
array (
'objet_creer' => '',
'objet_voir' => '',
'objet_modifier' => '',
'objet_supprimer' => '',
'associerobjet' => '',
),
'boutons' =>
array (
0 => 'menu_edition',
1 => 'outils_rapides',
),
),
),
'images' =>
array (
@ -290,6 +414,17 @@ $data = array (
),
),
),
1 =>
array (
'logo' =>
array (
0 =>
array (
'extension' => 'png',
'contenu' => 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAxJREFUeNq8V1tME0EUvdsWLG21UnzwLg9FLMHgI6JAqIKJ/mj8IvFbEhM14iPxFY3gBz5iNHyoUfk1wJ9KTIgKEdFqUARFI9qIIoqBSEILGPva9c7SXWfp7rYW9CSTmbmzO3PuuXNndhmO40DAjaamaqwqscyDKMEwjAbxg2PZup0VFZfCPi8QuN7YWJWcmHimtLBQHxMTw0RLoPvNGzAaDNDd2+v1BwJHK8OQ0AgNJFK5buXKOTE6HQOEVJSlf2AA0tPSYEVeXqxOqz2Lqh6KlIDVYDBoiB4zKQRevx9SUlIgz2YjJGpvNDYeioTArBQCHxIgJSkxEZbn5sbqdLpaDPEROQI6ocGyrOhBS2srX6ehF3q9HpwfP4ovzDWZIN9mA0dnJ9/fUl4umdBkNIJrYgLi4uL4/iIkwXJcbF9f3+lrDQ2wa8eOc7IEaA82l5VJJs2yWkOYC8/QWUSQmZ4OTqcTMrOyAEPK2xYuXjxF4t27vdhVIQAzRyaSxVSEz/394B4fF+0ZSMzj9carh4CbDQoAVswCUqajq6eHVSZAheDBw4dgW7YMBoeGYBy9SE9N5dUZ/Po1ZNL5ZjNY0btXvb18vyA/Hz5hKv7yeGB5Tg70oH3Thg3iGooEOEqBcrudr8kuppGTna3otfAOQYLFIrEL85I11BUIttva22HtmjW8Vx70hECr0cASJPAeNxi/MTMy4Nv37+I4DXIQEfvwyAjfLwuSU1WA3gMbS0v5uqiwMOSF5KSkP7FG6dVgy82VZAqrpgCRR2DY3tHB15b4eDBiXtOxT0lOBpfbDROY6zSyMe1GR0dhzOWS2Mg5siAhIcIQBAmUlpRIUwvljgSEnBxEBcKGAP4tVENA74HHT57M6sIlxcUREMDFaYmKiookDzocjhBbpGNsJCHgpp2E5EW5yZSgNvbX5wDBuvXrJQ8+e/o0xKY09vruJfj04jbfDgQCcOuedurU9PlMdbuvurFZX3Xlw0HVu0DuXlC7K+gxsvie44fB6/HCr8mf8HNiEibdk6RmsD/X8eg++e48qHgdz5RAxuptcLn2vKiAVjulgM/n4xjWRw6Q+rC34UwIfO66E6UC9IRyi6ikGj1mVVLAiwpw/0GBgX+twNuWOvjS1SzaiZfDwZ1OYExIVVDAiwr45RWYvglfPn8eQkCwDXXegn0nj8l5yPfRQ6iqqY5egQL8FlBD7I/toodyMCflyI6HU8DpGhsrMJvNmnBn++DLZqUYBxV4gAqc+msF6lvb2i7Y7Xa9xWJRJZG2amsYBZZKxom6Ab+f49iAhwHWRyvA0HHfX1NDmO3Ekqf61TvSZDpQfYKJYg8I4+N4FM8LIUADySh/+w/fvBj8jVfCB/INqzIu3gW/BRgAh/RYXDg93aEAAAAASUVORK5CYII=',
),
),
),
),
),
);

9
factures_administrations.php

@ -24,7 +24,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
function factures_upgrade($nom_meta_base_version, $version_cible) {
$maj = array();
$maj['create'] = array(array('maj_tables', array('spip_factures')));
$maj['create'] = array(array('maj_tables', array('spip_factures', 'spip_lignes_factures')));
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
@ -41,11 +41,12 @@ function factures_upgrade($nom_meta_base_version, $version_cible) {
function factures_vider_tables($nom_meta_base_version) {
sql_drop_table("spip_factures");
sql_drop_table("spip_lignes_factures");
# Nettoyer les versionnages et forums
sql_delete("spip_versions", sql_in("objet", array('facture')));
sql_delete("spip_versions_fragments", sql_in("objet", array('facture')));
sql_delete("spip_forum", sql_in("objet", array('facture')));
sql_delete("spip_versions", sql_in("objet", array('facture', 'ligne')));
sql_delete("spip_versions_fragments", sql_in("objet", array('facture', 'ligne')));
sql_delete("spip_forum", sql_in("objet", array('facture', 'ligne')));
effacer_meta($nom_meta_base_version);
}

90
factures_autorisations.php

@ -108,6 +108,96 @@ function autoriser_facture_supprimer_dist($faire, $type, $id, $qui, $opt) {
}
// -----------------
// Objet lignes_factures
/**
* Autorisation de voir un élément de menu (lignesfactures)
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/
function autoriser_lignesfactures_menu_dist($faire, $type, $id, $qui, $opt){
return true;
}
/**
* Autorisation de voir le bouton d'accès rapide de création (ligne)
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/
function autoriser_lignecreer_menu_dist($faire, $type, $id, $qui, $opt){
return autoriser('creer', 'ligne', '', $qui, $opt);
}
/**
* Autorisation de créer (ligne)
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/
function autoriser_ligne_creer_dist($faire, $type, $id, $qui, $opt) {
return in_array($qui['statut'], array('0minirezo', '1comite'));
}
/**
* Autorisation de voir (ligne)
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/
function autoriser_ligne_voir_dist($faire, $type, $id, $qui, $opt) {
return true;
}
/**
* Autorisation de modifier (ligne)
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/
function autoriser_ligne_modifier_dist($faire, $type, $id, $qui, $opt) {
return in_array($qui['statut'], array('0minirezo', '1comite'));
}
/**
* Autorisation de supprimer (ligne)
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de l'objet
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/
function autoriser_ligne_supprimer_dist($faire, $type, $id, $qui, $opt) {
return $qui['statut'] == '0minirezo' AND !$qui['restreint'];
}
?>

6
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="factures"
categorie="divers"
version="1.0.0"
version="1.0.1"
etat="dev"
compatibilite="[3.0.7;3.0.*]"
logo=""
@ -9,7 +9,7 @@
schema="1.0.0"
>
<!--
Paquet généré le 2013-04-03 19:46:31
Paquet généré le 2013-04-04 11:22:33
-->
<nom>Factures &amp; devis</nom>
@ -26,4 +26,6 @@
<menu nom="factures" titre="facture:titre_factures" parent="menu_edition" icone="images/facture-16.png" action="factures" />
<menu nom="facture_creer" titre="facture:icone_creer_facture" parent="outils_rapides" icone="images/facture-new-16.png" action="facture_edit" parametres="new=oui" />
<menu nom="lignes_factures" titre="ligne:titre_lignes_factures" parent="menu_edition" icone="images/ligne-16.png" action="lignes_factures" />
<menu nom="ligne_creer" titre="ligne:icone_creer_ligne" parent="outils_rapides" icone="images/ligne-new-16.png" action="ligne_edit" parametres="new=oui" />
</paquet>
Loading…
Cancel
Save