Browse Source

version 1.02 avec les lignes de factures...

master
cyril@cym.fr 10 years ago
parent
commit
00bc51dd64
  1. 22
      base/factures.php
  2. 187
      fabrique_factures.php
  3. 2
      factures_administrations.php
  4. 2
      factures_autorisations.php
  5. 2
      factures_pipelines.php
  6. 2
      formulaires/editer_facture.php
  7. 14
      lang/facture_fr.php
  8. 2
      lang/factures_fr.php
  9. 8
      paquet.xml
  10. 52
      prive/objets/contenu/facture.html
  11. 7
      prive/objets/liste/factures.html
  12. 18
      prive/objets/liste/factures_associer.html
  13. 2
      prive/objets/liste/factures_associer_fonctions.php
  14. 18
      prive/objets/liste/factures_lies.html
  15. 2
      prive/objets/liste/factures_lies_fonctions.php
  16. 2
      prive/squelettes/contenu/facture_edit.html

22
base/factures.php

@ -4,7 +4,7 @@
*
* @plugin Factures & devis
* @copyright 2013
* @author Cyril Marion
* @author Cyril Marion - Ateliers CYM S.A.R.L.
* @licence GNU/GPL
* @package SPIP\Factures\Pipelines
*/
@ -46,29 +46,29 @@ function factures_declarer_tables_objets_sql($tables) {
'principale' => "oui",
'field'=> array(
"id_facture" => "bigint(21) NOT NULL",
"id_organisation" => "int(11) DEFAULT NULL",
"id_type_document" => "int(11) NOT NULL DEFAULT '1'",
"num_facture" => "varchar(50) NOT NULL",
"num_devis" => "varchar(50) DEFAULT NULL",
"id_organisation_emettrice" => "int(11) NOT NULL DEFAULT 0",
"id_organisation" => "int(11) DEFAULT NULL",
"date_facture" => "datetime DEFAULT NULL",
"libelle_facture" => "mediumtext",
"montant" => "decimal(18,2) DEFAULT NULL",
"quantite" => "decimal(18,2) DEFAULT NULL",
"conditions" => "text NOT NULL",
"reglement" => "varchar(50) DEFAULT NULL",
"nota_bene" => "mediumtext",
"delais_validite" => "int(11) DEFAULT NULL",
"fin_validite" => "datetime DEFAULT NULL",
"montant" => "decimal(18,2) DEFAULT NULL",
"nb_heures_vendues" => "decimal(18,2) DEFAULT NULL",
"nota_bene" => "mediumtext",
"num_devis" => "varchar(50) DEFAULT NULL",
"maj" => "TIMESTAMP"
),
'key' => array(
"PRIMARY KEY" => "id_facture",
),
'titre' => "'' AS titre, '' AS lang",
'titre' => "libelle_facture AS titre, '' AS lang",
#'date' => "",
'champs_editables' => array(),
'champs_editables' => array('num_facture', 'id_organisation_emettrice', 'id_organisation', 'date_facture', 'libelle_facture', 'montant', 'quantite', 'conditions', 'reglement', 'nota_bene', 'delais_validite', 'fin_validite', 'num_devis'),
'champs_versionnes' => array(),
'rechercher_champs' => array(),
'rechercher_champs' => array("num_facture" => 10),
'tables_jointures' => array(),
@ -92,7 +92,7 @@ function factures_declarer_tables_objets_sql($tables) {
'key' => array(
"PRIMARY KEY" => "id_ligne",
),
'titre' => "'' AS titre, '' AS lang",
'titre' => "designation AS titre, '' AS lang",
#'date' => "",
'champs_editables' => array(),
'champs_versionnes' => array(),

187
fabrique_factures.php

@ -2,7 +2,7 @@
/**
* Fichier généré par la Fabrique de plugin v5
* le 2013-04-04 11:22:33
* le 2013-04-04 15:39:52
*
* Ce fichier de sauvegarde peut servir à recréer
* votre plugin avec le plugin «Fabrique» qui a servi à le créer.
@ -30,18 +30,18 @@ $data = array (
'slogan' => 'Facturer et faire des devis avec SPIP',
'description' => 'Factures & devis permet d\'éditer, imprimer, archiver facilement vos devis et factures.',
'prefixe' => 'factures',
'version' => '1.0.0',
'auteur' => 'Cyril Marion',
'auteur_lien' => '',
'version' => '1.0.2',
'auteur' => 'Cyril Marion - Ateliers CYM S.A.R.L.',
'auteur_lien' => 'http://www.cym.fr',
'licence' => 'GNU/GPL',
'categorie' => 'divers',
'etat' => 'dev',
'etat' => 'experimental',
'compatibilite' => '[3.0.7;3.0.*]',
'documentation' => '',
'administrations' => 'on',
'schema' => '1.0.0',
'formulaire_config' => 'on',
'formulaire_config_titre' => '',
'formulaire_config_titre' => 'Configurer Factures et Devis',
'fichiers' =>
array (
0 => 'autorisations',
@ -77,8 +77,8 @@ $data = array (
array (
'nom' => 'Factures',
'nom_singulier' => 'Facture',
'genre' => 'masculin',
'logo_variantes' => '',
'genre' => 'feminin',
'logo_variantes' => 'on',
'table' => 'spip_factures',
'cle_primaire' => 'id_facture',
'cle_primaire_sql' => 'bigint(21) NOT NULL',
@ -87,19 +87,44 @@ $data = array (
array (
0 =>
array (
'nom' => 'Id organisation',
'champ' => 'id_organisation',
'sql' => 'int(11) DEFAULT NULL',
'recherche' => '',
'nom' => 'Numéro de la facture',
'champ' => 'num_facture',
'sql' => 'varchar(50) NOT NULL',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '10',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
1 =>
array (
'nom' => 'Id type document',
'champ' => 'id_type_document',
'sql' => 'int(11) NOT NULL DEFAULT \'1\'',
'nom' => 'Organisation émettrice',
'champ' => 'id_organisation_emettrice',
'sql' => 'int(11) NOT NULL DEFAULT 0',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
2 =>
array (
'nom' => 'Id organisation',
'champ' => 'id_organisation',
'sql' => 'int(11) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
@ -107,9 +132,14 @@ $data = array (
),
3 =>
array (
'nom' => 'Num facture',
'champ' => 'num_facture',
'sql' => 'varchar(50) NOT NULL',
'nom' => 'Date facture',
'champ' => 'date_facture',
'sql' => 'datetime DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
@ -117,9 +147,14 @@ $data = array (
),
4 =>
array (
'nom' => 'Num devis',
'champ' => 'num_devis',
'sql' => 'varchar(50) DEFAULT NULL',
'nom' => 'Libelle facture',
'champ' => 'libelle_facture',
'sql' => 'mediumtext',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
@ -127,39 +162,69 @@ $data = array (
),
5 =>
array (
'nom' => 'Date facture',
'champ' => 'date_facture',
'sql' => 'datetime DEFAULT NULL',
'nom' => 'Montant global de la facture (calculé)',
'champ' => 'montant',
'sql' => 'decimal(18,2) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
7 =>
6 =>
array (
'nom' => 'Libelle facture',
'champ' => 'libelle_facture',
'sql' => 'mediumtext',
'nom' => 'Quantité globale',
'champ' => 'quantite',
'sql' => 'decimal(18,2) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
8 =>
7 =>
array (
'nom' => 'Conditions',
'nom' => 'Conditions commerciales',
'champ' => 'conditions',
'sql' => 'text NOT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
9 =>
8 =>
array (
'nom' => 'Reglement',
'nom' => 'Mode de règlement',
'champ' => 'reglement',
'sql' => 'varchar(50) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
9 =>
array (
'nom' => 'Nota bene',
'champ' => 'nota_bene',
'sql' => 'mediumtext',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
@ -170,6 +235,10 @@ $data = array (
'nom' => 'Delais validite',
'champ' => 'delais_validite',
'sql' => 'int(11) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
@ -180,43 +249,31 @@ $data = array (
'nom' => 'Fin validite',
'champ' => 'fin_validite',
'sql' => 'datetime DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
13 =>
array (
'nom' => 'Montant',
'champ' => 'montant',
'sql' => 'decimal(18,2) DEFAULT NULL',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
15 =>
array (
'nom' => 'Nb heures vendues',
'champ' => 'nb_heures_vendues',
'sql' => 'decimal(18,2) DEFAULT NULL',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
16 =>
12 =>
array (
'nom' => 'Nota bene',
'champ' => 'nota_bene',
'sql' => 'mediumtext',
'nom' => 'Numéro du devis lié',
'champ' => 'num_devis',
'sql' => 'varchar(50) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
),
),
'champ_titre' => '',
'champ_titre' => 'libelle_facture',
'champ_date' => '',
'statut' => '',
'chaines' =>
@ -242,9 +299,7 @@ $data = array (
'table_liens' => '',
'vue_liens' =>
array (
0 => 'spip_auteurs',
1 => 'spip_contacts',
2 => 'spip_organisations',
0 => 'spip_organisations',
),
'roles' => '',
'auteurs_liens' => '',
@ -262,12 +317,16 @@ $data = array (
0 => 'menu_edition',
1 => 'outils_rapides',
),
'saisies' =>
array (
0 => 'objets',
),
),
1 =>
array (
'nom' => 'Lignes facture',
'nom_singulier' => 'Ligne facture',
'genre' => 'masculin',
'genre' => 'feminin',
'logo_variantes' => 'on',
'table' => 'spip_lignes_factures',
'cle_primaire' => 'id_ligne',
@ -346,7 +405,7 @@ $data = array (
'saisie_options' => '',
),
),
'champ_titre' => '',
'champ_titre' => 'designation',
'champ_date' => '',
'statut' => '',
'chaines' =>
@ -370,6 +429,10 @@ $data = array (
'texte_changer_statut_objet' => 'Ce lignes facture est :',
),
'table_liens' => '',
'vue_liens' =>
array (
0 => 'spip_factures',
),
'roles' => '',
'auteurs_liens' => '',
'vue_auteurs_liens' => '',

2
factures_administrations.php

@ -4,7 +4,7 @@
*
* @plugin Factures & devis
* @copyright 2013
* @author Cyril Marion
* @author Cyril Marion - Ateliers CYM S.A.R.L.
* @licence GNU/GPL
* @package SPIP\Factures\Installation
*/

2
factures_autorisations.php

@ -4,7 +4,7 @@
*
* @plugin Factures & devis
* @copyright 2013
* @author Cyril Marion
* @author Cyril Marion - Ateliers CYM S.A.R.L.
* @licence GNU/GPL
* @package SPIP\Factures\Autorisations
*/

2
factures_pipelines.php

@ -4,7 +4,7 @@
*
* @plugin Factures & devis
* @copyright 2013
* @author Cyril Marion
* @author Cyril Marion - Ateliers CYM S.A.R.L.
* @licence GNU/GPL
* @package SPIP\Factures\Pipelines
*/

2
formulaires/editer_facture.php

@ -4,7 +4,7 @@
*
* @plugin Factures & devis
* @copyright 2013
* @author Cyril Marion
* @author Cyril Marion - Ateliers CYM S.A.R.L.
* @licence GNU/GPL
* @package SPIP\Factures\Formulaires
*/

14
lang/facture_fr.php

@ -18,19 +18,19 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_nb_factures' => '@nb@ factures',
// L
'label_conditions' => 'Conditions',
'label_conditions' => 'Conditions commerciales',
'label_date_facture' => 'Date facture',
'label_delais_validite' => 'Delais validite',
'label_fin_validite' => 'Fin validite',
'label_id_organisation' => 'Id organisation',
'label_id_type_document' => 'Id type document',
'label_id_organisation_emettrice' => 'Organisation émettrice',
'label_libelle_facture' => 'Libelle facture',
'label_montant' => 'Montant',
'label_nb_heures_vendues' => 'Nb heures vendues',
'label_montant' => 'Montant global de la facture (calculé)',
'label_nota_bene' => 'Nota bene',
'label_num_devis' => 'Num devis',
'label_num_facture' => 'Num facture',
'label_reglement' => 'Reglement',
'label_num_devis' => 'Numéro du devis lié',
'label_num_facture' => 'Numéro de la facture',
'label_quantite' => 'Quantité globale',
'label_reglement' => 'Mode de règlement',
// R
'retirer_lien_facture' => 'Retirer ce facture',

2
lang/factures_fr.php

@ -14,7 +14,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cfg_titre_parametrages' => 'Paramétrages',
// T
'titre_page_configurer_factures' => 'Factures & devis',
'titre_page_configurer_factures' => 'Configurer Factures et Devis',
);
?>

8
paquet.xml

@ -1,20 +1,20 @@
<paquet
prefix="factures"
categorie="divers"
version="1.0.1"
etat="dev"
version="1.0.2"
etat="experimental"
compatibilite="[3.0.7;3.0.*]"
logo=""
documentation=""
schema="1.0.0"
>
<!--
Paquet généré le 2013-04-04 11:22:33
Paquet généré le 2013-04-04 15:39:52
-->
<nom>Factures &amp; devis</nom>
<auteur>Cyril Marion</auteur>
<auteur lien='http://www.cym.fr'>Cyril Marion - Ateliers CYM S.A.R.L.</auteur>
<licence>GNU/GPL</licence>
<necessite nom="saisies" compatibilite="[1.24.0;]" />

52
prive/objets/contenu/facture.html

@ -1,23 +1,18 @@
<BOUCLE_facture(FACTURES){id_facture}>
[<div class="champ contenu_id_organisation[ (#ID_ORGANISATION*|strlen|?{'',vide})]">
<label><:facture:label_id_organisation:> : </label>
<span dir='#LANG_DIR' class='#EDIT{id_organisation} id_organisation'>(#ID_ORGANISATION)</span>
</div>]
[<div class="champ contenu_id_type_document[ (#ID_TYPE_DOCUMENT*|strlen|?{'',vide})]">
<label><:facture:label_id_type_document:> : </label>
<span dir='#LANG_DIR' class='#EDIT{id_type_document} id_type_document'>(#ID_TYPE_DOCUMENT)</span>
</div>]
[<div class="champ contenu_num_facture[ (#NUM_FACTURE*|strlen|?{'',vide})]">
<label><:facture:label_num_facture:> : </label>
<span dir='#LANG_DIR' class='#EDIT{num_facture} num_facture'>(#NUM_FACTURE)</span>
</div>]
[<div class="champ contenu_num_devis[ (#NUM_DEVIS*|strlen|?{'',vide})]">
<label><:facture:label_num_devis:> : </label>
<span dir='#LANG_DIR' class='#EDIT{num_devis} num_devis'>(#NUM_DEVIS)</span>
[<div class="champ contenu_id_organisation_emettrice[ (#ID_ORGANISATION_EMETTRICE*|strlen|?{'',vide})]">
<label><:facture:label_id_organisation_emettrice:> : </label>
<span dir='#LANG_DIR' class='#EDIT{id_organisation_emettrice} id_organisation_emettrice'>(#ID_ORGANISATION_EMETTRICE)</span>
</div>]
[<div class="champ contenu_id_organisation[ (#ID_ORGANISATION*|strlen|?{'',vide})]">
<label><:facture:label_id_organisation:> : </label>
<span dir='#LANG_DIR' class='#EDIT{id_organisation} id_organisation'>(#ID_ORGANISATION)</span>
</div>]
[<div class="champ contenu_date_facture[ (#DATE_FACTURE*|strlen|?{'',vide})]">
@ -30,6 +25,16 @@
<span dir='#LANG_DIR' class='#EDIT{libelle_facture} libelle_facture'>(#LIBELLE_FACTURE)</span>
</div>]
[<div class="champ contenu_montant[ (#MONTANT*|strlen|?{'',vide})]">
<label><:facture:label_montant:> : </label>
<span dir='#LANG_DIR' class='#EDIT{montant} montant'>(#MONTANT)</span>
</div>]
[<div class="champ contenu_quantite[ (#QUANTITE*|strlen|?{'',vide})]">
<label><:facture:label_quantite:> : </label>
<span dir='#LANG_DIR' class='#EDIT{quantite} quantite'>(#QUANTITE)</span>
</div>]
[<div class="champ contenu_conditions[ (#CONDITIONS*|strlen|?{'',vide})]">
<label><:facture:label_conditions:> : </label>
<span dir='#LANG_DIR' class='#EDIT{conditions} conditions'>(#CONDITIONS)</span>
@ -40,6 +45,11 @@
<span dir='#LANG_DIR' class='#EDIT{reglement} reglement'>(#REGLEMENT)</span>
</div>]
[<div class="champ contenu_nota_bene[ (#NOTA_BENE*|strlen|?{'',vide})]">
<label><:facture:label_nota_bene:> : </label>
<span dir='#LANG_DIR' class='#EDIT{nota_bene} nota_bene'>(#NOTA_BENE)</span>
</div>]
[<div class="champ contenu_delais_validite[ (#DELAIS_VALIDITE*|strlen|?{'',vide})]">
<label><:facture:label_delais_validite:> : </label>
<span dir='#LANG_DIR' class='#EDIT{delais_validite} delais_validite'>(#DELAIS_VALIDITE)</span>
@ -50,19 +60,9 @@
<span dir='#LANG_DIR' class='#EDIT{fin_validite} fin_validite'>(#FIN_VALIDITE)</span>
</div>]
[<div class="champ contenu_montant[ (#MONTANT*|strlen|?{'',vide})]">
<label><:facture:label_montant:> : </label>
<span dir='#LANG_DIR' class='#EDIT{montant} montant'>(#MONTANT)</span>
</div>]
[<div class="champ contenu_nb_heures_vendues[ (#NB_HEURES_VENDUES*|strlen|?{'',vide})]">
<label><:facture:label_nb_heures_vendues:> : </label>
<span dir='#LANG_DIR' class='#EDIT{nb_heures_vendues} nb_heures_vendues'>(#NB_HEURES_VENDUES)</span>
</div>]
[<div class="champ contenu_nota_bene[ (#NOTA_BENE*|strlen|?{'',vide})]">
<label><:facture:label_nota_bene:> : </label>
<span dir='#LANG_DIR' class='#EDIT{nota_bene} nota_bene'>(#NOTA_BENE)</span>
[<div class="champ contenu_num_devis[ (#NUM_DEVIS*|strlen|?{'',vide})]">
<label><:facture:label_num_devis:> : </label>
<span dir='#LANG_DIR' class='#EDIT{num_devis} num_devis'>(#NUM_DEVIS)</span>
</div>]
</BOUCLE_facture>

7
prive/objets/liste/factures.html

@ -1,4 +1,5 @@
[(#SET{defaut_tri,#ARRAY{
libelle_facture,1,
id_facture,1,
points,-1
}})]<B_liste_factures>
@ -9,15 +10,15 @@
<thead>
<tr class='first_row'>
<th class='picto' scope='col'></th>
<th class='' scope='col'>[(#TRI{,<:facture:label_:>,ajax})]</th>
<th class='libelle_facture' scope='col'>[(#TRI{libelle_facture,<:facture:label_libelle_facture:>,ajax})]</th>
<th class='id' scope='col'>[(#TRI{id_facture,<:info_numero_abbreviation:>,ajax})]</th>
</tr>
</thead>
<tbody>
<BOUCLE_liste_factures(FACTURES){id_organisation?}{id_type_document?}{id_mot?}{id_auteur?}{where?}{recherche?}{tri #ENV{par,num },#GET{defaut_tri}}{par }{pagination #ENV{nb,10}}>
<BOUCLE_liste_factures(FACTURES){id_organisation_emettrice?}{id_organisation?}{id_mot?}{id_auteur?}{where?}{recherche?}{tri #ENV{par,num libelle_facture},#GET{defaut_tri}}{par libelle_facture}{pagination #ENV{nb,10}}>
<tr class='[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]'>
<td class='picto'>[(#CHEMIN_IMAGE{facture-16.png}|balise_img)]</td>
<td class=' principale'>[(#LOGO_FACTURE|image_reduire{20,26})]<a href="[(#ID_FACTURE|generer_url_entite{facture})]" title="<:info_numero_abbreviation|attribut_html:> #ID_FACTURE">[(#RANG). ]#</a></td>
<td class='libelle_facture principale'>[(#LOGO_FACTURE|image_reduire{20,26})]<a href="[(#ID_FACTURE|generer_url_entite{facture})]" title="<:info_numero_abbreviation|attribut_html:> #ID_FACTURE">[(#RANG). ]#LIBELLE_FACTURE</a></td>
<td class='id'>[(#AUTORISER{modifier,facture,#ID_FACTURE}|?{
<a href="[(#URL_ECRIRE{facture_edit,id_facture=#ID_FACTURE})]">#ID_FACTURE</a>,
#ID_FACTURE

18
prive/objets/liste/factures_associer.html

@ -1,5 +1,5 @@
[(#SET{defaut_tri,#ARRAY{
multi id_organisation,1,
multi libelle_facture,1,
id_facture,1
}})
]
@ -9,7 +9,7 @@
[(#REM) En cas de pagination indirecte @32, il faut refaire le set car la boucle
a mis a jour la valeur avec la page reelle]
#SET{debut,#ENV{debutfaca,#EVAL{_request("debutfaca");}}}
#SET{afficher_lettres,#TRI|=={'multi id_organisation'}|oui}
#SET{afficher_lettres,#TRI|=={'multi libelle_facture'}|oui}
#ANCRE_PAGINATION
<div class="liste-objets liste-objets-associer factures">
<table class='spip liste'>
@ -24,10 +24,10 @@ a mis a jour la valeur avec la page reelle]
<thead>
#SET{p,''}
<BOUCLE_lettre(FACTURES){tout}{!id_facture IN #GET{exclus}}{where?}{recherche?}
{tri #ENV{par,multi id_organisation},#GET{defaut_tri}}{id_facture==#GET{afficher_lettres}|?{'.*','A'}}>[
(#ID_ORGANISATION**|extraire_multi|initiale|unique|oui)
{tri #ENV{par,multi libelle_facture},#GET{defaut_tri}}{id_facture==#GET{afficher_lettres}|?{'.*','A'}}>[
(#LIBELLE_FACTURE**|extraire_multi|initiale|unique|oui)
[(#SET{p,#GET{p}|concat{
#SELF|parametre_url{debutfaca,@#ID_FACTURE}|ancre_url{paginationfaca}|afficher_initiale{#ID_ORGANISATION**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
#SELF|parametre_url{debutfaca,@#ID_FACTURE}|ancre_url{paginationfaca}|afficher_initiale{#LIBELLE_FACTURE**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
}})]
]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
(#SET{p,
@ -38,15 +38,15 @@ a mis a jour la valeur avec la page reelle]
[<tr><td colspan="3"><p class='pagination'>(#GET{p})</p></td></tr>]
<tr class='first_row'>
<th class='id_organisation' scope='col'>[(#TRI{multi id_organisation,<:facture:label_id_organisation:>,ajax})]</th>
<th class='libelle_facture' scope='col'>[(#TRI{multi libelle_facture,<:facture:label_libelle_facture:>,ajax})]</th>
<th class='action' scope='col'></th>
</tr>
</thead>
<tbody>
<BOUCLE_liste_factures(FACTURES){!id_facture IN #GET{exclus}}{where?}{recherche?}
{tri #ENV{par,multi id_organisation},#GET{defaut_tri}}{pagination #ENV{nb,10} faca}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#ID_ORGANISATION**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)]">
<td class='id_organisation'>[(#LOGO_FACTURE|image_reduire{20,20})]<a href="[(#ID_FACTURE|generer_url_entite{facture})]">#ID_ORGANISATION</a></td>
{tri #ENV{par,multi libelle_facture},#GET{defaut_tri}}{pagination #ENV{nb,10} faca}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#LIBELLE_FACTURE**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)]">
<td class='libelle_facture'>[(#LOGO_FACTURE|image_reduire{20,20})]<a href="[(#ID_FACTURE|generer_url_entite{facture})]">#LIBELLE_FACTURE</a></td>
<td class='action'>
<button class="button link add" name="ajouter_lien\[facture-#ID_FACTURE-#OBJET-#ID_OBJET\]" value="+"><:facture:ajouter_lien_facture:> [(#CHEMIN_IMAGE{ajouter-12.png}|balise_img{'+'})]</button>
</td>

2
prive/objets/liste/factures_associer_fonctions.php

@ -4,7 +4,7 @@
*
* @plugin Factures &amp; devis
* @copyright 2013
* @author Cyril Marion
* @author Cyril Marion - Ateliers CYM S.A.R.L.
* @licence GNU/GPL
* @package SPIP\Factures\Fonctions
*/

18
prive/objets/liste/factures_lies.html

@ -1,5 +1,5 @@
[(#SET{defaut_tri,#ARRAY{
multi id_organisation,1,
multi libelle_facture,1,
id_facture,1
}})
]
@ -9,7 +9,7 @@
[(#REM) En cas de pagination indirecte @32, il faut refaire le set car la boucle
a mis a jour la valeur avec la page reelle]
#SET{debut,#ENV{debutfacl,#EVAL{_request("debutfacl");}}}
#SET{afficher_lettres,#TRI|=={'multi id_organisation'}|oui}
#SET{afficher_lettres,#TRI|=={'multi libelle_facture'}|oui}
#ANCRE_PAGINATION
<div class="liste-objets liste-objets-lies factures">
<table class='spip liste'>
@ -17,10 +17,10 @@ a mis a jour la valeur avec la page reelle]
<thead>
#SET{p,''}
<BOUCLE_lettre(FACTURES){tout}{id_facture IN #GET{selection}}{where?}
{tri #ENV{par,multi id_organisation},#GET{defaut_tri}}{id_facture==#GET{afficher_lettres}|?{'.*','A'}}>[
(#ID_ORGANISATION**|extraire_multi|initiale|unique|oui)
{tri #ENV{par,multi libelle_facture},#GET{defaut_tri}}{id_facture==#GET{afficher_lettres}|?{'.*','A'}}>[
(#LIBELLE_FACTURE**|extraire_multi|initiale|unique|oui)
[(#SET{p,#GET{p}|concat{
#SELF|parametre_url{debutfacl,@#ID_FACTURE}|ancre_url{paginationfacl}|afficher_initiale{#ID_ORGANISATION**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
#SELF|parametre_url{debutfacl,@#ID_FACTURE}|ancre_url{paginationfacl}|afficher_initiale{#LIBELLE_FACTURE**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
}})]
]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
(#SET{p,
@ -31,15 +31,15 @@ a mis a jour la valeur avec la page reelle]
[<tr><td colspan="4"><p class='pagination'>(#GET{p})</p></td></tr>]
<tr class='first_row'>
<th class='id_organisation' scope='col'>[(#TRI{multi id_organisation,<:facture:label_id_organisation:>,ajax})]</th>
<th class='libelle_facture' scope='col'>[(#TRI{multi libelle_facture,<:facture:label_libelle_facture:>,ajax})]</th>
<th class='action' scope='col'></th>
</tr>
</thead>
<tbody>
<BOUCLE_liste_factures(FACTURES){id_facture IN #GET{selection}}
{tri #ENV{par,multi id_organisation},#GET{defaut_tri}}{pagination #ENV{nb,10} facl}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#ID_ORGANISATION**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)][(#ID_FACTURE|=={#ENV{id_lien_ajoute}}|oui)append]">
<td class='id_organisation'>[(#LOGO_FACTURE|image_reduire{20,20})]<a href="[(#ID_FACTURE|generer_url_entite{facture})]">#ID_ORGANISATION</a></td>
{tri #ENV{par,multi libelle_facture},#GET{defaut_tri}}{pagination #ENV{nb,10} facl}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#LIBELLE_FACTURE**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)][(#ID_FACTURE|=={#ENV{id_lien_ajoute}}|oui)append]">
<td class='libelle_facture'>[(#LOGO_FACTURE|image_reduire{20,20})]<a href="[(#ID_FACTURE|generer_url_entite{facture})]">#LIBELLE_FACTURE</a></td>
<td class='action'>
[(#ENV{editable}|oui)

2
prive/objets/liste/factures_lies_fonctions.php

@ -4,7 +4,7 @@
*
* @plugin Factures &amp; devis
* @copyright 2013
* @author Cyril Marion
* @author Cyril Marion - Ateliers CYM S.A.R.L.
* @licence GNU/GPL
* @package SPIP\Factures\Fonctions
*/

2
prive/squelettes/contenu/facture_edit.html

@ -13,7 +13,7 @@
]
[
[(#ID_FACTURE|?{<:facture:icone_modifier_facture:>,<:facture:icone_creer_facture:>})]
<h1>(#ENV{titre,#INFO_ID_ORGANISATION{facture,#ID_FACTURE}|sinon{<:info_sans_titre:>}})</h1>
<h1>(#ENV{titre,#INFO_LIBELLE_FACTURE{facture,#ID_FACTURE}|sinon{<:info_sans_titre:>}})</h1>
]
</div>

Loading…
Cancel
Save