Browse Source

version 1.05 correction des dates saisies avec le picker

master
cyril@cym.fr 10 years ago
parent
commit
b53087c8cc
  1. 7
      base/factures.php
  2. 145
      fabrique_factures.php
  3. 13
      factures_autorisations.php
  4. 58
      formulaires/editer_facture.html
  5. 17
      formulaires/editer_facture.php
  6. 17
      lang/facture_fr.php
  7. 5
      paquet.xml
  8. 5
      prive/objets/contenu/facture.html

7
base/factures.php

@ -53,6 +53,7 @@ function factures_declarer_tables_objets_sql($tables) {
"libelle_facture" => "mediumtext",
"montant" => "decimal(18,2) DEFAULT NULL",
"quantite" => "decimal(18,2) DEFAULT NULL",
"unite" => "varchar(25) NOT NULL DEFAULT ''",
"conditions" => "text NOT NULL",
"reglement" => "varchar(50) DEFAULT NULL",
"nota_bene" => "mediumtext",
@ -66,9 +67,9 @@ function factures_declarer_tables_objets_sql($tables) {
),
'titre' => "libelle_facture AS titre, '' AS lang",
#'date' => "",
'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_editables' => array('num_facture', 'id_organisation_emettrice', 'id_organisation', 'date_facture', 'libelle_facture', 'montant', 'quantite', 'unite', 'conditions', 'reglement', 'nota_bene', 'delais_validite', 'fin_validite', 'num_devis'),
'champs_versionnes' => array(),
'rechercher_champs' => array("num_facture" => 10),
'rechercher_champs' => array("num_facture" => 10, "libelle_facture" => 10),
'tables_jointures' => array(),
@ -94,7 +95,7 @@ function factures_declarer_tables_objets_sql($tables) {
),
'titre' => "designation AS titre, '' AS lang",
#'date' => "",
'champs_editables' => array(),
'champs_editables' => array('id_facture', 'position', 'quantite', 'unite', 'designation', 'commentaire'),
'champs_versionnes' => array(),
'rechercher_champs' => array(),
'tables_jointures' => array(),

145
fabrique_factures.php

@ -2,7 +2,7 @@
/**
* Fichier généré par la Fabrique de plugin v5
* le 2013-04-04 15:39:52
* le 2013-04-04 16:57:27
*
* Ce fichier de sauvegarde peut servir à recréer
* votre plugin avec le plugin «Fabrique» qui a servi à le créer.
@ -30,7 +30,7 @@ $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.2',
'version' => '1.0.5',
'auteur' => 'Cyril Marion - Ateliers CYM S.A.R.L.',
'auteur_lien' => 'http://www.cym.fr',
'licence' => 'GNU/GPL',
@ -96,8 +96,8 @@ $data = array (
1 => 'obligatoire',
),
'recherche' => '10',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Corrigez l\'identifiant de la facture ou corriges celui proposé par défaut',
'saisie_options' => '',
),
1 =>
@ -111,8 +111,8 @@ $data = array (
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Sélectionnez l\'organisation émettrice de la facture ou du devis',
'saisie_options' => '',
),
2 =>
@ -126,8 +126,8 @@ $data = array (
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'organisations',
'explication' => 'Saisissez l\'organisation destinataire du devis ou de la facture',
'saisie_options' => '',
),
3 =>
@ -141,8 +141,8 @@ $data = array (
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'date',
'explication' => 'Saisissez la date de facture ou corrigez celle proposée par défaut',
'saisie_options' => '',
),
4 =>
@ -155,9 +155,9 @@ $data = array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'recherche' => '10',
'saisie' => 'input',
'explication' => 'Saisissez un libellé explicite pour la facture ou le devis',
'saisie_options' => '',
),
5 =>
@ -170,9 +170,9 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
'saisie' => 'input',
'explication' => 'Indiquez le montant total de la facture ou corrigez celui calculé par SPIP à partir des lignes de factures',
'saisie_options' => 'type=number,attributs=\'step=0.01\'',
),
6 =>
array (
@ -184,11 +184,25 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
'saisie' => 'input',
'explication' => 'Indiquez une quantité globale relative à cette facture ou ce devis (en général un nombre d\'heures ou de jours)',
'saisie_options' => 'type=number',
),
7 =>
array (
'nom' => 'Unité vendue',
'champ' => 'unite',
'sql' => 'varchar(25) NOT NULL DEFAULT \'\'',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => 'input',
'explication' => 'Indiquez une unité relative à cette facture ou ce devis (en général des heures ou des jours)',
'saisie_options' => '',
),
8 =>
array (
'nom' => 'Conditions commerciales',
'champ' => 'conditions',
@ -198,11 +212,11 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Indiquez les conditions de règlement proposées pour cette facture ou ce devis',
'saisie_options' => '',
),
8 =>
9 =>
array (
'nom' => 'Mode de règlement',
'champ' => 'reglement',
@ -212,11 +226,11 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Indiquez un mode de règlement pour cette facture ou ce devis',
'saisie_options' => '',
),
9 =>
10 =>
array (
'nom' => 'Nota bene',
'champ' => 'nota_bene',
@ -226,11 +240,11 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'textarea',
'explication' => 'Indiquez un nota-bene qui apparaitra à la fin de la facture ou du devis (équivalent des "mentions manuscrites")',
'saisie_options' => '',
),
10 =>
11 =>
array (
'nom' => 'Delais validite',
'champ' => 'delais_validite',
@ -240,11 +254,11 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Indiquez un nombre de jours de validité pour le devis ou la facture',
'saisie_options' => '',
),
11 =>
12 =>
array (
'nom' => 'Fin validite',
'champ' => 'fin_validite',
@ -254,11 +268,11 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'date',
'explication' => 'Indiquez une date de fin de validité pour cette facture ou ce devis',
'saisie_options' => '',
),
12 =>
13 =>
array (
'nom' => 'Numéro du devis lié',
'champ' => 'num_devis',
@ -268,8 +282,8 @@ $data = array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Indiquez une référence à un devis précédent (le cas échéant)',
'saisie_options' => '',
),
),
@ -339,8 +353,13 @@ $data = array (
'nom' => 'Id facture',
'champ' => 'id_facture',
'sql' => 'int(11) NOT NULL DEFAULT \'0\'',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'saisie' => 'facture',
'explication' => '',
'saisie_options' => '',
),
@ -349,9 +368,13 @@ $data = array (
'nom' => 'Position',
'champ' => 'position',
'sql' => 'int(11) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Saisir la position de la ligne dans la facture ou le devis',
'saisie_options' => '',
),
2 =>
@ -359,9 +382,14 @@ $data = array (
'nom' => 'Quantité',
'champ' => 'quantite',
'sql' => 'float DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Veuillez indiquer la quandité vendue ou proposée',
'saisie_options' => '',
),
3 =>
@ -369,9 +397,14 @@ $data = array (
'nom' => 'Unité',
'champ' => 'unite',
'sql' => 'varchar(50) DEFAULT NULL',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'input',
'explication' => 'Veuillez indiquer l\'unité vendue ou proposée',
'saisie_options' => '',
),
4 =>
@ -379,9 +412,14 @@ $data = array (
'nom' => 'Désignation',
'champ' => 'designation',
'sql' => 'text',
'caracteristiques' =>
array (
0 => 'editable',
1 => 'obligatoire',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'textarea',
'explication' => 'Écrivez une description de l\'élément vendu ou proposé',
'saisie_options' => '',
),
5 =>
@ -390,18 +428,22 @@ $data = array (
'champ' => 'prix_unitaire_ht',
'sql' => 'decimal(18,2) DEFAULT NULL',
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie_options' => '',
'saisie' => 'input',
'explication' => 'Indiquez le prix unitaire hors taxes de l\'élément vendu ou proposé',
'saisie_options' => 'type=number,attributs=\'step=0.01\'',
),
6 =>
array (
'nom' => 'Commentaire',
'champ' => 'commentaire',
'sql' => 'mediumtext',
'caracteristiques' =>
array (
0 => 'editable',
),
'recherche' => '',
'saisie' => '',
'explication' => '',
'saisie' => 'textarea',
'explication' => 'Saisissez un commentaire le cas échéant',
'saisie_options' => '',
),
),
@ -446,8 +488,7 @@ $data = array (
),
'boutons' =>
array (
0 => 'menu_edition',
1 => 'outils_rapides',
0 => 'outils_rapides',
),
),
),

13
factures_autorisations.php

@ -112,19 +112,6 @@ 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;
}
/**

58
formulaires/editer_facture.html

@ -8,6 +8,64 @@
<input type='hidden' name='id_facture' value='#ENV{id_facture}' />
<ul>
[(#SAISIE{input, num_facture, obligatoire=oui,
label=<:facture:label_num_facture:>,
explication=<:facture:explication_num_facture:> })]
[(#SAISIE{input, id_organisation_emettrice, obligatoire=oui,
label=<:facture:label_id_organisation_emettrice:>,
explication=<:facture:explication_id_organisation_emettrice:> })]
[(#SAISIE{organisations, id_organisation, obligatoire=oui,
label=<:facture:label_id_organisation:>,
explication=<:facture:explication_id_organisation:> })]
[(#SAISIE{date, date_facture, obligatoire=oui,
label=<:facture:label_date_facture:>,
explication=<:facture:explication_date_facture:> })]
[(#SAISIE{input, libelle_facture, obligatoire=oui,
label=<:facture:label_libelle_facture:>,
explication=<:facture:explication_libelle_facture:> })]
[(#SAISIE{input, montant,
label=<:facture:label_montant:>,
explication=<:facture:explication_montant:> ,
type=number,attributs='step=0.01'})]
[(#SAISIE{input, quantite,
label=<:facture:label_quantite:>,
explication=<:facture:explication_quantite:> ,
type=number})]
[(#SAISIE{input, unite,
label=<:facture:label_unite:>,
explication=<:facture:explication_unite:> })]
[(#SAISIE{input, conditions,
label=<:facture:label_conditions:>,
explication=<:facture:explication_conditions:> })]
[(#SAISIE{input, reglement,
label=<:facture:label_reglement:>,
explication=<:facture:explication_reglement:> })]
[(#SAISIE{textarea, nota_bene,
label=<:facture:label_nota_bene:>,
explication=<:facture:explication_nota_bene:> })]
[(#SAISIE{input, delais_validite,
label=<:facture:label_delais_validite:>,
explication=<:facture:explication_delais_validite:> })]
[(#SAISIE{date, fin_validite,
label=<:facture:label_fin_validite:>,
explication=<:facture:explication_fin_validite:> })]
[(#SAISIE{input, num_devis,
label=<:facture:label_num_devis:>,
explication=<:facture:explication_num_devis:> })]
</ul>
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
<!--extra-->

17
formulaires/editer_facture.php

@ -95,7 +95,22 @@ function formulaires_editer_facture_charger_dist($id_facture='new', $retour='',
* Tableau des erreurs
*/
function formulaires_editer_facture_verifier_dist($id_facture='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
return formulaires_editer_objet_verifier('facture',$id_facture);
$erreurs = formulaires_editer_objet_verifier('facture',$id_facture);
// verifier et changer en datetime sql la date envoyee
$verifier = charger_fonction('verifier', 'inc');
$dates = array('date_facture','fin_validite');
foreach($dates AS $champ) {
$normaliser = null;
if ($erreur = $verifier(_request($champ), 'date', array('normaliser'=>'datetime'), $normaliser)) {
$erreurs[$champ] = $erreur;
// si une valeur de normalisation a ete transmis, la prendre.
} elseif (!is_null($normaliser)) {
set_request($champ, $normaliser);
}
}
return $erreurs;
}
/**

17
lang/facture_fr.php

@ -9,6 +9,22 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// A
'ajouter_lien_facture' => 'Ajouter ce facture',
// E
'explication_conditions' => 'Indiquez les conditions de règlement proposées pour cette facture ou ce devis',
'explication_date_facture' => 'Saisissez la date de facture ou corrigez celle proposée par défaut',
'explication_delais_validite' => 'Indiquez un nombre de jours de validité pour le devis ou la facture',
'explication_fin_validite' => 'Indiquez une date de fin de validité pour cette facture ou ce devis',
'explication_id_organisation' => 'Saisissez l\'organisation destinataire du devis ou de la facture',
'explication_id_organisation_emettrice' => 'Sélectionnez l\'organisation émettrice de la facture ou du devis',
'explication_libelle_facture' => 'Saisissez un libellé explicite pour la facture ou le devis',
'explication_montant' => 'Indiquez le montant total de la facture ou corrigez celui calculé par SPIP à partir des lignes de factures',
'explication_nota_bene' => 'Indiquez un nota-bene qui apparaitra à la fin de la facture ou du devis (équivalent des \"mentions manuscrites\")',
'explication_num_devis' => 'Indiquez une référence à un devis précédent (le cas échéant)',
'explication_num_facture' => 'Corrigez l\'identifiant de la facture ou corriges celui proposé par défaut',
'explication_quantite' => 'Indiquez une quantité globale relative à cette facture ou ce devis (en général un nombre d\'heures ou de jours)',
'explication_reglement' => 'Indiquez un mode de règlement pour cette facture ou ce devis',
'explication_unite' => 'Indiquez une unité relative à cette facture ou ce devis (en général des heures ou des jours)',
// I
'icone_creer_facture' => 'Créer un facture',
'icone_modifier_facture' => 'Modifier ce facture',
@ -31,6 +47,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_num_facture' => 'Numéro de la facture',
'label_quantite' => 'Quantité globale',
'label_reglement' => 'Mode de règlement',
'label_unite' => 'Unité vendue',
// R
'retirer_lien_facture' => 'Retirer ce facture',

5
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="factures"
categorie="divers"
version="1.0.2"
version="1.0.5"
etat="experimental"
compatibilite="[3.0.7;3.0.*]"
logo=""
@ -9,7 +9,7 @@
schema="1.0.0"
>
<!--
Paquet généré le 2013-04-04 15:39:52
Paquet généré le 2013-04-04 16:57:27
-->
<nom>Factures &amp; devis</nom>
@ -26,6 +26,5 @@
<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>

5
prive/objets/contenu/facture.html

@ -35,6 +35,11 @@
<span dir='#LANG_DIR' class='#EDIT{quantite} quantite'>(#QUANTITE)</span>
</div>]
[<div class="champ contenu_unite[ (#UNITE*|strlen|?{'',vide})]">
<label><:facture:label_unite:> : </label>
<span dir='#LANG_DIR' class='#EDIT{unite} unite'>(#UNITE)</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>

Loading…
Cancel
Save