Browse Source

chores: Retirer la gestion non réglementaire des factures du plugin commandes

Refs: #1
pull/18/head
Cerdic 4 weeks ago
parent
commit
3e28883d91
  1. 19
      commandes_autorisations.php
  2. 14
      commandes_fonctions.php
  3. 20
      css/factures.css.html
  4. 8
      facture.html
  5. 61
      inclure/facture-a.html
  6. 4
      inclure/facture-conditions.html
  7. 22
      inclure/facture-de.html
  8. 57
      inclure/facture-details.html
  9. 5
      inclure/facture-entete.html
  10. 10
      inclure/facture-identifiant.html
  11. 4
      inclure/facture-pied.html
  12. 3
      inclure/facture-reglements.html
  13. 33
      inclure/facture.html
  14. 7
      lang/commandes_fr.php

19
commandes_autorisations.php

@ -155,25 +155,6 @@ function autoriser_commande_dater_dist($faire, $type, $id, $qui, $opts) {
return autoriser('modifier', 'commande', $id, $qui, $opts);
}
/**
* Autorisation à voir la facture liée à une commande
*
* Celleux qui peuvent voir la commande + que l'URL ne soit pas vide
*
* @param string $faire Action demandée
* @param string $type Type d'objet sur lequel appliquer l'action
* @param int $id Identifiant de la commande
* @param array $qui Description de l'auteur demandant l'autorisation
* @param array $opts Options de cette autorisation
* @return bool true s'il a le droit, false sinon
**/
function autoriser_commande_voir_facture_dist($faire, $type, $id, $qui, $opts) {
include_spip('inc/filtres');
$url_facture = filtrer('generer_url_commande_facture', $id);
return autoriser('voir', 'commande', $id, $qui, $opts) and !empty($url_facture);
}
/**
* Autorisation à modifier un détail de commande

14
commandes_fonctions.php

@ -76,20 +76,6 @@ function commandes_id_premier_webmestre() {
}
/**
* Générer l'URL correspondant à la facture d'une commande
*
* @param int $id_commande
* Identifiant de la commande
* @return string
* Retourne l'URL d'une page contenant la facture, ou rien si on n'en veut pas
*/
function filtre_generer_url_commande_facture_dist($id_commande) {
return generer_url_public('facture', 'id_commande=' . intval($id_commande));
}
/**
* Une fonction pour memoriser les taxes par taux et retourner le tableau de detail en recap
* @param null|float $prix_ht

20
css/factures.css.html

@ -1,20 +0,0 @@
.page_facture #entete {display:block;border:none;margin-bottom:1.5em;}
.page_facture #entete .spip_logos{margin:0; float:none;}
.page_facture #contenu {width:100%; float:none;}
.page_facture #pied {display:block;margin-top:3em; border:none;}
.page_facture #de {margin-top:1.5em; width:40%; float:left;}
.page_facture #de p {margin:0;}
.page_facture #a {margin-top:1.5em; width:40%; float:right;}
.page_facture #a p {margin:0;}
.page_facture #details {margin-top:1.5em; clear:both;}
.page_facture #details table {width:100%; font-size:90%;}
.page_facture #details table th,
.page_facture #details table td {padding:3px .5em; text-align:left;}
.page_facture #details thead tr {background:#ddd;}
.page_facture #details tbody tr td {border-bottom:1px solid #ddd;}
.page_facture #details tfoot tr:first-child td {padding-top:.5em;}
.page_facture #details tfoot td.def {border-right:1px solid #ddd; text-align:right;}
.page_facture #details tfoot .total td {font-weight:bold;}

8
facture.html

@ -1,8 +0,0 @@
[(#ENV{id_commande}|oui)
[(#AUTORISER{voir_facture,commande,#ID_COMMANDE}|sinon_interdire_acces)]
#INCLURE{fond=inclure/facture,env}
]
[(#ENV{id_facture}|oui)
#INCLURE{fond=#EVAL{_DIR_PLUGIN_FACTURES}/facture,env}
]

61
inclure/facture-a.html

@ -1,61 +0,0 @@
[(#REM)
Tous les details du destinataire de la facture
Nom de l'orga, contact, adresse...
]
<BOUCLE_commande(COMMANDES){id_commande}{tout}>
<BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
[(#REM) Contact ou Orga ou Utilisateur ]
<BOUCLE_contact(CONTACTS?){id_auteur}>
<h4>#NOM #PRENOM</h4> #SET{id_contact,#ID_CONTACT}
</BOUCLE_contact>
<BOUCLE_orga(ORGANISATIONS?){id_auteur}>
<h4>#NOM</h4> #SET{id_organisation,#ID_ORGANISATION}
</BOUCLE_orga>
<h4>#NOM</h4>
<//B_orga>
<//B_contact>
[(#REM) On cherche en priorité des adresses pour la commande, sinon contact, sinon orga, sinon utilisateur ]
<BOUCLE_adresses_comande(ADRESSES adresses_liens?){id_commande}>
[(#TYPE|=={facturation}|oui)<h5><:commandes:type_adresse_facturation:></h5>]
[(#TYPE|=={livraison}|oui)<h5><:commandes:type_adresse_livraison:></h5>]
<p class="adresse">
[(#VOIE)<br />]
[(#CODE_POSTAL) ][ (#VILLE)]<br />
<BOUCLE_pays(PAYS?){code=#PAYS*}>#NOM</BOUCLE_pays>
</p>
</BOUCLE_adresses_comande>
<BOUCLE_adresse_contact(ADRESSES?){id_contact=#GET{id_contact}}{0,1}>
<p class="adresse">
[(#VOIE)<br />]
[(#CODE_POSTAL) ][ (#VILLE)]<br />
<BOUCLE_pays_contact(PAYS?){code=#PAYS*}>#NOM</BOUCLE_pays_contact>
</p>
</BOUCLE_adresse_contact>
<BOUCLE_adresse_orga(ADRESSES?){id_organisation=#GET{id_organisation}}{0,1}>
<p class="adresse">
[(#VOIE)<br />]
[(#CODE_POSTAL) ][ (#VILLE)]<br />
<BOUCLE_pays_orga(PAYS?){code=#PAYS*}>#NOM</BOUCLE_pays_orga>
</p>
</BOUCLE_adresse_orga>
<BOUCLE_adresse_auteur(ADRESSES?){id_auteur}{0,1}>
<p class="adresse">
[(#VOIE)<br />]
[(#CODE_POSTAL) ][ (#VILLE)]<br />
<BOUCLE_pays_auteur(PAYS?){code=#PAYS*}>#NOM</BOUCLE_pays_auteur>
</p>
</BOUCLE_adresse_auteur>
<//B_adresse_orga>
<//B_adresse_contact>
<//B_adresses_comande>
<B_telephones>
<p class="telephone">
<BOUCLE_telephones(NUMEROS numeros_liens?){id_auteur}{'<br />'}>
<strong>Tel</strong> #NUMERO
</BOUCLE_telephones>
</p>
</B_telephones>
</BOUCLE_auteur>
</BOUCLE_commande>

4
inclure/facture-conditions.html

@ -1,4 +0,0 @@
[(#REM)
Conditions de règlement
Nota bene
]

22
inclure/facture-de.html

@ -1,22 +0,0 @@
[(#REM)
Tous les details de qui emet la facture
Nom de l'orga, siret, tva...
TODO : Ce serait bien qu'un des plugins du framework ait ça en base !
]
<h4>Votre nom</h4>
<p class="adresse">
Adresse complete<br />
de la structure<br />
XXXXX VILLE
</p>
<p class="telephone">
01 23 45 67 89<br />
06 23 56 78 89
</p>
<p class="legal">
Siret: 33 100000000000<br />
TVA: 33 100000000000
</p>

57
inclure/facture-details.html

@ -1,57 +0,0 @@
[(#REM)
Détails de la commande :
- listing des postes avec prix
- totaux
]
<BOUCLE_commande(COMMANDES){id_commande}>
<B_liste>
<table>
<thead>
<tr>
<th class="descriptif"><:commandes:designation:></th>
<th class="prix_ht"><:prix:label_prix_ht:></th>
</tr>
</thead>
<tbody>
<BOUCLE_liste(COMMANDES_DETAILS){id_commande}{par id_commandes_detail}>
<tr>
<td class="descriptif">[(#QUANTITE|>{1}|oui)<strong>#QUANTITE &times; </strong>][(#DESCRIPTIF*|typo|supprimer_numero)]</td>
<td class="prix_ht">[(#PRIX_HT)]</td>
</tr>
</BOUCLE_liste>
</tbody>
<tfoot>
<tr>
<td class="def"><:prix:label_total_ht:></td>
<td class="prix">[(#_commande:PRIX_HT)]</td>
</tr>
<tr>
<td class="def"><:prix:label_taxes:></td>
<td class="prix">[(#_commande:PRIX*|moins{#_commande:PRIX_HT*}|prix_formater)]</td>
</tr>
<tr class="total">
<td class="def"><:prix:label_total_ttc:></td>
<td class="prix">[(#_commande:PRIX)]</td>
</tr>
</tfoot>
</table>
</B_liste>
[(#REM) Si pas de details]
<table>
<tr>
<td class="def"><:prix:label_total_ht:></td>
<td class="prix">[(#PRIX_HT)]</td>
</tr>
<tr>
<td class="def"><:prix:label_taxes:></td>
<td class="prix">[(#PRIX*|moins{#PRIX_HT*}|prix_formater)]</td>
</tr>
<tr class="total">
<td class="def"><:prix:label_total_ttc:></td>
<td class="prix">[(#PRIX)]</td>
</tr>
</table>
<//B_liste>
</BOUCLE_commande>

5
inclure/facture-entete.html

@ -1,5 +0,0 @@
[(#REM) En-tete de page ]
[<h1>(#LOGO_SITE_SPIP
|inserer_attribut{alt,#NOM_SITE_SPIP}
|image_reduire{200}
|sinon{#NOM_SITE_SPIP})</h1>]

10
inclure/facture-identifiant.html

@ -1,10 +0,0 @@
[(#REM)
Identification de la facture
- référence,
- date
]
<BOUCLE_id_facture(COMMANDES){id_commande}>
[(#SET{date, [(#DATE|affdate)] })]
<h2><:commandes:facture_num{num=#REFERENCE}:></h2>
<h3><:commandes:facture_date{date=#GET{date}}:></h3>
</BOUCLE_id_facture>

4
inclure/facture-pied.html

@ -1,4 +0,0 @@
[(#REM)
Pied de page
(adresse, logo, siret...)
]

3
inclure/facture-reglements.html

@ -1,3 +0,0 @@
[(#REM)
Échéances des règlements
]

33
inclure/facture.html

@ -1,33 +0,0 @@
<BOUCLE_facture(COMMANDES){id_commande}>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
<head>
<title><:commandes:facture_num{num=#REFERENCE}|attribut_html:> - [(#NOM_SITE_SPIP|textebrut)]</title>
<INCLURE{fond=inclure/head}>
<link rel="stylesheet" href="#PRODUIRE{fond=css/factures.css}" type="text/css" media="all" />
</head>
<body class="page_facture">
<div id="page">
<div id="entete" class="accueil">
[(#INCLURE{fond=inclure/facture-entete, env})]
</div>
<div id="contenu">
<div id="identifiant">[(#INCLURE{fond=inclure/facture-identifiant, env})]</div>
<div id="de">[(#INCLURE{fond=inclure/facture-de, env})]</div>
<div id="a">[(#INCLURE{fond=inclure/facture-a, env})]</div>
<br class="nettoyeur" />
<div id="details">[(#INCLURE{fond=inclure/facture-details, env})]</div>
<div id="conditions">[(#INCLURE{fond=inclure/facture-conditions, env})]</div>
<div id="reglements">[(#INCLURE{fond=inclure/facture-reglements, env})]</div>
<br class="nettoyeur" />
</div><!-- #contenu -->
<div id="pied">
[(#INCLURE{fond=inclure/facture-pied, env})]
</div><!-- #pied -->
</div><!-- #page -->
</body>
</html>
</BOUCLE_facture>

7
lang/commandes_fr.php

@ -13,7 +13,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'abbr_quantite' => 'Qté',
'abbr_total_ht' => 'Total HT',
'abbr_toutes_taxes_comprises' => 'TTC',
'action_facture' => 'Facture',
'action_modifier' => 'Modifier',
'action_supprimer' => 'Supprimer',
'action_supprimer_detail' => 'Supprimer cette ligne',
@ -86,12 +85,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'explications_notifications_statuts' => 'État(s) déclenchant l’envoi d’une notification :',
'explications_notifications_statuts_aucune' => 'Les notifications sont désactivées',
// F
'facture_date' => 'Date : <span>@date@</span>',
'facture_num' => 'Facture n°<span>@num@</span>',
'facture_titre' => 'Facture',
'facture_voir' => 'Voir la facture',
// I
'info_1_commande' => '1 commande',
'info_1_commande_active' => '1 commande active',

Loading…
Cancel
Save