Oui en effet, bien vu.

Le 03/09/2010 21:45, Régis Houssin a écrit :
J'ai commité les modifications, j'ai nommé les templates "card.view.tpl.php", "card" 
désigne la fiche (soc.php) ça permettra de nommer par exemple "info.view.tpl.php" pour une page 
info (info.php)

Qu'en penses tu?

-----------------------------------------
Régis Houssin
Tél. +33633020797
http://www.dolibarr.fr
http://www.dolibox.fr

Le 3 sept. 2010 à 20:53, "Laurent Destailleur (Eldy)"<[email protected]>  a 
écrit :

Oui c'est bien cela sur le principe.
Par contre pour faciliter la compréhension du dev, je verrais toutefois les 
regles de nommage suivante:

Répertoire:   societe/canvas/xxx/

Répertoire:   societe/canvas/xxx/tpl/
xxx.create.tpl.php
xxx.edit.tpl.php
xxx.view.tpl.php

Répertoire:   societe/canvas/xxx/class
xxx.ds.class.php   hérite de l'objet origine comme societe.class.php
xxx.action.class.php   hérite de la classe SocActionsCommon qui est dans le 
fichier htdocs/societe/canvas/class

Rem: "ds" veut dire "datasource" et "action" veut dire "action" et sont des 
termes communéments admis pour parler de Model et Controller.

Et en effet dans soc.php, on aurait,
- en mode canvas non actif, le code actuel
- en mode canvas actif (à définir comment on active, actuellement par un param 
dans l'url mais il vaudrait mieux une constante en base): des simples appels 
aux fonctions de la classe xxx.action.class.php pour les actions et des 
templates pour l'affichage.

Et oui ainsi cela pourrait s'appliquer à tout type de données sans trop de risque de tout casser, 
et si on garde le mode standard tel quel sans trop compliqué le code. Celui qui veut travailler sur 
le core de dolibarr ne sera "géné" que par quelques lignes de codes en plus qui ne sont 
jamais active du fait du test sur if canvas actif, ce qui respecte bien l'adage du "Simple à 
développer" qu'il faut conserver.


Le 03/09/2010 11:14, Régis Houssin a écrit :
afin de coller au MVC voila comment on pourrait voit la chose:

M : Model (accès en base)
V : View (template)
C : Controller (contrôle, traitement des données)

on est d'accord que la classe "societe.class.php" est le "Model" du module 
société et ne doit pas contenir de traitement d'affichage,
dans le cas des canvas, "thirdparty.default.class.php" est le "Model" du canvas 
qui hérite de société
et "edit.tpl.php" est un des affichages (View) du canvas

il nous manque donc un "Controller",
nous pourrions donc définir un canvas de la sorte :

répertoire societe/canvas/default/
"thirdparty.default.class.php" : le "Model" du canvas (hérite de la classe 
Societe)
"card.default.class.php" : le "Controller" de la page "soc.php" spécifique a ce canvas (hérite de 
la classe CardCommon ci-dessous), il sert d'interface entre "soc.php" et le "Model"
"card.edit.tpl.php, card.view.tpl.php, card.create.tpl.php" : les différentes "View" 
(code html) de la page "soc.php"

répertoire societe/canvas/
"card.common.class.php" : le "Controller" de la page "soc.php" commune aux 
canvas

soc.php ne serait là que pour appeler les différents "Controller" et afficher 
le template

ce genre de fonctionnement pourrait s'appliquer à tout type de page (canvas ou 
non)

Vous en pensez quoi ?


Le 02/09/10 23:37, Laurent Destailleur a écrit :
La je viens de faire des modifs qui ont l'air de marcher pour un mode mixte.

Par defaut le champ canvas est null en table.
Quand on appelle une url avec canvas=xxx alors cela utilise le masque du canvas 
xxx et cela stocke en base avec canvas=xxx. Ainsi en modif on utilise aussi le 
canvas=xxx.

Ainsi je pense qu'on a un mode mixte qui permet d'avancer sur l'amélioration du 
code de la fonction canvas. Les 2 modes sont possibles.
Je te laisse tester et voir si j'ai pas trop cassé.


Le 02/09/2010 23:32, Régis Houssin a écrit :
Oui je sais, mais je comptais bien séparer tout ça, je n'ai pas terminé

-----------------------------------------
Régis Houssin
Tél. +33633020797
http://www.dolibarr.fr
http://www.dolibox.fr

Le 2 sept. 2010 à 22:05, "Laurent Destailleur (Eldy)"<[email protected]>   a 
écrit :

Il y a aussi plein de vilaine choses dans le code des canvas.

Ainsi il n'y a plus de séparation MVC et on trouve du code de présentation dans 
les classe metiers comme la fonction
ajax_selectThirdPartyType(), assign_values, assign_values, etc... dans la 
classe métier societe.

Il faudrait sortir tout cela de la classe societe et mettre cela dans le 
template ou la page qui appelle le template.

--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail:[email protected]
Web:http://www.destailleur.fr

Dolibarr (Project leader):http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal:[email protected]
AWStats (Author) :http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal:[email protected]
AWBot (Author) :http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) :http://cvschangelogb.sourceforge.net


_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev

_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev

--
Laurent.
-----------------------------------------
EMail:[email protected]
Web:http://www.destailleur.fr
Messenger MSN:[email protected]
Messenger Jabber: eldy
Tel: 0662724322


_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev

Cordialement,
--
Régis Houssin
---------------------------------------------------------
Cap-Networks
30, Quai de Verdun
71700 Tournus
FRANCE
VoIP: +33 1 83 62 40 03
GSM: +33 6 33 02 07 97
Web:http://www.cap-networks.com/
Email:[email protected]

Dolibarr developer:[email protected]
Web Portal:http://www.dolibarr.fr/
SaaS offers:http://www.dolibox.fr/
Shop:http://www.dolistore.com/
Development platform:http://www.dolibarr.pro/
---------------------------------------------------------


_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev

--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: [email protected]
Web: http://www.destailleur.fr

Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: [email protected]
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: [email protected]
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net


_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: [email protected]
Web: http://www.destailleur.fr

Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: [email protected]
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: [email protected]
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net

_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev

Répondre à