<?php | <?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; | namespace common\models; | ||||
use common\components\ActiveRecordCommon; | use common\components\ActiveRecordCommon; | ||||
*/ | */ | ||||
class DeliveryNote extends Document | 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' => '' | |||||
]; | |||||
} | |||||
} | } |
<?php | <?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 | 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) { | if ($format) { | ||||
return Price::format($amount) ; | |||||
} | |||||
else { | |||||
return Price::format($amount); | |||||
} else { | |||||
return $amount; | return $amount; | ||||
} | } | ||||
} | } | ||||
} | |||||
} |
<?php | <?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; | namespace common\models; | ||||
use common\components\ActiveRecordCommon; | use common\components\ActiveRecordCommon; | ||||
*/ | */ | ||||
class Invoice extends Document | 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' => '' | |||||
]; | |||||
} | |||||
} | } |
<?php | <?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; | namespace common\models; | ||||
use Yii; | use Yii; | ||||
*/ | */ | ||||
class Quotation extends Document | 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' => '' | |||||
]; | |||||
} | |||||
} | } |