Rajout du module de gestion des avoirs

This commit is contained in:
2020-06-10 10:26:45 +02:00
parent d3e8302015
commit 4e01079f72
115 changed files with 52849 additions and 0 deletions

View File

@@ -0,0 +1,143 @@
<?php
/*************************************************************************************/
/* This file is part of the module CreditNote */
/* */
/* For the full copyright and license information, please view the LICENSE.txt */
/* file that was distributed with this source code. */
/*************************************************************************************/
namespace CreditNote\Model\Tools;
use CreditNote\Event\PropelEvent;
use Propel\Runtime\ActiveRecord\ActiveRecordInterface;
use Propel\Runtime\Connection\ConnectionInterface;
use Thelia\Model\Tools\ModelEventDispatcherTrait as TheliaModelEventDispatcherTrait;
use CreditNote\Event\CreditNoteEvents;
/**
* @author Gilles Bourgeat >gilles.bourgeat@gmail.com>
*/
trait ModelEventDispatcherTrait
{
use TheliaModelEventDispatcherTrait;
protected function getTableName()
{
$tableMapClass = self::TABLE_MAP;
return $tableMapClass::TABLE_NAME;
}
/**
* Code to be run before inserting to database
* @param ConnectionInterface $con
* @return boolean
*/
public function preInsert(ConnectionInterface $con = null)
{
parent::preInsert($con);
if ($this->getDispatcher() !== null) {
/** @var ActiveRecordInterface $this */
$event = new PropelEvent($this);
/** @var ModelEventDispatcherTrait $this */
$this->getDispatcher()->dispatch(CreditNoteEvents::PROPEL_PRE_INSERT . $this->getTableName(), $event);
if ($event->isPropagationStopped()) {
return false;
}
}
return true;
}
/**
* Code to be run after inserting to database
* @param ConnectionInterface $con
*/
public function postInsert(ConnectionInterface $con = null)
{
parent::postInsert($con);
if ($this->getDispatcher() !== null) {
/** @var ActiveRecordInterface $this */
$event = new PropelEvent($this);
/** @var ModelEventDispatcherTrait $this */
$this->getDispatcher()->dispatch(CreditNoteEvents::PROPEL_POST_INSERT . $this->getTableName(), $event);
}
}
/**
* Code to be run before updating the object in database
* @param ConnectionInterface $con
* @return boolean
*/
public function preUpdate(ConnectionInterface $con = null)
{
parent::preUpdate($con);
if ($this->getDispatcher() !== null) {
/** @var ActiveRecordInterface $this */
$event = new PropelEvent($this);
/** @var ModelEventDispatcherTrait $this */
$this->getDispatcher()->dispatch(CreditNoteEvents::PROPEL_PRE_UPDATE . $this->getTableName(), $event);
if ($event->isPropagationStopped()) {
return false;
}
}
return true;
}
/**
* Code to be run after updating the object in database
* @param ConnectionInterface $con
*/
public function postUpdate(ConnectionInterface $con = null)
{
parent::postUpdate($con);
if ($this->getDispatcher() !== null) {
/** @var ActiveRecordInterface $this */
$event = new PropelEvent($this);
/** @var ModelEventDispatcherTrait $this */
$this->getDispatcher()->dispatch(CreditNoteEvents::PROPEL_POST_UPDATE . $this->getTableName(), $event);
}
}
/**
* Code to be run before deleting the object in database
* @param ConnectionInterface $con
* @return boolean
*/
public function preDelete(ConnectionInterface $con = null)
{
parent::preDelete($con);
if ($this->getDispatcher() !== null) {
/** @var ActiveRecordInterface $this */
$event = new PropelEvent($this);
/** @var ModelEventDispatcherTrait $this */
$this->getDispatcher()->dispatch(CreditNoteEvents::PROPEL_PRE_DELETE . $this->getTableName(), $event);
if ($event->isPropagationStopped()) {
return false;
}
}
return true;
}
/**
* Code to be run after deleting the object in database
* @param ConnectionInterface $con
*/
public function postDelete(ConnectionInterface $con = null)
{
parent::postDelete($con);
if ($this->getDispatcher() !== null) {
/** @var ActiveRecordInterface $this */
$event = new PropelEvent($this);
/** @var ModelEventDispatcherTrait $this */
$this->getDispatcher()->dispatch(CreditNoteEvents::PROPEL_POST_DELETE . $this->getTableName(), $event);
}
}
}