@@ -1,5 +1,41 @@ | |||
<?php | |||
/** | |||
Copyright distrib (2018) | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
namespace common\models; | |||
use common\components\ActiveRecordCommon; | |||
@@ -21,78 +57,76 @@ use Yii; | |||
*/ | |||
class DeliveryNote extends Document | |||
{ | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public static function tableName() | |||
{ | |||
return 'delivery_note'; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function rules() | |||
{ | |||
return [ | |||
[['date'], 'safe'], | |||
[['comment', 'address'], 'string'], | |||
[['id_point_sale', 'id_distribution', 'id_user'], 'integer'], | |||
[['name', 'reference', 'city', 'postcode'], 'string', 'max' => 255], | |||
]; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function attributeLabels() | |||
{ | |||
return [ | |||
'id' => 'ID', | |||
'name' => 'Nom', | |||
'reference' => 'Référence', | |||
'date' => 'Date', | |||
'comment' => 'Commentaire', | |||
'id_point_sale' => 'Point de vente', | |||
'id_distribution' => 'Distribution', | |||
'id_user' => 'Utilisateur', | |||
'address' => 'Adresse', | |||
'city' => 'Ville', | |||
'postcode' => 'Code postale', | |||
]; | |||
} | |||
/* | |||
* Relations | |||
*/ | |||
public function getUser() | |||
{ | |||
return $this->hasOne(User::className(), ['id' => 'id_user']); | |||
} | |||
public function getPointSaleDistribution() | |||
{ | |||
return $this->hasOne(PointSaleDistribution::className(), ['id_point_sale' => 'id_point_sale']) | |||
->andOnCondition(['id_distribution' => 'id_distribution']) ; | |||
} | |||
public function getOrder() | |||
{ | |||
return $this->hasOne(Order::className(), ['id' => 'id_delivery_note']); | |||
} | |||
/** | |||
* Retourne les options de base nécessaires à la fonction de recherche. | |||
* | |||
* @return array | |||
*/ | |||
public static function defaultOptionsSearch() { | |||
return [ | |||
'with' => [], | |||
'join_with' => ['user', 'pointSaleDistribution', 'order'], | |||
'orderby' => 'date ASC', | |||
'attribute_id_producer' => '' | |||
] ; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public static function tableName() | |||
{ | |||
return 'delivery_note'; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function rules() | |||
{ | |||
return [ | |||
[['date'], 'safe'], | |||
[['comment', 'address'], 'string'], | |||
[['id_point_sale', 'id_distribution', 'id_user'], 'integer'], | |||
[['name', 'reference', 'city', 'postcode'], 'string', 'max' => 255], | |||
]; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function attributeLabels() | |||
{ | |||
return [ | |||
'id' => 'ID', | |||
'name' => 'Nom', | |||
'reference' => 'Référence', | |||
'date' => 'Date', | |||
'comment' => 'Commentaire', | |||
'id_point_sale' => 'Point de vente', | |||
'id_distribution' => 'Distribution', | |||
'id_user' => 'Utilisateur', | |||
'address' => 'Adresse', | |||
'city' => 'Ville', | |||
'postcode' => 'Code postale', | |||
]; | |||
} | |||
/* | |||
* Relations | |||
*/ | |||
public function getOrders() | |||
{ | |||
return $this->relationOrders('id_delivery_note') ; | |||
} | |||
public function getPointSaleDistribution() | |||
{ | |||
return $this->hasOne(PointSaleDistribution::className(), ['id_point_sale' => 'id_point_sale']) | |||
->andOnCondition(['id_distribution' => 'id_distribution']); | |||
} | |||
/** | |||
* Retourne les options de base nécessaires à la fonction de recherche. | |||
* | |||
* @return array | |||
*/ | |||
public static function defaultOptionsSearch() | |||
{ | |||
return [ | |||
'with' => [], | |||
'join_with' => ['user', 'pointSaleDistribution', 'order'], | |||
'orderby' => 'date ASC', | |||
'attribute_id_producer' => '' | |||
]; | |||
} | |||
} |
@@ -1,30 +1,83 @@ | |||
<?php | |||
/* | |||
* To change this license header, choose License Headers in Project Properties. | |||
* To change this template file, choose Tools | Templates | |||
* and open the template in the editor. | |||
*/ | |||
/** | |||
Copyright distrib (2018) | |||
namespace common\models ; | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
namespace common\models; | |||
class Document extends ActiveRecordCommon | |||
{ | |||
public function getAmount($type = Order::AMOUNT_TOTAL, $format = false) | |||
/* | |||
* Relations | |||
*/ | |||
public function getUser() | |||
{ | |||
return $this->hasOne(User::className(), ['id' => 'id_user']); | |||
} | |||
public function relationOrders($fieldIdDocument) | |||
{ | |||
$defaultOptionsSearch = Order::defaultOptionsSearch(); | |||
return $this->hasMany(Order::className(), [$fieldIdDocument => 'id']) | |||
->with($defaultOptionsSearch['with']) | |||
->joinWith($defaultOptionsSearch['join_with']); | |||
} | |||
/* | |||
* Méthodes | |||
*/ | |||
public function getAmount($type = Order::AMOUNT_TOTAL, $format = false) | |||
{ | |||
$amount = 0 ; | |||
$ordersArray = $this->orders ; | |||
foreach($ordersArray as $order) { | |||
$order->init() ; | |||
$amount += $order->getAmount($type) ; | |||
$amount = 0; | |||
$ordersArray = $this->orders; | |||
foreach ($ordersArray as $order) { | |||
$order->init(); | |||
$amount += $order->getAmount($type); | |||
} | |||
if ($format) { | |||
return Price::format($amount) ; | |||
} | |||
else { | |||
return Price::format($amount); | |||
} else { | |||
return $amount; | |||
} | |||
} | |||
} | |||
} |
@@ -1,5 +1,41 @@ | |||
<?php | |||
/** | |||
Copyright distrib (2018) | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
namespace common\models; | |||
use common\components\ActiveRecordCommon; | |||
@@ -20,74 +56,68 @@ use Yii; | |||
*/ | |||
class Invoice extends Document | |||
{ | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public static function tableName() | |||
{ | |||
return 'invoice'; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function rules() | |||
{ | |||
return [ | |||
[['date'], 'safe'], | |||
[['comment', 'address'], 'string'], | |||
[['id_user'], 'integer'], | |||
[['name', 'reference', 'city', 'postcode'], 'string', 'max' => 255], | |||
]; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function attributeLabels() | |||
{ | |||
return [ | |||
'id' => 'ID', | |||
'name' => 'Nom', | |||
'reference' => 'Référence', | |||
'date' => 'Date', | |||
'comment' => 'Commentaire', | |||
'id_user' => 'Utilisateur', | |||
'address' => 'Adresse', | |||
'city' => 'Ville', | |||
'postcode' => 'Code postale', | |||
]; | |||
} | |||
/* | |||
* Relations | |||
*/ | |||
public function getUser() | |||
{ | |||
return $this->hasOne(User::className(), ['id' => 'id_user']); | |||
} | |||
public function getOrders() | |||
{ | |||
$defaultOptionsSearch = Order::defaultOptionsSearch() ; | |||
return $this->hasMany(Order::className(), ['id_invoice' => 'id']) | |||
->with($defaultOptionsSearch['with']) | |||
->joinWith($defaultOptionsSearch['join_with']); | |||
} | |||
/** | |||
* Retourne les options de base nécessaires à la fonction de recherche. | |||
* | |||
* @return array | |||
*/ | |||
public static function defaultOptionsSearch() { | |||
return [ | |||
'with' => [], | |||
'join_with' => ['user AS user_invoice','orders'], | |||
'orderby' => 'date ASC', | |||
'attribute_id_producer' => '' | |||
] ; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public static function tableName() | |||
{ | |||
return 'invoice'; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function rules() | |||
{ | |||
return [ | |||
[['date'], 'safe'], | |||
[['comment', 'address'], 'string'], | |||
[['id_user'], 'integer'], | |||
[['name', 'reference', 'city', 'postcode'], 'string', 'max' => 255], | |||
]; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function attributeLabels() | |||
{ | |||
return [ | |||
'id' => 'ID', | |||
'name' => 'Nom', | |||
'reference' => 'Référence', | |||
'date' => 'Date', | |||
'comment' => 'Commentaire', | |||
'id_user' => 'Utilisateur', | |||
'address' => 'Adresse', | |||
'city' => 'Ville', | |||
'postcode' => 'Code postale', | |||
]; | |||
} | |||
/* | |||
* Relations | |||
*/ | |||
public function getOrders() | |||
{ | |||
return $this->relationOrders('id_invoice') ; | |||
} | |||
/** | |||
* Retourne les options de base nécessaires à la fonction de recherche. | |||
* | |||
* @return array | |||
*/ | |||
public static function defaultOptionsSearch() | |||
{ | |||
return [ | |||
'with' => [], | |||
'join_with' => ['user AS user_invoice', 'orders'], | |||
'orderby' => 'date ASC', | |||
'attribute_id_producer' => '' | |||
]; | |||
} | |||
} |
@@ -1,5 +1,41 @@ | |||
<?php | |||
/** | |||
Copyright distrib (2018) | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
namespace common\models; | |||
use Yii; | |||
@@ -19,70 +55,68 @@ use Yii; | |||
*/ | |||
class Quotation extends Document | |||
{ | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public static function tableName() | |||
{ | |||
return 'quotation'; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function rules() | |||
{ | |||
return [ | |||
[['date'], 'safe'], | |||
[['comment', 'address'], 'string'], | |||
[['id_user'], 'integer'], | |||
[['name', 'reference', 'city', 'postcode'], 'string', 'max' => 255], | |||
]; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function attributeLabels() | |||
{ | |||
return [ | |||
'id' => 'ID', | |||
'name' => 'Nom', | |||
'reference' => 'Référence', | |||
'date' => 'Date', | |||
'comment' => 'Commentaire', | |||
'id_user' => 'Utilisateur', | |||
'address' => 'Adresse', | |||
'city' => 'Ville', | |||
'postcode' => 'Code postale', | |||
]; | |||
} | |||
/* | |||
* Relations | |||
*/ | |||
public function getUser() | |||
{ | |||
return $this->hasOne(User::className(), ['id' => 'id_user']); | |||
} | |||
public function getOrder() | |||
{ | |||
return $this->hasOne(Order::className(), ['id' => 'id_quotation']); | |||
} | |||
/** | |||
* Retourne les options de base nécessaires à la fonction de recherche. | |||
* | |||
* @return array | |||
*/ | |||
public static function defaultOptionsSearch() { | |||
return [ | |||
'with' => [], | |||
'join_with' => ['user', 'order'], | |||
'orderby' => 'date ASC', | |||
'attribute_id_producer' => '' | |||
] ; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public static function tableName() | |||
{ | |||
return 'quotation'; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function rules() | |||
{ | |||
return [ | |||
[['date'], 'safe'], | |||
[['comment', 'address'], 'string'], | |||
[['id_user'], 'integer'], | |||
[['name', 'reference', 'city', 'postcode'], 'string', 'max' => 255], | |||
]; | |||
} | |||
/** | |||
* @inheritdoc | |||
*/ | |||
public function attributeLabels() | |||
{ | |||
return [ | |||
'id' => 'ID', | |||
'name' => 'Nom', | |||
'reference' => 'Référence', | |||
'date' => 'Date', | |||
'comment' => 'Commentaire', | |||
'id_user' => 'Utilisateur', | |||
'address' => 'Adresse', | |||
'city' => 'Ville', | |||
'postcode' => 'Code postale', | |||
]; | |||
} | |||
/* | |||
* Relations | |||
*/ | |||
public function getOrders() | |||
{ | |||
return $this->relationOrders('id_quotation') ; | |||
} | |||
/** | |||
* Retourne les options de base nécessaires à la fonction de recherche. | |||
* | |||
* @return array | |||
*/ | |||
public static function defaultOptionsSearch() | |||
{ | |||
return [ | |||
'with' => [], | |||
'join_with' => ['user', 'order'], | |||
'orderby' => 'date ASC', | |||
'attribute_id_producer' => '' | |||
]; | |||
} | |||
} |