diff --git a/composer.json b/composer.json index 0a4fc0629..e96385edd 100755 --- a/composer.json +++ b/composer.json @@ -39,7 +39,8 @@ "symfony/icu": "1.0", "swiftmailer/swiftmailer": "5.0.*", "symfony/serializer": "2.3.*", - "ensepar/html2pdf": "1.0.1" + "ensepar/html2pdf": "1.0.1", + "symfony/finder": "~2.2" }, "require-dev" : { "phpunit/phpunit": "3.7.*", diff --git a/composer.lock b/composer.lock index f50fb4a4d..a6f05615a 100755 --- a/composer.lock +++ b/composer.lock @@ -3,7 +3,7 @@ "This file locks the dependencies of your project to a known state", "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" ], - "hash": "852879ecc2e39e5cf283a3b1c5051a8e", + "hash": "4f3fabbb795a71df45ae9f6ccb6df355", "packages": [ { "name": "ensepar/html2pdf", @@ -949,7 +949,7 @@ }, { "name": "symfony/finder", - "version": "v2.3.5", + "version": "v2.3.6", "target-dir": "Symfony/Component/Finder", "source": { "type": "git", diff --git a/core/lib/Thelia/Action/Area.php b/core/lib/Thelia/Action/Area.php index d9173ae93..92eb75634 100644 --- a/core/lib/Thelia/Action/Area.php +++ b/core/lib/Thelia/Action/Area.php @@ -34,7 +34,6 @@ use Thelia\Model\CountryQuery; use Thelia\Action\BaseAction; use Thelia\Model\Area as AreaModel; - /** * Class Area * @package Thelia\Action @@ -97,7 +96,6 @@ class Area extends BaseAction implements EventSubscriberInterface $event->setArea($area); } - /** * Returns an array of event names this subscriber wants to listen to. * @@ -128,4 +126,4 @@ class Area extends BaseAction implements EventSubscriberInterface TheliaEvents::AREA_CREATE => array('create', 128) ); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Action/Cache.php b/core/lib/Thelia/Action/Cache.php new file mode 100644 index 000000000..4407c3e92 --- /dev/null +++ b/core/lib/Thelia/Action/Cache.php @@ -0,0 +1,75 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Action; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\Filesystem\Filesystem; +use Thelia\Core\Event\Cache\CacheEvent; +use Thelia\Core\Event\TheliaEvents; + +/** + * Class Cache + * @package Thelia\Action + * @author Manuel Raynaud + */ +class Cache extends BaseAction implements EventSubscriberInterface +{ + + public function cacheClear(CacheEvent $event) + { + $dir = $event->getDir(); + + $directoryBrowser = new \DirectoryIterator($dir); + + $fs = new Filesystem(); + $fs->remove($dir); + + } + + /** + * Returns an array of event names this subscriber wants to listen to. + * + * The array keys are event names and the value can be: + * + * * The method name to call (priority defaults to 0) + * * An array composed of the method name to call and the priority + * * An array of arrays composed of the method names to call and respective + * priorities, or 0 if unset + * + * For instance: + * + * * array('eventName' => 'methodName') + * * array('eventName' => array('methodName', $priority)) + * * array('eventName' => array(array('methodName1', $priority), array('methodName2')) + * + * @return array The event names to listen to + * + * @api + */ + public static function getSubscribedEvents() + { + return array( + TheliaEvents::CACHE_CLEAR => array('cacheClear', 128) + ); + } +} diff --git a/core/lib/Thelia/Action/Content.php b/core/lib/Thelia/Action/Content.php index 8560aa00e..3c027ad04 100644 --- a/core/lib/Thelia/Action/Content.php +++ b/core/lib/Thelia/Action/Content.php @@ -160,7 +160,7 @@ class Content extends BaseAction implements EventSubscriberInterface ->filterByFolderId($event->getFolderId()) ->findOne(); - if(null !== $contentFolder) { + if (null !== $contentFolder) { $contentFolder->delete(); } } diff --git a/core/lib/Thelia/Action/Country.php b/core/lib/Thelia/Action/Country.php index 69bf3c568..4c2d0839b 100644 --- a/core/lib/Thelia/Action/Country.php +++ b/core/lib/Thelia/Action/Country.php @@ -32,7 +32,6 @@ use Thelia\Core\Event\TheliaEvents; use Thelia\Model\Country as CountryModel; use Thelia\Model\CountryQuery; - /** * Class Country * @package Thelia\Action @@ -85,15 +84,13 @@ class Country extends BaseAction implements EventSubscriberInterface public function toggleDefault(CountryToggleDefaultEvent $event) { - if( null !== $country = CountryQuery::create()->findPk($event->getCountryId())) - { + if ( null !== $country = CountryQuery::create()->findPk($event->getCountryId())) { $country->toggleDefault(); $event->setCountry($country); } } - /** * Returns an array of event names this subscriber wants to listen to. * @@ -123,4 +120,4 @@ class Country extends BaseAction implements EventSubscriberInterface TheliaEvents::COUNTRY_TOGGLE_DEFAULT => array('toggleDefault', 128) ); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Action/Customer.php b/core/lib/Thelia/Action/Customer.php index 85643cb88..2e18872f6 100755 --- a/core/lib/Thelia/Action/Customer.php +++ b/core/lib/Thelia/Action/Customer.php @@ -25,7 +25,6 @@ namespace Thelia\Action; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\ActionEvent; -use Thelia\Core\Event\Customer\CustomerAddressEvent; use Thelia\Core\Event\Customer\CustomerCreateOrUpdateEvent; use Thelia\Core\Event\Customer\CustomerEvent; use Thelia\Core\Event\TheliaEvents; diff --git a/core/lib/Thelia/Action/Module.php b/core/lib/Thelia/Action/Module.php new file mode 100644 index 000000000..ddc285960 --- /dev/null +++ b/core/lib/Thelia/Action/Module.php @@ -0,0 +1,136 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Action; +use Propel\Runtime\Propel; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\Filesystem\Filesystem; +use Thelia\Core\Event\Cache\CacheEvent; +use Thelia\Core\Event\Module\ModuleDeleteEvent; +use Thelia\Core\Event\Module\ModuleToggleActivationEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Model\Map\ModuleTableMap; +use Thelia\Model\ModuleQuery; +use Thelia\Module\BaseModule; + +/** + * Class Module + * @package Thelia\Action + * @author Manuel Raynaud + */ +class Module extends BaseAction implements EventSubscriberInterface +{ + + public function toggleActivation(ModuleToggleActivationEvent $event) + { + if (null !== $module = ModuleQuery::create()->findPk($event->getModuleId())) { + $moduleClass = new \ReflectionClass($module->getFullNamespace()); + + $moduleInstance = $moduleClass->newInstance(); + + if ( method_exists($moduleInstance, 'setContainer')) { + $moduleInstance->setContainer($this->container); + if ($module->getActivate() == BaseModule::IS_ACTIVATED) { + $moduleInstance->deActivate($module); + } else { + $moduleInstance->activate($module); + } + } + + $event->setModule($module); + + $this->cacheClear(); + } + } + + public function delete(ModuleDeleteEvent $event) + { + if (null !== $module = ModuleQuery::create()->findPk($event->getModuleId())) { + $con = Propel::getWriteConnection(ModuleTableMap::DATABASE_NAME); + $con->beginTransaction(); + + try { + if(null === $module->getFullNamespace()) { + throw new \LogicException('can not instanciante this module if namespace is null. Maybe the model is not loaded ?'); + } + + $reflected = new \ReflectionClass($module->getFullNamespace()); + $instance = $reflected->newInstance(); + $instance->setContainer($this->container); + + $path = dirname($reflected->getFileName()); + + $instance->destroy($con); + + $fs = new Filesystem(); + $fs->remove($path); + + $module->delete($con); + + $con->commit(); + + $event->setModule($module); + $this->cacheClear(); + + } catch (\Exception $e) { + $con->rollBack(); + throw $e; + } + } + } + + protected function cacheClear() + { + $cacheEvent = new CacheEvent($this->container->getParameter('kernel.cache_dir')); + + $this->getDispatcher()->dispatch(TheliaEvents::CACHE_CLEAR, $cacheEvent); + } + + /** + * Returns an array of event names this subscriber wants to listen to. + * + * The array keys are event names and the value can be: + * + * * The method name to call (priority defaults to 0) + * * An array composed of the method name to call and the priority + * * An array of arrays composed of the method names to call and respective + * priorities, or 0 if unset + * + * For instance: + * + * * array('eventName' => 'methodName') + * * array('eventName' => array('methodName', $priority)) + * * array('eventName' => array(array('methodName1', $priority), array('methodName2')) + * + * @return array The event names to listen to + * + * @api + */ + public static function getSubscribedEvents() + { + return array( + TheliaEvents::MODULE_TOGGLE_ACTIVATION => array('toggleActivation', 128), + TheliaEvents::MODULE_DELETE => array('delete', 128) + ); + } +} diff --git a/core/lib/Thelia/Action/Pdf.php b/core/lib/Thelia/Action/Pdf.php index 52ce0b92d..2bdad9366 100644 --- a/core/lib/Thelia/Action/Pdf.php +++ b/core/lib/Thelia/Action/Pdf.php @@ -26,7 +26,6 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\PdfEvent; use Thelia\Core\Event\TheliaEvents; - /** * Class Pdf * @package Thelia\Action @@ -72,4 +71,4 @@ class Pdf extends BaseAction implements EventSubscriberInterface TheliaEvents::GENERATE_PDF => array("generatePdf", 128) ); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Action/Profile.php b/core/lib/Thelia/Action/Profile.php new file mode 100644 index 000000000..7c3e5423a --- /dev/null +++ b/core/lib/Thelia/Action/Profile.php @@ -0,0 +1,105 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Action; + +use Propel\Runtime\ActiveQuery\Criteria; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Thelia\Core\Event\Profile\ProfileEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Model\Profile as ProfileModel; +use Thelia\Model\ProfileQuery; + +class Profile extends BaseAction implements EventSubscriberInterface +{ + /** + * @param ProfileEvent $event + */ + public function create(ProfileEvent $event) + { + $profile = new ProfileModel(); + + $profile + ->setDispatcher($this->getDispatcher()) + ->setCode($event->getCode()) + ->setLocale($event->getLocale()) + ->setTitle($event->getTitle()) + ->setChapo($event->getChapo()) + ->setDescription($event->getDescription()) + ->setPostscriptum($event->getPostscriptum()) + ; + + $profile->save(); + + $event->setProfile($profile); + } + + /** + * @param ProfileEvent $event + */ + public function update(ProfileEvent $event) + { + if (null !== $profile = ProfileQuery::create()->findPk($event->getId())) { + + $profile + ->setDispatcher($this->getDispatcher()) + ->setLocale($event->getLocale()) + ->setTitle($event->getTitle()) + ->setChapo($event->getChapo()) + ->setDescription($event->getDescription()) + ->setPostscriptum($event->getPostscriptum()) + ; + + $profile->save(); + + $event->setProfile($profile); + } + } + + /** + * @param ProfileEvent $event + */ + public function delete(ProfileEvent $event) + { + if (null !== $profile = ProfileQuery::create()->findPk($event->getId())) { + + $profile + ->delete() + ; + + $event->setProfile($profile); + } + } + + /** + * {@inheritDoc} + */ + public static function getSubscribedEvents() + { + return array( + TheliaEvents::PROFILE_CREATE => array("create", 128), + TheliaEvents::PROFILE_UPDATE => array("update", 128), + TheliaEvents::PROFILE_DELETE => array("delete", 128), + ); + } +} diff --git a/core/lib/Thelia/Action/ShippingZone.php b/core/lib/Thelia/Action/ShippingZone.php index 517a5ca25..c621efd8f 100644 --- a/core/lib/Thelia/Action/ShippingZone.php +++ b/core/lib/Thelia/Action/ShippingZone.php @@ -29,7 +29,6 @@ use Thelia\Core\Event\TheliaEvents; use Thelia\Model\AreaDeliveryModule; use Thelia\Model\AreaDeliveryModuleQuery; - /** * Class ShippingZone * @package Thelia\Action @@ -55,7 +54,7 @@ class ShippingZone extends BaseAction implements EventSubscriberInterface ->filterByDeliveryModuleId($event->getShoppingZoneId()) ->findOne(); - if($areaDelivery) { + if ($areaDelivery) { $areaDelivery->delete(); } else { throw new \RuntimeException(sprintf('areaDeliveryModule not found with area_id = %d and delivery_module_id = %d', $event->getAreaId(), $event->getShoppingZoneId())); @@ -89,4 +88,4 @@ class ShippingZone extends BaseAction implements EventSubscriberInterface TheliaEvents::SHIPPING_ZONE_REMOVE_AREA => array('removeArea', 128), ); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Action/Tax.php b/core/lib/Thelia/Action/Tax.php new file mode 100644 index 000000000..c35d87bbe --- /dev/null +++ b/core/lib/Thelia/Action/Tax.php @@ -0,0 +1,104 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Action; + +use Propel\Runtime\ActiveQuery\Criteria; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Thelia\Core\Event\Tax\TaxEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Model\Tax as TaxModel; +use Thelia\Model\TaxQuery; + +class Tax extends BaseAction implements EventSubscriberInterface +{ + /** + * @param TaxEvent $event + */ + public function create(TaxEvent $event) + { + $tax = new TaxModel(); + + $tax + ->setDispatcher($this->getDispatcher()) + ->setRequirements($event->getRequirements()) + ->setType($event->getType()) + ->setLocale($event->getLocale()) + ->setTitle($event->getTitle()) + ->setDescription($event->getDescription()) + ; + + $tax->save(); + + $event->setTax($tax); + } + + /** + * @param TaxEvent $event + */ + public function update(TaxEvent $event) + { + if (null !== $tax = TaxQuery::create()->findPk($event->getId())) { + + $tax + ->setDispatcher($this->getDispatcher()) + ->setRequirements($event->getRequirements()) + ->setType($event->getType()) + ->setLocale($event->getLocale()) + ->setTitle($event->getTitle()) + ->setDescription($event->getDescription()) + ; + + $tax->save(); + + $event->setTax($tax); + } + } + + /** + * @param TaxEvent $event + */ + public function delete(TaxEvent $event) + { + if (null !== $tax = TaxQuery::create()->findPk($event->getId())) { + + $tax + ->delete() + ; + + $event->setTax($tax); + } + } + + /** + * {@inheritDoc} + */ + public static function getSubscribedEvents() + { + return array( + TheliaEvents::TAX_CREATE => array("create", 128), + TheliaEvents::TAX_UPDATE => array("update", 128), + TheliaEvents::TAX_DELETE => array("delete", 128), + ); + } +} diff --git a/core/lib/Thelia/Action/TaxRule.php b/core/lib/Thelia/Action/TaxRule.php index 4b24f8cb9..e6d42976e 100644 --- a/core/lib/Thelia/Action/TaxRule.php +++ b/core/lib/Thelia/Action/TaxRule.php @@ -27,6 +27,7 @@ use Propel\Runtime\ActiveQuery\Criteria; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\Tax\TaxRuleEvent; use Thelia\Core\Event\TheliaEvents; +use Thelia\Model\Map\TaxRuleTableMap; use Thelia\Model\TaxRuleCountry; use Thelia\Model\TaxRuleCountryQuery; use Thelia\Model\TaxRule as TaxRuleModel; @@ -68,8 +69,6 @@ class TaxRule extends BaseAction implements EventSubscriberInterface ->save() ; - - $event->setTaxRule($taxRule); } } @@ -90,12 +89,12 @@ class TaxRule extends BaseAction implements EventSubscriberInterface ->delete(); /* for each country */ - foreach($event->getCountryList() as $country) { + foreach ($event->getCountryList() as $country) { $position = 1; /* on applique les nouvelles regles */ - foreach($taxList as $tax) { - if(is_array($tax)) { - foreach($tax as $samePositionTax) { + foreach ($taxList as $tax) { + if (is_array($tax)) { + foreach ($tax as $samePositionTax) { $taxModel = new TaxRuleCountry(); $taxModel->setTaxRule($taxRule) ->setCountryId($country) @@ -134,6 +133,23 @@ class TaxRule extends BaseAction implements EventSubscriberInterface } } + /** + * @param TaxRuleEvent $event + */ + public function setDefault(TaxRuleEvent $event) + { + if (null !== $taxRule = TaxRuleQuery::create()->findPk($event->getId())) { + + TaxRuleQuery::create()->update(array( + "IsDefault" => 0 + )); + + $taxRule->setIsDefault(1)->save(); + + $event->setTaxRule($taxRule); + } + } + /** * {@inheritDoc} */ @@ -144,7 +160,7 @@ class TaxRule extends BaseAction implements EventSubscriberInterface TheliaEvents::TAX_RULE_UPDATE => array("update", 128), TheliaEvents::TAX_RULE_TAXES_UPDATE => array("updateTaxes", 128), TheliaEvents::TAX_RULE_DELETE => array("delete", 128), - + TheliaEvents::TAX_RULE_SET_DEFAULT => array("setDefault", 128), ); } } diff --git a/core/lib/Thelia/Command/CacheClear.php b/core/lib/Thelia/Command/CacheClear.php index e85e29741..1d4e7919c 100755 --- a/core/lib/Thelia/Command/CacheClear.php +++ b/core/lib/Thelia/Command/CacheClear.php @@ -30,6 +30,8 @@ use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Exception\IOException; use Thelia\Command\ContainerAwareCommand; +use Thelia\Core\Event\Cache\CacheEvent; +use Thelia\Core\Event\TheliaEvents; /** * clear the cache @@ -72,7 +74,11 @@ class CacheClear extends ContainerAwareCommand $output->writeln(sprintf("Clearing cache in %s directory", $dir)); try { - $directoryBrowser = new \DirectoryIterator($dir); + $cacheEvent = new CacheEvent($dir); + $this-> + getContainer() + ->get('event_dispatcher') + ->dispatch(TheliaEvents::CACHE_CLEAR, $cacheEvent); } catch (\UnexpectedValueException $e) { // throws same exception code for does not exist and permission denied ... if (!file_exists($dir)) { @@ -82,15 +88,11 @@ class CacheClear extends ContainerAwareCommand } throw $e; - } - - $fs = new Filesystem(); - try { - $fs->remove($dir); - - $output->writeln(sprintf("%s cache dir cleared successfully", $dir)); } catch (IOException $e) { $output->writeln(sprintf("Error during clearing cache : %s", $e->getMessage())); } + + $output->writeln(sprintf("%s cache dir cleared successfully", $dir)); + } } diff --git a/core/lib/Thelia/Command/CreateAdminUser.php b/core/lib/Thelia/Command/CreateAdminUser.php index 4fd8b886e..857790141 100644 --- a/core/lib/Thelia/Command/CreateAdminUser.php +++ b/core/lib/Thelia/Command/CreateAdminUser.php @@ -135,6 +135,8 @@ class CreateAdminUser extends ContainerAwareCommand $output->writeln("Passwords are different, please try again."); } while (true); + $admin->setProfile(null); + return $admin; } diff --git a/core/lib/Thelia/Command/GenerateResources.php b/core/lib/Thelia/Command/GenerateResources.php new file mode 100644 index 000000000..217672797 --- /dev/null +++ b/core/lib/Thelia/Command/GenerateResources.php @@ -0,0 +1,92 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Command; + +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; + +use Thelia\Command\ContainerAwareCommand; +use Thelia\Model\Admin; +use Thelia\Model\Map\ResourceTableMap; + +class GenerateResources extends ContainerAwareCommand +{ + /** + * Configure the command + */ + protected function configure() + { + $this + ->setName("thelia:generate-resources") + ->setDescription("Outputs admin resources") + ->setHelp("The thelia:generate-resources outputs admin resources.") + ->addOption( + 'output', + null, + InputOption::VALUE_OPTIONAL, + 'Output format amid (string, sql)', + null + ) + ; + + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $class = new \ReflectionClass('Thelia\Core\Event\AdminResources'); + + $constants = $class->getConstants(); + + if(count($constants) == 0) { + $output->writeln('No resources found'); + exit; + } + + switch($input->getOption("output")) { + case 'sql': + $output->writeln( + 'INSERT INTO ' . ResourceTableMap::TABLE_NAME . ' (`id`, `code`, `created_at`, `updated_at`) VALUES ' + ); + foreach($constants as $constant => $value) { + if($constant == 'SUPERADMINISTRATOR') { + continue; + } + $output->writeln( + "(NULL, '$value', NOW(), NOW())" . ($constant === key( array_slice( $constants, -1, 1, TRUE ) ) ? '' : ',') + ); + } + break; + default : + foreach($constants as $constant => $value) { + if($constant == 'SUPERADMINISTRATOR') { + continue; + } + $output->writeln('[' . $constant . "] => " . $value); + } + break; + } + } + +} diff --git a/core/lib/Thelia/Command/Install.php b/core/lib/Thelia/Command/Install.php index 6423d861a..7b6ca31c5 100755 --- a/core/lib/Thelia/Command/Install.php +++ b/core/lib/Thelia/Command/Install.php @@ -143,8 +143,8 @@ class Install extends ContainerAwareCommand $permissions = new CheckPermission(false, $this->getContainer()->get('thelia.translator')); $isValid = $permissions->exec(); - foreach($permissions->getValidationMessages() as $item => $data) { - if($data['status']) { + foreach ($permissions->getValidationMessages() as $item => $data) { + if ($data['status']) { $output->writeln(array( sprintf("%s ... %s", $data['text'], @@ -162,7 +162,7 @@ class Install extends ContainerAwareCommand } - if(false === $isValid) { + if (false === $isValid) { $output->writeln(array( "", "Please put correct permissions and reload install process" diff --git a/core/lib/Thelia/Command/ModuleActivateCommand.php b/core/lib/Thelia/Command/ModuleActivateCommand.php index d5ca8156d..1b8ac600f 100755 --- a/core/lib/Thelia/Command/ModuleActivateCommand.php +++ b/core/lib/Thelia/Command/ModuleActivateCommand.php @@ -26,7 +26,6 @@ namespace Thelia\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Filesystem\Filesystem; use Thelia\Model\ModuleQuery; diff --git a/core/lib/Thelia/Command/ModuleGenerateCommand.php b/core/lib/Thelia/Command/ModuleGenerateCommand.php index b34e43dc1..dfc13f29d 100755 --- a/core/lib/Thelia/Command/ModuleGenerateCommand.php +++ b/core/lib/Thelia/Command/ModuleGenerateCommand.php @@ -62,7 +62,7 @@ class ModuleGenerateCommand extends BaseModuleGenerate $output->renderBlock(array( '', sprintf("module %s create with success", $this->module), - "You can now configure your module and complete plugin.xml file", + "You can now configure your module and complete module.xml file", '' ), "bg=green;fg=black"); } @@ -86,7 +86,7 @@ class ModuleGenerateCommand extends BaseModuleGenerate $fs = new Filesystem(); $skeletonDir = str_replace("/", DIRECTORY_SEPARATOR, THELIA_ROOT . "/core/lib/Thelia/Command/Skeleton/Module/"); $fs->copy($skeletonDir . "config.xml", $this->moduleDirectory . DIRECTORY_SEPARATOR . "Config" . DIRECTORY_SEPARATOR . "config.xml"); - $fs->copy($skeletonDir . "plugin.xml", $this->moduleDirectory . DIRECTORY_SEPARATOR . "Config" . DIRECTORY_SEPARATOR . "plugin.xml"); + $fs->copy($skeletonDir . "module.xml", $this->moduleDirectory . DIRECTORY_SEPARATOR . "Config" . DIRECTORY_SEPARATOR . "module.xml"); $classContent = file_get_contents($skeletonDir . "Class.php"); diff --git a/core/lib/Thelia/Command/Skeleton/Module/Class.php b/core/lib/Thelia/Command/Skeleton/Module/Class.php index c4c90aa60..c9c7109ac 100755 --- a/core/lib/Thelia/Command/Skeleton/Module/Class.php +++ b/core/lib/Thelia/Command/Skeleton/Module/Class.php @@ -25,7 +25,7 @@ namespace %%NAMESPACE%%; use Thelia\Module\BaseModule; -class %%CLASSNAME%% extends BaseModule +class Class extends BaseModule { /** * YOU HAVE TO IMPLEMENT HERE ABSTRACT METHODD FROM BaseModule Class diff --git a/core/lib/Thelia/Command/Skeleton/Module/module.xml b/core/lib/Thelia/Command/Skeleton/Module/module.xml new file mode 100755 index 000000000..ae3dbbe53 --- /dev/null +++ b/core/lib/Thelia/Command/Skeleton/Module/module.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/core/lib/Thelia/Command/Skeleton/Module/plugin.xml b/core/lib/Thelia/Command/Skeleton/Module/plugin.xml deleted file mode 100755 index e69de29bb..000000000 diff --git a/core/lib/Thelia/Config/Resources/action.xml b/core/lib/Thelia/Config/Resources/action.xml index b3bc085bf..4bc25b65d 100755 --- a/core/lib/Thelia/Config/Resources/action.xml +++ b/core/lib/Thelia/Config/Resources/action.xml @@ -111,6 +111,11 @@ + + + + + @@ -136,6 +141,21 @@ + + + + + + + + + + + + + + + diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml index e343cc4ce..d113c03c1 100755 --- a/core/lib/Thelia/Config/Resources/config.xml +++ b/core/lib/Thelia/Config/Resources/config.xml @@ -7,6 +7,7 @@ + @@ -33,6 +34,7 @@ + @@ -52,18 +54,26 @@ + +
+ + + + + + + + + - - - - - - - - + + + + + @@ -119,13 +129,18 @@ + + + + + + + - - @@ -151,6 +166,7 @@ + diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index b798645d5..e4e29ee55 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -757,6 +757,32 @@ + + + + Thelia\Controller\Admin\ProfileController::defaultAction + \d+ + + + + Thelia\Controller\Admin\ProfileController::updateAction + \d+ + + + + Thelia\Controller\Admin\ProfileController::createAction + + + + Thelia\Controller\Admin\ProfileController::processUpdateAction + + + + Thelia\Controller\Admin\ProfileController::deleteAction + + + + @@ -816,13 +842,43 @@ - + Thelia\Controller\Admin\ModuleController::indexAction + + Thelia\Controller\Admin\ModuleController::toggleActivationAction + \d+ + + + + Thelia\Controller\Admin\ModuleController::deleteAction + + - + + + + Thelia\Controller\Admin\TaxController::updateAction + \d+ + + + + Thelia\Controller\Admin\TaxController::createAction + + + + Thelia\Controller\Admin\TaxController::processUpdateAction + + + + Thelia\Controller\Admin\TaxController::deleteAction + + + + + Thelia\Controller\Admin\TaxRuleController::defaultAction @@ -849,6 +905,11 @@ Thelia\Controller\Admin\TaxRuleController::deleteAction + + Thelia\Controller\Admin\TaxRuleController::setDefaultAction + \d+ + + @@ -859,4 +920,4 @@ .* - \ No newline at end of file + diff --git a/core/lib/Thelia/Config/Resources/routing/front.xml b/core/lib/Thelia/Config/Resources/routing/front.xml index 351ba2ab4..74cf23db8 100755 --- a/core/lib/Thelia/Config/Resources/routing/front.xml +++ b/core/lib/Thelia/Config/Resources/routing/front.xml @@ -164,4 +164,23 @@ + + Thelia\Controller\Front\Mail::test + + + + Thelia\Controller\Front\DefaultController::noAction + contact + + + + Thelia\Controller\Front\ContactController::sendAction + contact + + + + Thelia\Controller\Front\DefaultController::noAction + contact-success + + diff --git a/core/lib/Thelia/Controller/Admin/AddressController.php b/core/lib/Thelia/Controller/Admin/AddressController.php index 38ec9cb6b..897b8421d 100644 --- a/core/lib/Thelia/Controller/Admin/AddressController.php +++ b/core/lib/Thelia/Controller/Admin/AddressController.php @@ -24,14 +24,13 @@ namespace Thelia\Controller\Admin; use Thelia\Core\Event\Address\AddressCreateOrUpdateEvent; use Thelia\Core\Event\Address\AddressEvent; -use Thelia\Core\Event\Customer\CustomerCreateOrUpdateEvent; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\TheliaEvents; use Thelia\Form\AddressCreateForm; use Thelia\Form\AddressUpdateForm; use Thelia\Model\AddressQuery; use Thelia\Model\CustomerQuery; - /** * Class AddressController * @package Thelia\Controller\Admin @@ -46,10 +45,10 @@ class AddressController extends AbstractCrudController null, null, - 'admin.customer.update.view', - 'admin.address.create', - 'admin.address.update', - 'admin.address.delete', + AdminResources::ADDRESS_VIEW, + AdminResources::ADDRESS_CREATE, + AdminResources::ADDRESS_UPDATE, + AdminResources::ADDRESS_DELETE, TheliaEvents::ADDRESS_CREATE, TheliaEvents::ADDRESS_UPDATE, @@ -62,7 +61,7 @@ class AddressController extends AbstractCrudController public function useAddressAction() { - if (null !== $response = $this->checkAuth("admin.customer.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $address_id = $this->getRequest()->request->get('address_id'); @@ -78,7 +77,7 @@ class AddressController extends AbstractCrudController $this->dispatch(TheliaEvents::ADDRESS_DEFAULT, $addressEvent); $this->adminLogAppend(sprintf("address %d for customer %d removal", $address_id, $address->getCustomerId())); - } catch(\Exception $e) { + } catch (\Exception $e) { \Thelia\Log\Tlog::getInstance()->error(sprintf("error during address removal with message %s", $e->getMessage())); } @@ -176,8 +175,6 @@ class AddressController extends AbstractCrudController $formData["is_default"] ); - - return $event; } @@ -279,8 +276,8 @@ class AddressController extends AbstractCrudController /** * Put in this method post object delete processing if required. * - * @param \Thelia\Core\Event\AddressEvent $deleteEvent the delete event - * @return Response a response, or null to continue normal processing + * @param \Thelia\Core\Event\AddressEvent $deleteEvent the delete event + * @return Response a response, or null to continue normal processing */ protected function performAdditionalDeleteAction($deleteEvent) { @@ -291,8 +288,8 @@ class AddressController extends AbstractCrudController /** * Put in this method post object creation processing if required. * - * @param AddressCreateOrUpdateEvent $createEvent the create event - * @return Response a response, or null to continue normal processing + * @param AddressCreateOrUpdateEvent $createEvent the create event + * @return Response a response, or null to continue normal processing */ protected function performAdditionalCreateAction($createEvent) { @@ -303,4 +300,4 @@ class AddressController extends AbstractCrudController { $this->redirectToEditionTemplate(); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Controller/Admin/AreaController.php b/core/lib/Thelia/Controller/Admin/AreaController.php index d6ac7918a..bceddad96 100644 --- a/core/lib/Thelia/Controller/Admin/AreaController.php +++ b/core/lib/Thelia/Controller/Admin/AreaController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Area\AreaAddCountryEvent; use Thelia\Core\Event\Area\AreaCreateEvent; use Thelia\Core\Event\Area\AreaDeleteEvent; @@ -52,10 +53,10 @@ class AreaController extends AbstractCrudController null, null, - 'admin.area.default', - 'admin.area.create', - 'admin.area.update', - 'admin.area.delete', + AdminResources::AREA_VIEW, + AdminResources::AREA_CREATE, + AdminResources::AREA_UPDATE, + AdminResources::AREA_DELETE, TheliaEvents::AREA_CREATE, TheliaEvents::AREA_UPDATE, diff --git a/core/lib/Thelia/Controller/Admin/AttributeAvController.php b/core/lib/Thelia/Controller/Admin/AttributeAvController.php index bc6984e9e..1e060de2c 100644 --- a/core/lib/Thelia/Controller/Admin/AttributeAvController.php +++ b/core/lib/Thelia/Controller/Admin/AttributeAvController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Attribute\AttributeAvDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Attribute\AttributeAvUpdateEvent; @@ -46,10 +47,10 @@ class AttributeAvController extends AbstractCrudController 'manual', 'order', - 'admin.configuration.attributes-av.view', - 'admin.configuration.attributes-av.create', - 'admin.configuration.attributes-av.update', - 'admin.configuration.attributes-av.delete', + AdminResources::ATTRIBUTE_VIEW, + AdminResources::ATTRIBUTE_CREATE, + AdminResources::ATTRIBUTE_UPDATE, + AdminResources::ATTRIBUTE_DELETE, TheliaEvents::ATTRIBUTE_AV_CREATE, TheliaEvents::ATTRIBUTE_AV_UPDATE, diff --git a/core/lib/Thelia/Controller/Admin/AttributeController.php b/core/lib/Thelia/Controller/Admin/AttributeController.php index 689b92a01..e2e3f1a7e 100644 --- a/core/lib/Thelia/Controller/Admin/AttributeController.php +++ b/core/lib/Thelia/Controller/Admin/AttributeController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Attribute\AttributeDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Attribute\AttributeUpdateEvent; @@ -50,10 +51,10 @@ class AttributeController extends AbstractCrudController 'manual', 'order', - 'admin.configuration.attributes.view', - 'admin.configuration.attributes.create', - 'admin.configuration.attributes.update', - 'admin.configuration.attributes.delete', + AdminResources::ATTRIBUTE_VIEW, + AdminResources::ATTRIBUTE_CREATE, + AdminResources::ATTRIBUTE_UPDATE, + AdminResources::ATTRIBUTE_DELETE, TheliaEvents::ATTRIBUTE_CREATE, TheliaEvents::ATTRIBUTE_UPDATE, @@ -253,7 +254,7 @@ class AttributeController extends AbstractCrudController protected function addRemoveFromAllTemplates($eventType) { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.attributes.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; try { if (null !== $object = $this->getExistingObject()) { diff --git a/core/lib/Thelia/Controller/Admin/BaseAdminController.php b/core/lib/Thelia/Controller/Admin/BaseAdminController.php index 9adb7a19a..829e51c37 100755 --- a/core/lib/Thelia/Controller/Admin/BaseAdminController.php +++ b/core/lib/Thelia/Controller/Admin/BaseAdminController.php @@ -378,8 +378,8 @@ class BaseAdminController extends BaseController * Render the given template, and returns the result as a string. * * @param $templateName the complete template name, with extension - * @param array $args the template arguments - * @param null $templateDir + * @param array $args the template arguments + * @param null $templateDir * * @return \Symfony\Component\HttpFoundation\Response */ diff --git a/core/lib/Thelia/Controller/Admin/CategoryController.php b/core/lib/Thelia/Controller/Admin/CategoryController.php index ff2dae1e4..e08ffdff9 100755 --- a/core/lib/Thelia/Controller/Admin/CategoryController.php +++ b/core/lib/Thelia/Controller/Admin/CategoryController.php @@ -24,6 +24,7 @@ namespace Thelia\Controller\Admin; use Symfony\Component\HttpFoundation\Response; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Category\CategoryDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Category\CategoryUpdateEvent; @@ -54,10 +55,10 @@ class CategoryController extends AbstractCrudController 'manual', 'category_order', - 'admin.categories.default', - 'admin.categories.create', - 'admin.categories.update', - 'admin.categories.delete', + AdminResources::CATEGORY_VIEW, + AdminResources::CATEGORY_CREATE, + AdminResources::CATEGORY_UPDATE, + AdminResources::CATEGORY_DELETE, TheliaEvents::CATEGORY_CREATE, TheliaEvents::CATEGORY_UPDATE, @@ -216,7 +217,7 @@ class CategoryController extends AbstractCrudController public function setToggleVisibilityAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.categories.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $event = new CategoryToggleVisibilityEvent($this->getExistingObject()); @@ -296,7 +297,7 @@ class CategoryController extends AbstractCrudController public function addRelatedContentAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.categories.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $content_id = intval($this->getRequest()->get('content_id')); @@ -326,7 +327,7 @@ class CategoryController extends AbstractCrudController public function addRelatedPictureAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.categories.update")) { + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) { return $response; } @@ -354,7 +355,7 @@ class CategoryController extends AbstractCrudController public function deleteRelatedContentAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.categories.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $content_id = intval($this->getRequest()->get('content_id')); diff --git a/core/lib/Thelia/Controller/Admin/ConfigController.php b/core/lib/Thelia/Controller/Admin/ConfigController.php index dc19107d8..1a99d8470 100644 --- a/core/lib/Thelia/Controller/Admin/ConfigController.php +++ b/core/lib/Thelia/Controller/Admin/ConfigController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Config\ConfigDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Config\ConfigUpdateEvent; @@ -45,10 +46,10 @@ class ConfigController extends AbstractCrudController 'name', 'order', - 'admin.configuration.variables.view', - 'admin.configuration.variables.create', - 'admin.configuration.variables.update', - 'admin.configuration.variables.delete', + AdminResources::CONFIG_VIEW, + AdminResources::CONFIG_CREATE, + AdminResources::CONFIG_UPDATE, + AdminResources::CONFIG_DELETE, TheliaEvents::CONFIG_CREATE, TheliaEvents::CONFIG_UPDATE, @@ -187,7 +188,7 @@ class ConfigController extends AbstractCrudController public function changeValuesAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.variables.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $variables = $this->getRequest()->get('variable', array()); diff --git a/core/lib/Thelia/Controller/Admin/ContentController.php b/core/lib/Thelia/Controller/Admin/ContentController.php index c3811695f..721c193f0 100644 --- a/core/lib/Thelia/Controller/Admin/ContentController.php +++ b/core/lib/Thelia/Controller/Admin/ContentController.php @@ -22,6 +22,7 @@ /*************************************************************************************/ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Content\ContentAddFolderEvent; use Thelia\Core\Event\Content\ContentCreateEvent; use Thelia\Core\Event\Content\ContentDeleteEvent; @@ -49,10 +50,10 @@ class ContentController extends AbstractCrudController 'manual', 'content_order', - 'admin.content.default', - 'admin.content.create', - 'admin.content.update', - 'admin.content.delete', + AdminResources::CONTENT_VIEW, + AdminResources::CONTENT_CREATE, + AdminResources::CONTENT_UPDATE, + AdminResources::CONTENT_DELETE, TheliaEvents::CONTENT_CREATE, TheliaEvents::CONTENT_UPDATE, @@ -70,7 +71,7 @@ class ContentController extends AbstractCrudController public function addAdditionalFolderAction() { // Check current user authorization - if (null !== $response = $this->checkAuth('admin.content.update')) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $folder_id = intval($this->getRequest()->request->get('additional_folder_id')); @@ -98,7 +99,7 @@ class ContentController extends AbstractCrudController public function removeAdditionalFolderAction() { // Check current user authorization - if (null !== $response = $this->checkAuth('admin.content.update')) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $folder_id = intval($this->getRequest()->request->get('additional_folder_id')); diff --git a/core/lib/Thelia/Controller/Admin/CountryController.php b/core/lib/Thelia/Controller/Admin/CountryController.php index 91160311f..356c3d846 100644 --- a/core/lib/Thelia/Controller/Admin/CountryController.php +++ b/core/lib/Thelia/Controller/Admin/CountryController.php @@ -22,6 +22,7 @@ /*************************************************************************************/ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Country\CountryCreateEvent; use Thelia\Core\Event\Country\CountryDeleteEvent; use Thelia\Core\Event\Country\CountryToggleDefaultEvent; @@ -46,10 +47,10 @@ class CountryController extends AbstractCrudController 'manual', 'country_order', - 'admin.country.default', - 'admin.country.create', - 'admin.country.update', - 'admin.country.delete', + AdminResources::COUNTRY_VIEW, + AdminResources::COUNTRY_CREATE, + AdminResources::COUNTRY_UPDATE, + AdminResources::COUNTRY_DELETE, TheliaEvents::COUNTRY_CREATE, TheliaEvents::COUNTRY_UPDATE, @@ -243,7 +244,7 @@ class CountryController extends AbstractCrudController try { $this->dispatch(TheliaEvents::COUNTRY_TOGGLE_DEFAULT, $toogleDefaultEvent); - if($toogleDefaultEvent->hasCountry()) { + if ($toogleDefaultEvent->hasCountry()) { return $this->nullResponse(); } } catch (\Exception $ex) { diff --git a/core/lib/Thelia/Controller/Admin/CouponController.php b/core/lib/Thelia/Controller/Admin/CouponController.php index eaecacbda..03a7b7477 100755 --- a/core/lib/Thelia/Controller/Admin/CouponController.php +++ b/core/lib/Thelia/Controller/Admin/CouponController.php @@ -27,6 +27,7 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Router; use Thelia\Condition\ConditionFactory; use Thelia\Condition\ConditionManagerInterface; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Condition\ConditionCreateOrUpdateEvent; use Thelia\Core\Event\Coupon\CouponConsumeEvent; use Thelia\Core\Event\Coupon\CouponCreateOrUpdateEvent; @@ -62,7 +63,7 @@ class CouponController extends BaseAdminController */ public function browseAction() { - $this->checkAuth('ADMIN', 'admin.coupon.view'); + $this->checkAuth('ADMIN', AdminResources::COUPON_VIEW); $args['urlReadCoupon'] = $this->getRoute( 'admin.coupon.read', @@ -94,7 +95,7 @@ class CouponController extends BaseAdminController */ public function readAction($couponId) { - $this->checkAuth('ADMIN', 'admin.coupon.read'); + $this->checkAuth('ADMIN', AdminResources::COUPON_VIEW); // Database request repeated in the loop but cached $search = CouponQuery::create(); @@ -122,7 +123,7 @@ class CouponController extends BaseAdminController public function createAction() { // Check current user authorization - $response = $this->checkAuth('admin.coupon.create'); + $response = $this->checkAuth(AdminResources::COUPON_CREATE); if ($response !== null) { return $response; } @@ -170,7 +171,7 @@ class CouponController extends BaseAdminController public function updateAction($couponId) { // Check current user authorization - $response = $this->checkAuth('admin.coupon.update'); + $response = $this->checkAuth(AdminResources::COUPON_UPDATE); if ($response !== null) { return $response; } @@ -277,7 +278,7 @@ var_dump($coupon->getIsRemovingPostage());; */ public function getConditionInputAction($conditionId) { - $this->checkAuth('ADMIN', 'admin.coupon.read'); + $this->checkAuth('ADMIN', AdminResources::COUPON_VIEW); $this->checkXmlHttpRequest(); @@ -307,7 +308,7 @@ var_dump($coupon->getIsRemovingPostage());; */ public function updateConditionsAction($couponId) { - $this->checkAuth('ADMIN', 'admin.coupon.read'); + $this->checkAuth('ADMIN', AdminResources::COUPON_VIEW); $this->checkXmlHttpRequest(); diff --git a/core/lib/Thelia/Controller/Admin/CurrencyController.php b/core/lib/Thelia/Controller/Admin/CurrencyController.php index 6fd98983b..2510b845c 100644 --- a/core/lib/Thelia/Controller/Admin/CurrencyController.php +++ b/core/lib/Thelia/Controller/Admin/CurrencyController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Currency\CurrencyDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Currency\CurrencyUpdateEvent; @@ -46,10 +47,10 @@ class CurrencyController extends AbstractCrudController 'manual', 'order', - 'admin.configuration.currencies.view', - 'admin.configuration.currencies.create', - 'admin.configuration.currencies.update', - 'admin.configuration.currencies.delete', + AdminResources::CURRENCY_VIEW, + AdminResources::CURRENCY_CREATE, + AdminResources::CURRENCY_UPDATE, + AdminResources::CURRENCY_DELETE, TheliaEvents::CURRENCY_CREATE, TheliaEvents::CURRENCY_UPDATE, @@ -186,7 +187,7 @@ class CurrencyController extends AbstractCrudController public function updateRatesAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.currencies.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; try { $this->dispatch(TheliaEvents::CURRENCY_UPDATE_RATES); @@ -204,7 +205,7 @@ class CurrencyController extends AbstractCrudController public function setDefaultAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.currencies.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $changeEvent = new CurrencyUpdateEvent($this->getRequest()->get('currency_id', 0)); diff --git a/core/lib/Thelia/Controller/Admin/CustomerController.php b/core/lib/Thelia/Controller/Admin/CustomerController.php index e4d24e9ad..2ae53dc91 100644 --- a/core/lib/Thelia/Controller/Admin/CustomerController.php +++ b/core/lib/Thelia/Controller/Admin/CustomerController.php @@ -24,15 +24,13 @@ namespace Thelia\Controller\Admin; use Propel\Runtime\Exception\PropelException; -use Symfony\Component\Form\Form; -use Thelia\Core\Event\Address\AddressEvent; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Customer\CustomerAddressEvent; use Thelia\Core\Event\Customer\CustomerCreateOrUpdateEvent; use Thelia\Core\Event\Customer\CustomerEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Form\CustomerModification; use Thelia\Form\Exception\FormValidationException; -use Thelia\Model\AddressQuery; use Thelia\Model\CustomerQuery; use Thelia\Core\Translation\Translator; @@ -45,20 +43,18 @@ class CustomerController extends BaseAdminController { public function indexAction() { - if (null !== $response = $this->checkAuth("admin.customer.view")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::CUSTOMER_VIEW)) return $response; return $this->render("customers", array("display_customer" => 20)); } public function viewAction($customer_id) { - if (null !== $response = $this->checkAuth("admin.customer.view")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::CUSTOMER_VIEW)) return $response; return $this->render("customer-edit", array( "customer_id" => $customer_id )); } - - /** * update customer action * @@ -67,7 +63,7 @@ class CustomerController extends BaseAdminController */ public function updateAction($customer_id) { - if (null !== $response = $this->checkAuth("admin.customer.update")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::CUSTOMER_UPDATE)) return $response; $message = false; @@ -123,7 +119,7 @@ class CustomerController extends BaseAdminController public function deleteAction() { - if (null !== $response = $this->checkAuth("admin.customer.delete")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::CUSTOMER_DELETE)) return $response; $message = null; diff --git a/core/lib/Thelia/Controller/Admin/FeatureAvController.php b/core/lib/Thelia/Controller/Admin/FeatureAvController.php index e8684ef04..e65fceac0 100644 --- a/core/lib/Thelia/Controller/Admin/FeatureAvController.php +++ b/core/lib/Thelia/Controller/Admin/FeatureAvController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Feature\FeatureAvDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Feature\FeatureAvUpdateEvent; @@ -46,10 +47,10 @@ class FeatureAvController extends AbstractCrudController 'manual', 'order', - 'admin.configuration.features-av.view', - 'admin.configuration.features-av.create', - 'admin.configuration.features-av.update', - 'admin.configuration.features-av.delete', + AdminResources::FEATURE_VIEW, + AdminResources::FEATURE_CREATE, + AdminResources::FEATURE_UPDATE, + AdminResources::FEATURE_DELETE, TheliaEvents::FEATURE_AV_CREATE, TheliaEvents::FEATURE_AV_UPDATE, diff --git a/core/lib/Thelia/Controller/Admin/FeatureController.php b/core/lib/Thelia/Controller/Admin/FeatureController.php index a8fde8880..c681a7b61 100644 --- a/core/lib/Thelia/Controller/Admin/FeatureController.php +++ b/core/lib/Thelia/Controller/Admin/FeatureController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Feature\FeatureDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Feature\FeatureUpdateEvent; @@ -50,10 +51,10 @@ class FeatureController extends AbstractCrudController 'manual', 'order', - 'admin.configuration.features.view', - 'admin.configuration.features.create', - 'admin.configuration.features.update', - 'admin.configuration.features.delete', + AdminResources::FEATURE_VIEW, + AdminResources::FEATURE_CREATE, + AdminResources::FEATURE_UPDATE, + AdminResources::FEATURE_DELETE, TheliaEvents::FEATURE_CREATE, TheliaEvents::FEATURE_UPDATE, @@ -253,7 +254,7 @@ class FeatureController extends AbstractCrudController protected function addRemoveFromAllTemplates($eventType) { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.features.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; try { if (null !== $object = $this->getExistingObject()) { diff --git a/core/lib/Thelia/Controller/Admin/FileController.php b/core/lib/Thelia/Controller/Admin/FileController.php index e99b857f7..0c6f51630 100755 --- a/core/lib/Thelia/Controller/Admin/FileController.php +++ b/core/lib/Thelia/Controller/Admin/FileController.php @@ -26,6 +26,7 @@ namespace Thelia\Controller\Admin; use Propel\Runtime\Exception\PropelException; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\Response; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Document\DocumentCreateOrUpdateEvent; use Thelia\Core\Event\Document\DocumentDeleteEvent; use Thelia\Core\Event\Image\ImageCreateOrUpdateEvent; @@ -69,7 +70,7 @@ class FileController extends BaseAdminController */ public function saveImageAjaxAction($parentId, $parentType) { - $this->checkAuth('ADMIN', 'admin.image.save'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); if ($this->isParentTypeValid($parentType)) { @@ -145,7 +146,7 @@ class FileController extends BaseAdminController */ public function saveDocumentAjaxAction($parentId, $parentType) { - $this->checkAuth('ADMIN', 'admin.document.save'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); if ($this->isParentTypeValid($parentType)) { @@ -209,7 +210,7 @@ class FileController extends BaseAdminController */ public function getImageListAjaxAction($parentId, $parentType) { - $this->checkAuth('ADMIN', 'admin.image.save'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); $args = array('imageType' => $parentType, 'parentId' => $parentId); @@ -226,7 +227,7 @@ class FileController extends BaseAdminController */ public function getDocumentListAjaxAction($parentId, $parentType) { - $this->checkAuth('ADMIN', 'admin.document.save'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); $args = array('documentType' => $parentType, 'parentId' => $parentId); @@ -243,7 +244,7 @@ class FileController extends BaseAdminController */ public function getImageFormAjaxAction($parentId, $parentType) { - $this->checkAuth('ADMIN', 'admin.image.save'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); $args = array('imageType' => $parentType, 'parentId' => $parentId); @@ -260,7 +261,7 @@ class FileController extends BaseAdminController */ public function getDocumentFormAjaxAction($parentId, $parentType) { - $this->checkAuth('ADMIN', 'admin.document.save'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); $args = array('documentType' => $parentType, 'parentId' => $parentId); @@ -277,7 +278,7 @@ class FileController extends BaseAdminController */ public function viewImageAction($imageId, $parentType) { - if (null !== $response = $this->checkAuth('admin.image.view')) { + if (null !== $response = $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update'))) { return $response; } try { @@ -306,7 +307,7 @@ class FileController extends BaseAdminController */ public function viewDocumentAction($documentId, $parentType) { - if (null !== $response = $this->checkAuth('admin.document.view')) { + if (null !== $response = $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update'))) { return $response; } try { @@ -335,7 +336,7 @@ class FileController extends BaseAdminController */ public function updateImageAction($imageId, $parentType) { - if (null !== $response = $this->checkAuth('admin.image.update')) { + if (null !== $response = $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update'))) { return $response; } @@ -412,7 +413,7 @@ class FileController extends BaseAdminController */ public function updateDocumentAction($documentId, $parentType) { - if (null !== $response = $this->checkAuth('admin.document.update')) { + if (null !== $response = $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update'))) { return $response; } @@ -489,7 +490,7 @@ class FileController extends BaseAdminController */ public function deleteImageAction($imageId, $parentType) { - $this->checkAuth('ADMIN', 'admin.image.delete'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); $fileManager = new FileManager($this->container); @@ -532,7 +533,7 @@ class FileController extends BaseAdminController */ public function deleteDocumentAction($documentId, $parentType) { - $this->checkAuth('ADMIN', 'admin.document.delete'); + $this->checkAuth('ADMIN', AdminResources::retrieve($parentType, 'update')); $this->checkXmlHttpRequest(); $fileManager = new FileManager($this->container); diff --git a/core/lib/Thelia/Controller/Admin/FolderController.php b/core/lib/Thelia/Controller/Admin/FolderController.php index 24e2659d9..a5dd5c8eb 100644 --- a/core/lib/Thelia/Controller/Admin/FolderController.php +++ b/core/lib/Thelia/Controller/Admin/FolderController.php @@ -22,6 +22,7 @@ /*************************************************************************************/ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Folder\FolderCreateEvent; use Thelia\Core\Event\Folder\FolderDeleteEvent; use Thelia\Core\Event\Folder\FolderToggleVisibilityEvent; @@ -47,10 +48,10 @@ class FolderController extends AbstractCrudController 'manual', 'folder_order', - 'admin.folder.default', - 'admin.folder.create', - 'admin.folder.update', - 'admin.folder.delete', + AdminResources::FOLDER_VIEW, + AdminResources::FOLDER_CREATE, + AdminResources::FOLDER_UPDATE, + AdminResources::FOLDER_DELETE, TheliaEvents::FOLDER_CREATE, TheliaEvents::FOLDER_UPDATE, diff --git a/core/lib/Thelia/Controller/Admin/LanguageController.php b/core/lib/Thelia/Controller/Admin/LanguageController.php index aa818daad..e6ea4890b 100644 --- a/core/lib/Thelia/Controller/Admin/LanguageController.php +++ b/core/lib/Thelia/Controller/Admin/LanguageController.php @@ -23,6 +23,8 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; + /** * Class LanguageController * @package Thelia\Controller\Admin @@ -32,7 +34,7 @@ class LanguageController extends BaseAdminController { public function defaultAction() { - if (null !== $response = $this->checkAuth("admin.configuration.languages.view")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::LANGUAGE_VIEW)) return $response; return $this->render("languages"); } diff --git a/core/lib/Thelia/Controller/Admin/MailingSystemController.php b/core/lib/Thelia/Controller/Admin/MailingSystemController.php index 89defe01d..7cc1a6727 100644 --- a/core/lib/Thelia/Controller/Admin/MailingSystemController.php +++ b/core/lib/Thelia/Controller/Admin/MailingSystemController.php @@ -23,6 +23,8 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; + /** * Class MailingSystemController * @package Thelia\Controller\Admin @@ -32,7 +34,7 @@ class MailingSystemController extends BaseAdminController { public function defaultAction() { - if (null !== $response = $this->checkAuth("admin.configuration.mailing-system.view")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::MAILING_SYSTEM_VIEW)) return $response; return $this->render("mailing-system"); } diff --git a/core/lib/Thelia/Controller/Admin/MessageController.php b/core/lib/Thelia/Controller/Admin/MessageController.php index 176fa7de8..71da8b9cf 100644 --- a/core/lib/Thelia/Controller/Admin/MessageController.php +++ b/core/lib/Thelia/Controller/Admin/MessageController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Message\MessageDeleteEvent; use Thelia\Core\Event\TheliaEvents;use Thelia\Core\Event\Message\MessageUpdateEvent; use Thelia\Core\Event\Message\MessageCreateEvent; @@ -44,10 +45,10 @@ class MessageController extends AbstractCrudController null, // no sort order change null, // no sort order change - 'admin.configuration.messages.view', - 'admin.configuration.messages.create', - 'admin.configuration.messages.update', - 'admin.configuration.messages.delete', + AdminResources::MESSAGE_VIEW, + AdminResources::MESSAGE_CREATE, + AdminResources::MESSAGE_UPDATE, + AdminResources::MESSAGE_DELETE, TheliaEvents::MESSAGE_CREATE, TheliaEvents::MESSAGE_UPDATE, diff --git a/core/lib/Thelia/Controller/Admin/ModuleController.php b/core/lib/Thelia/Controller/Admin/ModuleController.php index 03691c069..a2079cee7 100644 --- a/core/lib/Thelia/Controller/Admin/ModuleController.php +++ b/core/lib/Thelia/Controller/Admin/ModuleController.php @@ -23,6 +23,13 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; + +use Thelia\Core\Event\Module\ModuleDeleteEvent; +use Thelia\Core\Event\Module\ModuleToggleActivationEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Module\ModuleManagement; + /** * Class ModuleController * @package Thelia\Controller\Admin @@ -32,8 +39,12 @@ class ModuleController extends BaseAdminController { public function indexAction() { - if (null !== $response = $this->checkAuth("admin.module.view")) return $response; - return $this->render("modules", array("display_module" => 20)); + if (null !== $response = $this->checkAuth(AdminResources::MODULE_VIEW)) return $response; + + $modulemanagement = new ModuleManagement(); + $modulemanagement->updateModules(); + + return $this->render("modules"); } public function updateAction($module_id) @@ -42,4 +53,68 @@ class ModuleController extends BaseAdminController "module_id" => $module_id )); } + + public function toggleActivationAction($module_id) + { + if (null !== $response = $this->checkAuth("admin.module.update")) return $response; + $message = null; + try { + $event = new ModuleToggleActivationEvent($module_id); + $this->dispatch(TheliaEvents::MODULE_TOGGLE_ACTIVATION, $event); + + if (null === $event->getModule()) { + throw new \LogicException( + $this->getTranslator()->trans("No %obj was updated.", array('%obj' => 'Module'))); + } + } catch (\Exception $e) { + $message = $e->getMessage(); + } + + if ($this->getRequest()->isXmlHttpRequest()) { + if ($message) { + $response = $this->jsonResponse(json_encode(array( + "error" => $message + )), 500); + } else { + $response = $this->nullResponse(); + } + + } else { + $this->redirectToRoute('admin.module'); + } + + return $response; + } + + public function deleteAction() + { + if (null !== $response = $this->checkAuth("admin.module.delete")) return $response; + + $message = null; + try { + + $module_id = $this->getRequest()->get('module_id'); + + $deleteEvent = new ModuleDeleteEvent($module_id); + + $this->dispatch(TheliaEvents::MODULE_DELETE, $deleteEvent); + + if($deleteEvent->hasModule() === false) { + throw new \LogicException( + $this->getTranslator()->trans("No %obj was updated.", array('%obj' => 'Module'))); + } + + } catch (\Exception $e) { + \Thelia\Log\Tlog::getInstance()->error(sprintf("error during module removal : %s", $message)); + $message = $e->getMessage(); + } + + if($message) { + return $this->render("modules", array( + "error_message" => $message + )); + } else { + $this->redirectToRoute('admin.module'); + } + } } diff --git a/core/lib/Thelia/Controller/Admin/OrderController.php b/core/lib/Thelia/Controller/Admin/OrderController.php index 1df0679f0..1756582cc 100644 --- a/core/lib/Thelia/Controller/Admin/OrderController.php +++ b/core/lib/Thelia/Controller/Admin/OrderController.php @@ -24,6 +24,7 @@ namespace Thelia\Controller\Admin; use Symfony\Component\HttpFoundation\Response; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Order\OrderAddressEvent; use Thelia\Core\Event\Order\OrderEvent; use Thelia\Core\Event\PdfEvent; @@ -44,7 +45,7 @@ class OrderController extends BaseAdminController { public function indexAction() { - if (null !== $response = $this->checkAuth("admin.orders.view")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::ORDER_VIEW)) return $response; return $this->render("orders", array("display_order" => 20)); } @@ -57,7 +58,7 @@ class OrderController extends BaseAdminController public function updateStatus($order_id = null) { - if (null !== $response = $this->checkAuth("admin.order.update")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::ORDER_UPDATE)) return $response; $message = null; @@ -108,7 +109,7 @@ class OrderController extends BaseAdminController public function updateDeliveryRef($order_id) { - if (null !== $response = $this->checkAuth("admin.order.update")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::ORDER_UPDATE)) return $response; $message = null; @@ -143,7 +144,7 @@ class OrderController extends BaseAdminController public function updateAddress($order_id) { - if (null !== $response = $this->checkAuth("admin.order.update")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::ORDER_UPDATE)) return $response; $message = null; @@ -209,8 +210,7 @@ class OrderController extends BaseAdminController protected function generatePdf($order_id, $fileName) { - if (null !== $response = $this->checkAuth("admin.order.update")) return $response; - + if (null !== $response = $this->checkAuth(AdminResources::ORDER_UPDATE)) return $response; $html = $this->renderRaw( $fileName, @@ -227,7 +227,7 @@ class OrderController extends BaseAdminController $this->dispatch(TheliaEvents::GENERATE_PDF, $pdfEvent); - if($pdfEvent->hasPdf()) { + if ($pdfEvent->hasPdf()) { return Response::create($pdfEvent->getPdf(), 200, array( 'Content-type' => "application/pdf", diff --git a/core/lib/Thelia/Controller/Admin/ProductController.php b/core/lib/Thelia/Controller/Admin/ProductController.php index 4ff40abff..8c56ba55a 100644 --- a/core/lib/Thelia/Controller/Admin/ProductController.php +++ b/core/lib/Thelia/Controller/Admin/ProductController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Product\ProductAddCategoryEvent; use Thelia\Core\Event\Product\ProductDeleteCategoryEvent; use Thelia\Core\Event\Product\ProductDeleteEvent; @@ -61,10 +62,10 @@ class ProductController extends AbstractCrudController 'manual', 'product_order', - 'admin.products.default', - 'admin.products.create', - 'admin.products.update', - 'admin.products.delete', + AdminResources::PRODUCT_VIEW, + AdminResources::PRODUCT_CREATE, + AdminResources::PRODUCT_UPDATE, + AdminResources::PRODUCT_DELETE, TheliaEvents::PRODUCT_CREATE, TheliaEvents::PRODUCT_UPDATE, @@ -280,7 +281,7 @@ class ProductController extends AbstractCrudController public function setToggleVisibilityAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $event = new ProductToggleVisibilityEvent($this->getExistingObject()); @@ -356,7 +357,7 @@ class ProductController extends AbstractCrudController { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $content_id = intval($this->getRequest()->get('content_id')); @@ -382,7 +383,7 @@ class ProductController extends AbstractCrudController { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $content_id = intval($this->getRequest()->get('content_id')); @@ -434,7 +435,7 @@ class ProductController extends AbstractCrudController public function addAccessoryAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $accessory_id = intval($this->getRequest()->get('accessory_id')); @@ -459,7 +460,7 @@ class ProductController extends AbstractCrudController public function deleteAccessoryAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $accessory_id = intval($this->getRequest()->get('accessory_id')); @@ -515,7 +516,7 @@ class ProductController extends AbstractCrudController public function setProductTemplateAction($productId) { // Check current user authorization - if (null !== $response = $this->checkAuth('admin.products.update')) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $product = ProductQuery::create()->findPk($productId); @@ -612,7 +613,7 @@ class ProductController extends AbstractCrudController public function addAdditionalCategoryAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $category_id = intval($this->getRequest()->request->get('additional_category_id')); @@ -637,7 +638,7 @@ class ProductController extends AbstractCrudController public function deleteAdditionalCategoryAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $category_id = intval($this->getRequest()->get('additional_category_id')); @@ -734,7 +735,7 @@ class ProductController extends AbstractCrudController public function addCombinationAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $event = new ProductCreateCombinationEvent( $this->getExistingObject(), @@ -759,7 +760,7 @@ class ProductController extends AbstractCrudController public function deleteCombinationAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.products.update")) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $event = new ProductDeleteCombinationEvent( $this->getExistingObject(), diff --git a/core/lib/Thelia/Controller/Admin/ProfileController.php b/core/lib/Thelia/Controller/Admin/ProfileController.php new file mode 100644 index 000000000..345093303 --- /dev/null +++ b/core/lib/Thelia/Controller/Admin/ProfileController.php @@ -0,0 +1,229 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Admin; + +use Thelia\Core\Event\AdminResources; +use Thelia\Core\Event\Profile\ProfileEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Form\ProfileCreationForm; +use Thelia\Form\ProfileModificationForm; +use Thelia\Form\ProfileProfileListUpdateForm; +use Thelia\Model\ProfileQuery; + +class ProfileController extends AbstractCrudController +{ + public function __construct() + { + parent::__construct( + 'profile', + 'manual', + 'order', + + AdminResources::PRODUCT_VIEW, + AdminResources::PRODUCT_CREATE, + AdminResources::PRODUCT_UPDATE, + AdminResources::PRODUCT_DELETE, + + TheliaEvents::PROFILE_CREATE, + TheliaEvents::PROFILE_UPDATE, + TheliaEvents::PROFILE_DELETE + ); + } + + protected function getCreationForm() + { + return new ProfileCreationForm($this->getRequest()); + } + + protected function getUpdateForm() + { + return new ProfileModificationForm($this->getRequest()); + } + + protected function getCreationEvent($formData) + { + $event = new ProfileEvent(); + + $event->setLocale($formData['locale']); + $event->setCode($formData['code']); + $event->setTitle($formData['title']); + $event->setChapo($formData['chapo']); + $event->setDescription($formData['description']); + $event->setPostscriptum($formData['postscriptum']); + + return $event; + } + + protected function getUpdateEvent($formData) + { + $event = new ProfileEvent(); + + $event->setLocale($formData['locale']); + $event->setId($formData['id']); + $event->setTitle($formData['title']); + $event->setChapo($formData['chapo']); + $event->setDescription($formData['description']); + $event->setPostscriptum($formData['postscriptum']); + + return $event; + } + + protected function getDeleteEvent() + { + $event = new ProfileEvent(); + + $event->setId( + $this->getRequest()->get('profile_id', 0) + ); + + return $event; + } + + protected function eventContainsObject($event) + { + return $event->hasProfile(); + } + + protected function hydrateObjectForm($object) + { + $data = array( + 'id' => $object->getId(), + 'locale' => $object->getLocale(), + 'title' => $object->getTitle(), + 'description' => $object->getDescription(), + 'code' => $object->getCode(), + ); + + // Setup the object form + return new ProfileModificationForm($this->getRequest(), "form", $data); + } + + protected function getObjectFromEvent($event) + { + return $event->hasProfile() ? $event->getProfile() : null; + } + + protected function getExistingObject() + { + return ProfileQuery::create() + ->joinWithI18n($this->getCurrentEditionLocale()) + ->findOneById($this->getRequest()->get('profile_id')); + } + + protected function getObjectLabel($object) + { + return $object->getTitle(); + } + + protected function getObjectId($object) + { + return $object->getId(); + } + + protected function getViewArguments() + { + return array(); + } + + protected function getRouteArguments($profile_id = null) + { + return array( + 'profile_id' => $profile_id === null ? $this->getRequest()->get('profile_id') : $profile_id, + ); + } + + protected function renderListTemplate($currentOrder) + { + // We always return to the feature edition form + return $this->render( + 'profiles', + array() + ); + } + + protected function renderEditionTemplate() + { + // We always return to the feature edition form + return $this->render('profile-edit', array_merge($this->getViewArguments(), $this->getRouteArguments())); + } + + protected function redirectToEditionTemplate($request = null, $country = null) + { + // We always return to the feature edition form + $this->redirectToRoute( + "admin.configuration.profiles.update", + $this->getViewArguments($country), + $this->getRouteArguments() + ); + } + + /** + * Put in this method post object creation processing if required. + * + * @param ProfileEvent $createEvent the create event + * @return Response a response, or null to continue normal processing + */ + protected function performAdditionalCreateAction($createEvent) + { + $this->redirectToRoute( + "admin.configuration.profiles.update", + $this->getViewArguments(), + $this->getRouteArguments($createEvent->getProfile()->getId()) + ); + } + + protected function redirectToListTemplate() + { + $this->redirectToRoute( + "admin.configuration.profiles.list" + ); + } + + protected function checkRequirements($formData) + { + $type = $formData['type']; + + + } + + protected function getRequirements($type, $formData) + { + $requirements = array(); + foreach($formData as $data => $value) { + if(!strstr($data, ':')) { + continue; + } + + $couple = explode(':', $data); + + if(count($couple) != 2 || $couple[0] != $type) { + continue; + } + + $requirements[$couple[1]] = $value; + } + + return $requirements; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Controller/Admin/ShippingZoneController.php b/core/lib/Thelia/Controller/Admin/ShippingZoneController.php index d68de4808..5b0cd6dcc 100644 --- a/core/lib/Thelia/Controller/Admin/ShippingZoneController.php +++ b/core/lib/Thelia/Controller/Admin/ShippingZoneController.php @@ -22,6 +22,7 @@ /*************************************************************************************/ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\ShippingZone\ShippingZoneAddAreaEvent; use Thelia\Core\Event\ShippingZone\ShippingZoneRemoveAreaEvent; use Thelia\Core\Event\TheliaEvents; @@ -40,13 +41,13 @@ class ShippingZoneController extends BaseAdminController public function indexAction() { - if (null !== $response = $this->checkAuth("admin.shipping-zones.view")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::SHIPPING_ZONE_VIEW)) return $response; return $this->render("shipping-zones", array("display_shipping_zone" => 20)); } public function updateAction($shipping_zones_id) { - if (null !== $response = $this->checkAuth("admin.shipping-zones.view")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::SHIPPING_ZONE_VIEW)) return $response; return $this->render("shipping-zones-edit", array( "shipping_zones_id" => $shipping_zones_id )); @@ -57,7 +58,7 @@ class ShippingZoneController extends BaseAdminController */ public function addArea() { - if (null !== $response = $this->checkAuth("admin.shipping-zones.update")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::SHIPPING_ZONE_UPDATE)) return $response; $shippingAreaForm = new ShippingZoneAddArea($this->getRequest()); $error_msg = null; @@ -92,7 +93,7 @@ class ShippingZoneController extends BaseAdminController public function removeArea() { - if (null !== $response = $this->checkAuth("admin.shipping-zones.update")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::SHIPPING_ZONE_UPDATE)) return $response; $shippingAreaForm = new ShippingZoneRemoveArea($this->getRequest()); $error_msg = null; @@ -140,5 +141,4 @@ class ShippingZoneController extends BaseAdminController return $this->getRequest()->get('shipping_zone_id', 0); } - } diff --git a/core/lib/Thelia/Controller/Admin/TaxController.php b/core/lib/Thelia/Controller/Admin/TaxController.php new file mode 100644 index 000000000..d0166c9c5 --- /dev/null +++ b/core/lib/Thelia/Controller/Admin/TaxController.php @@ -0,0 +1,228 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Admin; + +use Thelia\Core\Event\AdminResources; +use Thelia\Core\Event\Tax\TaxEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Form\TaxCreationForm; +use Thelia\Form\TaxModificationForm; +use Thelia\Form\TaxTaxListUpdateForm; +use Thelia\Model\TaxQuery; + +class TaxController extends AbstractCrudController +{ + public function __construct() + { + parent::__construct( + 'tax', + 'manual', + 'order', + + AdminResources::TAX_VIEW, + AdminResources::TAX_CREATE, + AdminResources::TAX_UPDATE, + AdminResources::TAX_DELETE, + + TheliaEvents::TAX_CREATE, + TheliaEvents::TAX_UPDATE, + TheliaEvents::TAX_DELETE + ); + } + + protected function getCreationForm() + { + return new TaxCreationForm($this->getRequest()); + } + + protected function getUpdateForm() + { + return new TaxModificationForm($this->getRequest()); + } + + protected function getCreationEvent($formData) + { + $event = new TaxEvent(); + + $event->setLocale($formData['locale']); + $event->setTitle($formData['title']); + $event->setDescription($formData['description']); + $event->setType($formData['type']); + $event->setRequirements($this->getRequirements($formData['type'], $formData)); + + return $event; + } + + protected function getUpdateEvent($formData) + { + $event = new TaxEvent(); + + $event->setLocale($formData['locale']); + $event->setId($formData['id']); + $event->setTitle($formData['title']); + $event->setDescription($formData['description']); + $event->setType($formData['type']); + $event->setRequirements($this->getRequirements($formData['type'], $formData)); + + return $event; + } + + protected function getDeleteEvent() + { + $event = new TaxEvent(); + + $event->setId( + $this->getRequest()->get('tax_id', 0) + ); + + return $event; + } + + protected function eventContainsObject($event) + { + return $event->hasTax(); + } + + protected function hydrateObjectForm($object) + { + $data = array( + 'id' => $object->getId(), + 'locale' => $object->getLocale(), + 'title' => $object->getTitle(), + 'description' => $object->getDescription(), + 'type' => $object->getType(), + ); + + // Setup the object form + return new TaxModificationForm($this->getRequest(), "form", $data); + } + + protected function getObjectFromEvent($event) + { + return $event->hasTax() ? $event->getTax() : null; + } + + protected function getExistingObject() + { + return TaxQuery::create() + ->joinWithI18n($this->getCurrentEditionLocale()) + ->findOneById($this->getRequest()->get('tax_id')); + } + + protected function getObjectLabel($object) + { + return $object->getTitle(); + } + + protected function getObjectId($object) + { + return $object->getId(); + } + + protected function getViewArguments() + { + return array(); + } + + protected function getRouteArguments($tax_id = null) + { + return array( + 'tax_id' => $tax_id === null ? $this->getRequest()->get('tax_id') : $tax_id, + ); + } + + protected function renderListTemplate($currentOrder) + { + // We always return to the feature edition form + return $this->render( + 'taxes-rules', + array() + ); + } + + protected function renderEditionTemplate() + { + // We always return to the feature edition form + return $this->render('tax-edit', array_merge($this->getViewArguments(), $this->getRouteArguments())); + } + + protected function redirectToEditionTemplate($request = null, $country = null) + { + // We always return to the feature edition form + $this->redirectToRoute( + "admin.configuration.taxes.update", + $this->getViewArguments($country), + $this->getRouteArguments() + ); + } + + /** + * Put in this method post object creation processing if required. + * + * @param TaxEvent $createEvent the create event + * @return Response a response, or null to continue normal processing + */ + protected function performAdditionalCreateAction($createEvent) + { + $this->redirectToRoute( + "admin.configuration.taxes.update", + $this->getViewArguments(), + $this->getRouteArguments($createEvent->getTax()->getId()) + ); + } + + protected function redirectToListTemplate() + { + $this->redirectToRoute( + "admin.configuration.taxes-rules.list" + ); + } + + protected function checkRequirements($formData) + { + $type = $formData['type']; + + + } + + protected function getRequirements($type, $formData) + { + $requirements = array(); + foreach($formData as $data => $value) { + if(!strstr($data, ':')) { + continue; + } + + $couple = explode(':', $data); + + if(count($couple) != 2 || $couple[0] != $type) { + continue; + } + + $requirements[$couple[1]] = $value; + } + + return $requirements; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Controller/Admin/TaxRuleController.php b/core/lib/Thelia/Controller/Admin/TaxRuleController.php index b0ceba67e..929df576e 100644 --- a/core/lib/Thelia/Controller/Admin/TaxRuleController.php +++ b/core/lib/Thelia/Controller/Admin/TaxRuleController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Tax\TaxRuleEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Form\TaxRuleCreationForm; @@ -40,10 +41,10 @@ class TaxRuleController extends AbstractCrudController 'manual', 'order', - 'admin.configuration.taxrule.view', - 'admin.configuration.taxrule.create', - 'admin.configuration.taxrule.update', - 'admin.configuration.taxrule.delete', + AdminResources::TAX_VIEW, + AdminResources::TAX_CREATE, + AdminResources::TAX_UPDATE, + AdminResources::TAX_DELETE, TheliaEvents::TAX_RULE_CREATE, TheliaEvents::TAX_RULE_UPDATE, @@ -199,8 +200,8 @@ class TaxRuleController extends AbstractCrudController /** * Put in this method post object creation processing if required. * - * @param TaxRuleEvent $createEvent the create event - * @return Response a response, or null to continue normal processing + * @param TaxRuleEvent $createEvent the create event + * @return Response a response, or null to continue normal processing */ protected function performAdditionalCreateAction($createEvent) { @@ -236,10 +237,27 @@ class TaxRuleController extends AbstractCrudController return parent::updateAction(); } + public function setDefaultAction() + { + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; + + $setDefaultEvent = new TaxRuleEvent(); + + $taxRuleId = $this->getRequest()->attributes->get('tax_rule_id'); + + $setDefaultEvent->setId( + $taxRuleId + ); + + $this->dispatch(TheliaEvents::TAX_RULE_SET_DEFAULT, $setDefaultEvent); + + $this->redirectToListTemplate(); + } + public function processUpdateTaxesAction() { // Check current user authorization - if (null !== $response = $this->checkAuth('admin.configuration.taxrule.update')) return $response; + if (null !== $response = $this->checkAuth($this->updatePermissionIdentifier)) return $response; $error_msg = false; @@ -284,4 +302,4 @@ class TaxRuleController extends AbstractCrudController // At this point, the form has errors, and should be redisplayed. return $this->renderEditionTemplate(); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Controller/Admin/TemplateController.php b/core/lib/Thelia/Controller/Admin/TemplateController.php index bdeac9fd2..ba4a1cccf 100644 --- a/core/lib/Thelia/Controller/Admin/TemplateController.php +++ b/core/lib/Thelia/Controller/Admin/TemplateController.php @@ -23,6 +23,7 @@ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Event\Template\TemplateDeleteEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\Template\TemplateUpdateEvent; @@ -51,10 +52,10 @@ class TemplateController extends AbstractCrudController null, null, - 'admin.configuration.templates.view', - 'admin.configuration.templates.create', - 'admin.configuration.templates.update', - 'admin.configuration.templates.delete', + AdminResources::TEMPLATE_VIEW, + AdminResources::TEMPLATE_CREATE, + AdminResources::TEMPLATE_UPDATE, + AdminResources::TEMPLATE_DELETE, TheliaEvents::TEMPLATE_CREATE, TheliaEvents::TEMPLATE_UPDATE, @@ -212,7 +213,7 @@ class TemplateController extends AbstractCrudController public function addAttributeAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.template.attribute.add")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::TEMPLATE_UPDATE)) return $response; $attribute_id = intval($this->getRequest()->get('attribute_id')); @@ -236,7 +237,7 @@ class TemplateController extends AbstractCrudController public function deleteAttributeAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.template.attribute.delete")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::TEMPLATE_UPDATE)) return $response; $event = new TemplateDeleteAttributeEvent( $this->getExistingObject(), @@ -271,7 +272,7 @@ class TemplateController extends AbstractCrudController public function addFeatureAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.template.feature.add")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::TEMPLATE_UPDATE)) return $response; $feature_id = intval($this->getRequest()->get('feature_id')); @@ -295,7 +296,7 @@ class TemplateController extends AbstractCrudController public function deleteFeatureAction() { // Check current user authorization - if (null !== $response = $this->checkAuth("admin.configuration.template.feature.delete")) return $response; + if (null !== $response = $this->checkAuth(AdminResources::TEMPLATE_UPDATE)) return $response; $event = new TemplateDeleteFeatureEvent( $this->getExistingObject(), diff --git a/core/lib/Thelia/Controller/BaseController.php b/core/lib/Thelia/Controller/BaseController.php index 8c819159b..548ef9681 100755 --- a/core/lib/Thelia/Controller/BaseController.php +++ b/core/lib/Thelia/Controller/BaseController.php @@ -58,7 +58,7 @@ class BaseController extends ContainerAware /** * Return an empty response (after an ajax request, for example) */ - protected function nullResponse($status = 200) + protected function nullResponse($content = null, $status = 200) { return new Response(null, $status); } @@ -66,9 +66,9 @@ class BaseController extends ContainerAware /** * Return a JSON response */ - protected function jsonResponse($json_data) + protected function jsonResponse($json_data, $status = 200) { - return new Response($json_data, 200, array('content-type' => 'application/json')); + return new Response($json_data, $status, array('content-type' => 'application/json')); } /** @@ -303,4 +303,17 @@ class BaseController extends ContainerAware return $mailer->getSwiftMailer(); } + + /** + * @return ParserInterface instance parser + */ + protected function getParser() + { + return $this->container->get("thelia.parser"); + } + + protected function render($inline) + { + return $this->getParser()->fetch(sprintf("string:%s", $inline)); + } } diff --git a/core/lib/Thelia/Controller/Front/ContactController.php b/core/lib/Thelia/Controller/Front/ContactController.php new file mode 100644 index 000000000..543d65c71 --- /dev/null +++ b/core/lib/Thelia/Controller/Front/ContactController.php @@ -0,0 +1,73 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Front; +use Thelia\Form\ContactForm; +use Thelia\Form\Exception\FormValidationException; +use Thelia\Model\ConfigQuery; + + +/** + * Class ContactController + * @package Thelia\Controller\Front + * @author Manuel Raynaud + */ +class ContactController extends BaseFrontController +{ + /** + * send contact message + */ + public function sendAction() + { + $error_message = false; + $contactForm = new ContactForm($this->getRequest()); + + try { + $form = $this->validateForm($contactForm); + + $message = \Swift_Message::newInstance($form->get('subject')->getData()) + ->addFrom($form->get('email')->getData(), $form->get('firstname')->getData().' '.$form->get('lastname')->getData()) + ->addTo(ConfigQuery::read('contact_email'), ConfigQuery::read('company_name')) + ->setBody($form->get('message')->getData()) + ; + + $this->getMailer()->send($message); + + } catch(FormValidationException $e) { + $error_message = $e->getMessage(); + } + + if ($error_message !== false) { + \Thelia\Log\Tlog::getInstance()->error(sprintf('Error during sending contact mail : %s', $error_message)); + + $contactForm->setErrorMessage($error_message); + + $this->getParserContext() + ->addForm($contactForm) + ->setGeneralError($error_message) + ; + } else { + $this->redirectToRoute('contact.success'); + } + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Controller/Front/Mail.php b/core/lib/Thelia/Controller/Front/Mail.php new file mode 100644 index 000000000..dfaf2d4fa --- /dev/null +++ b/core/lib/Thelia/Controller/Front/Mail.php @@ -0,0 +1,49 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Front; + + +/** + * Class Mail + * @package Thelia\Controller\Front + * @author Manuel Raynaud + */ +class Mail extends BaseFrontController +{ + /** + * This is a demo how to send a mail using swiftmailer + smarty + */ + public function test() + { + $message = \Swift_Message::newInstance('Wonderful Subject') + ->setFrom(array('john@doe.com' => 'John Doe')) + ->setTo(array('mraynaud@openstudio.fr' => 'name')) + ->setBody($this->render('Here is the message itself')) + ; + + $this->getMailer()->send($message); + + exit; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Core/Event/Area/AreaAddCountryEvent.php b/core/lib/Thelia/Core/Event/Area/AreaAddCountryEvent.php index b6af3c5b3..5c98c071c 100644 --- a/core/lib/Thelia/Core/Event/Area/AreaAddCountryEvent.php +++ b/core/lib/Thelia/Core/Event/Area/AreaAddCountryEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Area; - /** * Class AreaAddCountryEvent * @package Thelia\Core\Event\Area @@ -34,7 +33,7 @@ class AreaAddCountryEvent extends AreaEvent protected $area_id; protected $country_id; - function __construct($area_id, $country_id) + public function __construct($area_id, $country_id) { $this->area_id = $area_id; $this->country_id = $country_id; @@ -80,7 +79,4 @@ class AreaAddCountryEvent extends AreaEvent return $this->country_id; } - - - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php b/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php index d63afa5b9..32dc7a6c8 100644 --- a/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php +++ b/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Area; - /** * Class AreaCreateEvent * @package Thelia\Core\Event\Area @@ -49,5 +48,4 @@ class AreaCreateEvent extends AreaEvent return $this->name; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php b/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php index 86f936140..2a83c98a4 100644 --- a/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php +++ b/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Area; - /** * Class AreaDeleteEvent * @package Thelia\Core\Event\Area @@ -61,5 +60,4 @@ class AreaDeleteEvent extends AreaEvent return $this->area_id; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Area/AreaEvent.php b/core/lib/Thelia/Core/Event/Area/AreaEvent.php index 892d00843..9e0c2dc00 100644 --- a/core/lib/Thelia/Core/Event/Area/AreaEvent.php +++ b/core/lib/Thelia/Core/Event/Area/AreaEvent.php @@ -24,7 +24,6 @@ namespace Thelia\Core\Event\Area; use Thelia\Core\Event\ActionEvent; - /** * Class AreaEvent * @package Thelia\Core\Event\Shipping @@ -63,4 +62,4 @@ class AreaEvent extends ActionEvent { return null !== $this->area; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Area/AreaRemoveCountryEvent.php b/core/lib/Thelia/Core/Event/Area/AreaRemoveCountryEvent.php index 84c8f10d2..92cfd57d3 100644 --- a/core/lib/Thelia/Core/Event/Area/AreaRemoveCountryEvent.php +++ b/core/lib/Thelia/Core/Event/Area/AreaRemoveCountryEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Area; - /** * Class AreaRemoveCountryEvent * @package Thelia\Core\Event\Area @@ -32,4 +31,4 @@ namespace Thelia\Core\Event\Area; class AreaRemoveCountryEvent extends AreaAddCountryEvent { -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php b/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php index f5f7c8704..361607f42 100644 --- a/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php +++ b/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Area; - /** * Class AreaUpdateEvent * @package Thelia\Core\Event\Area @@ -32,4 +31,4 @@ namespace Thelia\Core\Event\Area; class AreaUpdateEvent extends AreaCreateEvent { -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Area/AreaUpdatePostageEvent.php b/core/lib/Thelia/Core/Event/Area/AreaUpdatePostageEvent.php index 5f799b93c..b9cb825c4 100644 --- a/core/lib/Thelia/Core/Event/Area/AreaUpdatePostageEvent.php +++ b/core/lib/Thelia/Core/Event/Area/AreaUpdatePostageEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Area; - /** * Class AreaUpdatePostageEvent * @package Thelia\Core\Event\Area @@ -34,7 +33,7 @@ class AreaUpdatePostageEvent extends AreaEvent protected $area_id; protected $postage; - function __construct($area_id) + public function __construct($area_id) { $this->area_id = $area_id; } @@ -79,7 +78,4 @@ class AreaUpdatePostageEvent extends AreaEvent return $this->postage; } - - - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Cache/CacheEvent.php b/core/lib/Thelia/Core/Event/Cache/CacheEvent.php new file mode 100644 index 000000000..7b21db53d --- /dev/null +++ b/core/lib/Thelia/Core/Event/Cache/CacheEvent.php @@ -0,0 +1,65 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Cache; + +use Thelia\Core\Event\ActionEvent; + +/** + * Class CacheEvent + * @package Thelia\Core\Event\Cache + * @author Manuel Raynaud + */ +class CacheEvent extends ActionEvent +{ + /** + * @var string cache directory + */ + protected $dir; + + public function __construct($dir) + { + $this->dir = $dir; + } + + /** + * @param mixed $dir + * + * @return $this + */ + public function setDir($dir) + { + $this->dir = $dir; + + return $this; + } + + /** + * @return mixed + */ + public function getDir() + { + return $this->dir; + } + +} diff --git a/core/lib/Thelia/Core/Event/Content/ContentAddFolderEvent.php b/core/lib/Thelia/Core/Event/Content/ContentAddFolderEvent.php index a1d1d44e1..dac4317ba 100644 --- a/core/lib/Thelia/Core/Event/Content/ContentAddFolderEvent.php +++ b/core/lib/Thelia/Core/Event/Content/ContentAddFolderEvent.php @@ -24,7 +24,6 @@ namespace Thelia\Core\Event\Content; use Thelia\Model\Content; - /** * Class ContentAddFolderEvent * @package Thelia\Core\Event\Content @@ -61,6 +60,4 @@ class ContentAddFolderEvent extends ContentEvent return $this->folderId; } - - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Content/ContentRemoveFolderEvent.php b/core/lib/Thelia/Core/Event/Content/ContentRemoveFolderEvent.php index 195f4f3b0..1733ec893 100644 --- a/core/lib/Thelia/Core/Event/Content/ContentRemoveFolderEvent.php +++ b/core/lib/Thelia/Core/Event/Content/ContentRemoveFolderEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Content; - /** * Class ContentRemoveFolderEvent * @package Thelia\Core\Event\Content @@ -31,4 +30,4 @@ namespace Thelia\Core\Event\Content; */ class ContentRemoveFolderEvent extends ContentAddFolderEvent { -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Country/CountryCreateEvent.php b/core/lib/Thelia/Core/Event/Country/CountryCreateEvent.php index 48e8469a4..92d6632ae 100644 --- a/core/lib/Thelia/Core/Event/Country/CountryCreateEvent.php +++ b/core/lib/Thelia/Core/Event/Country/CountryCreateEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Country; - /** * Class CountryCreateEvent * @package Thelia\Core\Event\Country @@ -150,5 +149,4 @@ class CountryCreateEvent extends CountryEvent return $this->area; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Country/CountryDeleteEvent.php b/core/lib/Thelia/Core/Event/Country/CountryDeleteEvent.php index 4a7d9c400..5d658ebc0 100644 --- a/core/lib/Thelia/Core/Event/Country/CountryDeleteEvent.php +++ b/core/lib/Thelia/Core/Event/Country/CountryDeleteEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Country; - /** * Class CountryDeleteEvent * @package Thelia\Core\Event\Country @@ -36,7 +35,7 @@ class CountryDeleteEvent extends CountryEvent */ protected $country_id; - function __construct($country_id) + public function __construct($country_id) { $this->country_id = $country_id; } @@ -57,4 +56,4 @@ class CountryDeleteEvent extends CountryEvent return $this->country_id; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Country/CountryEvent.php b/core/lib/Thelia/Core/Event/Country/CountryEvent.php index 962d880fa..505ead8ec 100644 --- a/core/lib/Thelia/Core/Event/Country/CountryEvent.php +++ b/core/lib/Thelia/Core/Event/Country/CountryEvent.php @@ -25,7 +25,6 @@ namespace Thelia\Core\Event\Country; use Thelia\Core\Event\ActionEvent; use Thelia\Model\Country; - /** * Class CountryEvent * @package Thelia\Core\Event\Country @@ -38,7 +37,7 @@ class CountryEvent extends ActionEvent */ protected $country; - function __construct(Country $country = null) + public function __construct(Country $country = null) { $this->country = $country; } @@ -69,5 +68,4 @@ class CountryEvent extends ActionEvent return null !== $this->country; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Country/CountryToggleDefaultEvent.php b/core/lib/Thelia/Core/Event/Country/CountryToggleDefaultEvent.php index 8f8142d0d..a414c70e8 100644 --- a/core/lib/Thelia/Core/Event/Country/CountryToggleDefaultEvent.php +++ b/core/lib/Thelia/Core/Event/Country/CountryToggleDefaultEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Country; - /** * Class CountryToggleDefaultEvent * @package Thelia\Core\Event\Country @@ -33,7 +32,7 @@ class CountryToggleDefaultEvent extends CountryEvent { protected $country_id; - function __construct($country_id) + public function __construct($country_id) { $this->country_id = $country_id; } @@ -45,4 +44,4 @@ class CountryToggleDefaultEvent extends CountryEvent { return $this->country_id; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Country/CountryUpdateEvent.php b/core/lib/Thelia/Core/Event/Country/CountryUpdateEvent.php index 496904172..2f82b17d0 100644 --- a/core/lib/Thelia/Core/Event/Country/CountryUpdateEvent.php +++ b/core/lib/Thelia/Core/Event/Country/CountryUpdateEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Country; - /** * Class CountryUpdateEvent * @package Thelia\Core\Event\Country @@ -37,7 +36,7 @@ class CountryUpdateEvent extends CountryCreateEvent protected $description; protected $postscriptum; - function __construct($country_id) + public function __construct($country_id) { $this->country_id = $country_id; } @@ -114,7 +113,4 @@ class CountryUpdateEvent extends CountryCreateEvent return $this->country_id; } - - - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php b/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php new file mode 100644 index 000000000..5622e3931 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Module/ModuleDeleteEvent.php @@ -0,0 +1,61 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Module; + + +/** + * Class ModuleDeleteEvent + * @package Thelia\Core\Event\Module + * @author Manuel Raynaud + */ +class ModuleDeleteEvent extends ModuleEvent +{ + /** + * @var int module id + */ + protected $module_id; + + function __construct($module_id) + { + $this->module_id = $module_id; + } + + /** + * @param int $module_id + */ + public function setModuleId($module_id) + { + $this->module_id = $module_id; + } + + /** + * @return int + */ + public function getModuleId() + { + return $this->module_id; + } + + +} \ No newline at end of file diff --git a/core/lib/Thelia/Core/Event/Module/ModuleEvent.php b/core/lib/Thelia/Core/Event/Module/ModuleEvent.php new file mode 100644 index 000000000..583a3afc9 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Module/ModuleEvent.php @@ -0,0 +1,70 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Module; +use Thelia\Core\Event\ActionEvent; +use Thelia\Model\Module; + +/** + * Class ModuleEvent + * @package Thelia\Core\Event\Module + * @author Manuel Raynaud + */ +class ModuleEvent extends ActionEvent +{ + /** + * @var \Thelia\Model\Module + */ + protected $module; + + public function __construct(Module $module = null) + { + $this->module = $module; + } + + /** + * @param \Thelia\Model\Module $module + * + * @return $this + */ + public function setModule(Module $module) + { + $this->module = $module; + + return $this; + } + + /** + * @return \Thelia\Model\Module + */ + public function getModule() + { + return $this->module; + } + + public function hasModule() + { + return null !== $this->module; + } + +} diff --git a/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php b/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php new file mode 100644 index 000000000..c6ece16f4 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Module/ModuleToggleActivationEvent.php @@ -0,0 +1,63 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Module; + +/** + * Class ModuleToggleActivationEvent + * @package Thelia\Core\Event\Module + * @author Manuel Raynaud + */ +class ModuleToggleActivationEvent extends ModuleEvent +{ + /** + * @var int + */ + protected $module_id; + + public function __construct($module_id) + { + $this->module_id = $module_id; + } + + /** + * @param int $module_id + * + * @return $this + */ + public function setModuleId($module_id) + { + $this->module_id = $module_id; + + return $this; + } + + /** + * @return int + */ + public function getModuleId() + { + return $this->module_id; + } + +} diff --git a/core/lib/Thelia/Core/Event/PdfEvent.php b/core/lib/Thelia/Core/Event/PdfEvent.php index e0f873e04..b439c8a23 100644 --- a/core/lib/Thelia/Core/Event/PdfEvent.php +++ b/core/lib/Thelia/Core/Event/PdfEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event; - /** * Class PdfEvent * @package Thelia\Core\Event @@ -44,12 +43,12 @@ class PdfEvent extends ActionEvent /** * @param $content html content to transform into pdf - * @param string $orientation page orientation, same as TCPDF - * @param string $format The format used for pages, same as TCPDF - * @param string $lang Lang : fr, en, it... - * @param bool $unicode TRUE means that the input text is unicode (default = true) - * @param string $encoding charset encoding; default is UTF-8 - * @param array $marges Default marges (left, top, right, bottom) + * @param string $orientation page orientation, same as TCPDF + * @param string $format The format used for pages, same as TCPDF + * @param string $lang Lang : fr, en, it... + * @param bool $unicode TRUE means that the input text is unicode (default = true) + * @param string $encoding charset encoding; default is UTF-8 + * @param array $marges Default marges (left, top, right, bottom) */ public function __construct($content, $orientation = 'P', $format = 'A4', $lang='fr', $unicode=true, $encoding='UTF-8',array $marges = array(0, 0, 0, 0)) { @@ -189,5 +188,4 @@ class PdfEvent extends ActionEvent return $this->unicode; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Product/ProductCreateEvent.php b/core/lib/Thelia/Core/Event/Product/ProductCreateEvent.php index a9f6bbea1..9717f171d 100644 --- a/core/lib/Thelia/Core/Event/Product/ProductCreateEvent.php +++ b/core/lib/Thelia/Core/Event/Product/ProductCreateEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Product; - class ProductCreateEvent extends ProductEvent { protected $ref; diff --git a/core/lib/Thelia/Core/Event/Product/ProductDeleteEvent.php b/core/lib/Thelia/Core/Event/Product/ProductDeleteEvent.php index 108ceb781..7a3406e7e 100644 --- a/core/lib/Thelia/Core/Event/Product/ProductDeleteEvent.php +++ b/core/lib/Thelia/Core/Event/Product/ProductDeleteEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Product; - class ProductDeleteEvent extends ProductEvent { public function __construct($product_id) diff --git a/core/lib/Thelia/Core/Event/Profile/ProfileEvent.php b/core/lib/Thelia/Core/Event/Profile/ProfileEvent.php new file mode 100644 index 000000000..e4f236862 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Profile/ProfileEvent.php @@ -0,0 +1,131 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Profile; + +use Thelia\Core\Event\ActionEvent; +use Thelia\Model\Profile; + +class ProfileEvent extends ActionEvent +{ + protected $profile = null; + protected $id = null; + protected $locale = null; + protected $code = null; + protected $title = null; + protected $chapo = null; + protected $description = null; + protected $postscriptum = null; + + public function __construct(Profile $profile = null) + { + $this->profile = $profile; + } + + public function hasProfile() + { + return ! is_null($this->profile); + } + + public function getProfile() + { + return $this->profile; + } + + public function setProfile(Profile $profile) + { + $this->profile = $profile; + + return $this; + } + + public function setId($id) + { + $this->id = $id; + } + + public function getId() + { + return $this->id; + } + + public function setCode($code) + { + $this->code = $code; + } + + public function getCode() + { + return $this->code; + } + + public function setChapo($chapo) + { + $this->chapo = $chapo; + } + + public function getChapo() + { + return $this->chapo; + } + + public function setDescription($description) + { + $this->description = $description; + } + + public function getDescription() + { + return $this->description; + } + + public function setLocale($locale) + { + $this->locale = $locale; + } + + public function getLocale() + { + return $this->locale; + } + + public function setPostscriptum($postscriptum) + { + $this->postscriptum = $postscriptum; + } + + public function getPostscriptum() + { + return $this->postscriptum; + } + + public function setTitle($title) + { + $this->title = $title; + } + + public function getTitle() + { + return $this->title; + } +} diff --git a/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneAddAreaEvent.php b/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneAddAreaEvent.php index d1e406646..35f3dcac1 100644 --- a/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneAddAreaEvent.php +++ b/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneAddAreaEvent.php @@ -24,7 +24,6 @@ namespace Thelia\Core\Event\ShippingZone; use Thelia\Core\Event\ActionEvent; - /** * Class ShippingZoneAddAreaEvent * @package Thelia\Core\Event\ShippingZone @@ -35,7 +34,7 @@ class ShippingZoneAddAreaEvent extends ActionEvent protected $area_id; protected $shopping_zone_id; - function __construct($area_id, $shopping_zone_id) + public function __construct($area_id, $shopping_zone_id) { $this->area_id = $area_id; $this->shopping_zone_id = $shopping_zone_id; @@ -81,7 +80,4 @@ class ShippingZoneAddAreaEvent extends ActionEvent return $this->shopping_zone_id; } - - - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneRemoveAreaEvent.php b/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneRemoveAreaEvent.php index 6dc6094d6..a3177f522 100644 --- a/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneRemoveAreaEvent.php +++ b/core/lib/Thelia/Core/Event/ShippingZone/ShippingZoneRemoveAreaEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\ShippingZone; - /** * Class ShippingZoneRemoveAreaEvent * @package Thelia\Core\Event\ShippingZone @@ -32,4 +31,4 @@ namespace Thelia\Core\Event\ShippingZone; class ShippingZoneRemoveAreaEvent extends ShippingZoneAddAreaEvent { -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Tax/TaxEvent.php b/core/lib/Thelia/Core/Event/Tax/TaxEvent.php new file mode 100644 index 000000000..2c6636c06 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Tax/TaxEvent.php @@ -0,0 +1,120 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Tax; +use Thelia\Core\Event\ActionEvent; +use Thelia\Model\Tax; + +class TaxEvent extends ActionEvent +{ + protected $tax = null; + + protected $locale; + protected $id; + protected $title; + protected $description; + protected $type; + protected $requirements; + + public function __construct(Tax $tax = null) + { + $this->tax = $tax; + } + + public function hasTax() + { + return ! is_null($this->tax); + } + + public function getTax() + { + return $this->tax; + } + + public function setTax(Tax $tax) + { + $this->tax = $tax; + + return $this; + } + + public function setDescription($description) + { + $this->description = $description; + } + + public function getDescription() + { + return $this->description; + } + + public function setId($id) + { + $this->id = $id; + } + + public function getId() + { + return $this->id; + } + + public function setTitle($title) + { + $this->title = $title; + } + + public function getTitle() + { + return $this->title; + } + + public function setLocale($locale) + { + $this->locale = $locale; + } + + public function getLocale() + { + return $this->locale; + } + + public function setType($type) + { + $this->type = $type; + } + + public function getType() + { + return $this->type; + } + + public function setRequirements($requirements) + { + $this->requirements = $requirements; + } + + public function getRequirements() + { + return $this->requirements; + } +} diff --git a/core/lib/Thelia/Core/Event/Tax/TaxRuleEvent.php b/core/lib/Thelia/Core/Event/Tax/TaxRuleEvent.php index e364bfd84..6d3f21e6e 100644 --- a/core/lib/Thelia/Core/Event/Tax/TaxRuleEvent.php +++ b/core/lib/Thelia/Core/Event/Tax/TaxRuleEvent.php @@ -118,5 +118,4 @@ class TaxRuleEvent extends ActionEvent return $this->taxList; } - } diff --git a/core/lib/Thelia/Core/Event/TheliaEvents.php b/core/lib/Thelia/Core/Event/TheliaEvents.php index aa365e54a..65d7a9cc2 100755 --- a/core/lib/Thelia/Core/Event/TheliaEvents.php +++ b/core/lib/Thelia/Core/Event/TheliaEvents.php @@ -183,7 +183,6 @@ final class TheliaEvents const FOLDER_TOGGLE_VISIBILITY = "action.toggleFolderVisibility"; const FOLDER_UPDATE_POSITION = "action.updateFolderPosition"; - const BEFORE_CREATEFOLDER = "action.before_createFolder"; const AFTER_CREATEFOLDER = "action.after_createFolder"; @@ -204,7 +203,6 @@ final class TheliaEvents const CONTENT_ADD_FOLDER = "action.contentAddFolder"; const CONTENT_REMOVE_FOLDER = "action.contentRemoveFolder"; - const BEFORE_CREATECONTENT = "action.before_createContent"; const AFTER_CREATECONTENT = "action.after_createContent"; @@ -222,7 +220,6 @@ final class TheliaEvents const COUNTRY_TOGGLE_DEFAULT = "action.toggleCountryDefault"; //const COUNTRY_UPDATE_POSITION = "action.updateFolderPosition"; - const BEFORE_CREATECOUNTRY = "action.before_createCountry"; const AFTER_CREATECOUNTRY = "action.after_createCountry"; @@ -543,6 +540,19 @@ final class TheliaEvents const CHANGE_DEFAULT_CURRENCY = 'action.changeDefaultCurrency'; + // -- Tax management --------------------------------------------- + + const TAX_CREATE = "action.createTax"; + const TAX_UPDATE = "action.updateTax"; + const TAX_DELETE = "action.deleteTax"; + + + // -- Profile management --------------------------------------------- + + const PROFILE_CREATE = "action.createProfile"; + const PROFILE_UPDATE = "action.updateProfile"; + const PROFILE_DELETE = "action.deleteProfile"; + // -- Tax Rules management --------------------------------------------- const TAX_RULE_CREATE = "action.createTaxRule"; @@ -657,4 +667,18 @@ final class TheliaEvents const GENERATE_PDF = 'thelia.generatePdf'; + /** + * sent when a module is activated or deactivated + */ + const MODULE_TOGGLE_ACTIVATION = 'thelia.module.toggleActivation'; + + /** + * sent when a module is deleted + */ + const MODULE_DELETE = 'thelia.module.delete'; + + /** + * sent for clearing cache + */ + const CACHE_CLEAR = 'thelia.cache.clear'; } diff --git a/core/lib/Thelia/Core/Form/Type/TheliaType.php b/core/lib/Thelia/Core/Form/Type/TheliaType.php new file mode 100644 index 000000000..550760098 --- /dev/null +++ b/core/lib/Thelia/Core/Form/Type/TheliaType.php @@ -0,0 +1,49 @@ +setDefaults(array( + //'instance' => false, + 'type' => false, + 'options' => false, + )); + + $resolver->setAllowedTypes(array( + //'instance' => array('Thelia\Type\TypeInterface'), + )); + + $resolver->setAllowedValues(array( + 'type' => array('text', 'choice'), + )); + } + + /** + * {@inheritdoc} + */ + public function buildView(FormView $view, FormInterface $form, array $options) + { + $view->vars = array_replace($view->vars, array( + //'instance' => $options['instance'], + 'type' => $options['type'], + 'options' => $options['options'], + )); + } + + public function getParent() + { + return 'text'; + } + + public function getName() + { + return 'thelia_type'; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/TaxEngine/TaxType/FeatureSlicePercentTaxType.php b/core/lib/Thelia/Core/Security/Exception/RessourceException.php old mode 100755 new mode 100644 similarity index 77% rename from core/lib/Thelia/TaxEngine/TaxType/FeatureSlicePercentTaxType.php rename to core/lib/Thelia/Core/Security/Exception/RessourceException.php index 311a83272..27343bd16 --- a/core/lib/Thelia/TaxEngine/TaxType/FeatureSlicePercentTaxType.php +++ b/core/lib/Thelia/Core/Security/Exception/RessourceException.php @@ -20,33 +20,20 @@ /* along with this program. If not, see . */ /* */ /*************************************************************************************/ -namespace Thelia\TaxEngine\TaxType; -use Thelia\Type\FloatToFloatArrayType; -use Thelia\Type\ModelValidIdType; +namespace Thelia\Core\Security\Exception; -/** - * - * @author Etienne Roudeix - * - */ -class featureSlicePercentTaxType extends BaseTaxType +class ResourceException extends \RuntimeException { - public function pricePercentRetriever() + const UNKNOWN_EXCEPTION = 0; + + const RESOURCE_NOT_FOUND = 404; + + public function __construct($message, $code = null, $previous = null) { - - } - - public function fixAmountRetriever(\Thelia\Model\Product $product) - { - - } - - public function getRequirementsList() - { - return array( - 'featureId' => new ModelValidIdType('Currency'), - 'slices' => new FloatToFloatArrayType(), - ); + if ($code === null) { + $code = self::UNKNOWN_EXCEPTION; + } + parent::__construct($message, $code, $previous); } } diff --git a/core/lib/Thelia/Core/Security/Resource/AdminResources.php b/core/lib/Thelia/Core/Security/Resource/AdminResources.php new file mode 100644 index 000000000..8e8a24e3c --- /dev/null +++ b/core/lib/Thelia/Core/Security/Resource/AdminResources.php @@ -0,0 +1,169 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event; + +use Thelia\Core\Security\Exception\ResourceException; + +/** + * + * This class contains all Thelia admin resources + * + * @author Etienne roudeix + */ +final class AdminResources +{ + static private $selfReflection = null; + + static public function retrieve($name, $action) + { + $contantName = strtoupper($name . '_' . $action); + + if(null === self::$selfReflection) { + self::$selfReflection = new \ReflectionClass(__CLASS__); + } + + if(self::$selfReflection->hasConstant($contantName)) { + return self::$selfReflection->getConstant($contantName); + } else { + throw new ResourceException(sprintf('Resource `%s` not found', $contantName), ResourceException::RESOURCE_NOT_FOUND); + } + } + + const SUPERADMINISTRATOR = "SUPERADMINISTRATOR"; + + const ADDRESS_VIEW = "admin.address.view"; + const ADDRESS_CREATE = "admin.address.create"; + const ADDRESS_UPDATE = "admin.address.update"; + const ADDRESS_DELETE = "admin.address.delete"; + + const ADMIN_VIEW = "admin.configuration.admin.view"; + const ADMIN_CREATE = "admin.configuration.admin.create"; + const ADMIN_UPDATE = "admin.configuration.admin.update"; + const ADMIN_DELETE = "admin.configuration.admin.delete"; + + const AREA_VIEW = "admin.configuration.area.view"; + const AREA_CREATE = "admin.configuration.area.create"; + const AREA_UPDATE = "admin.configuration.area.update"; + const AREA_DELETE = "admin.configuration.area.delete"; + + const ATTRIBUTE_VIEW = "admin.configuration.attribute.view"; + const ATTRIBUTE_CREATE = "admin.configuration.attribute.create"; + const ATTRIBUTE_UPDATE = "admin.configuration.attribute.update"; + const ATTRIBUTE_DELETE = "admin.configuration.attribute.delete"; + + const CATEGORY_VIEW = "admin.category.view"; + const CATEGORY_CREATE = "admin.category.create"; + const CATEGORY_UPDATE = "admin.category.update"; + const CATEGORY_DELETE = "admin.category.delete"; + + const CONFIG_VIEW = "admin.configuration.view"; + const CONFIG_CREATE = "admin.configuration.create"; + const CONFIG_UPDATE = "admin.configuration.update"; + const CONFIG_DELETE = "admin.configuration.delete"; + + const CONTENT_VIEW = "admin.content.view"; + const CONTENT_CREATE = "admin.content.create"; + const CONTENT_UPDATE = "admin.content.update"; + const CONTENT_DELETE = "admin.content.delete"; + + const COUNTRY_VIEW = "admin.configuration.country.view"; + const COUNTRY_CREATE = "admin.configuration.country.create"; + const COUNTRY_UPDATE = "admin.configuration.country.update"; + const COUNTRY_DELETE = "admin.configuration.country.delete"; + + const COUPON_VIEW = "admin.coupon.view"; + const COUPON_CREATE = "admin.coupon.create"; + const COUPON_UPDATE = "admin.coupon.update"; + const COUPON_DELETE = "admin.coupon.delete"; + + const CURRENCY_VIEW = "admin.configuration.currency.view"; + const CURRENCY_CREATE = "admin.configuration.currency.create"; + const CURRENCY_UPDATE = "admin.configuration.currency.update"; + const CURRENCY_DELETE = "admin.configuration.currency.delete"; + + const CUSTOMER_VIEW = "admin.customer.view"; + const CUSTOMER_CREATE = "admin.customer.create"; + const CUSTOMER_UPDATE = "admin.customer.update"; + const CUSTOMER_DELETE = "admin.customer.delete"; + + const FEATURE_VIEW = "admin.configuration.feature.view"; + const FEATURE_CREATE = "admin.configuration.feature.create"; + const FEATURE_UPDATE = "admin.configuration.feature.update"; + const FEATURE_DELETE = "admin.configuration.feature.delete"; + + const FOLDER_VIEW = "admin.folder.view"; + const FOLDER_CREATE = "admin.folder.create"; + const FOLDER_UPDATE = "admin.folder.update"; + const FOLDER_DELETE = "admin.folder.delete"; + + const LANGUAGE_VIEW = "admin.configuration.language.view"; + const LANGUAGE_CREATE = "admin.configuration.language.create"; + const LANGUAGE_UPDATE = "admin.configuration.language.update"; + const LANGUAGE_DELETE = "admin.configuration.language.delete"; + + const MAILING_SYSTEM_VIEW = "admin.configuration.mailing-system.view"; + const MAILING_SYSTEM_CREATE = "admin.configuration.mailing-system.create"; + const MAILING_SYSTEM_UPDATE = "admin.configuration.mailing-system.update"; + const MAILING_SYSTEM_DELETE = "admin.configuration.mailing-system.delete"; + + const MESSAGE_VIEW = "admin.configuration.message.view"; + const MESSAGE_CREATE = "admin.configuration.message.create"; + const MESSAGE_UPDATE = "admin.configuration.message.update"; + const MESSAGE_DELETE = "admin.configuration.message.delete"; + + const MODULE_VIEW = "admin.configuration.module.view"; + const MODULE_CREATE = "admin.configuration.module.create"; + const MODULE_UPDATE = "admin.configuration.module.update"; + const MODULE_DELETE = "admin.configuration.module.delete"; + + const ORDER_VIEW = "admin.order.view"; + const ORDER_CREATE = "admin.order.create"; + const ORDER_UPDATE = "admin.order.update"; + const ORDER_DELETE = "admin.order.delete"; + + const PRODUCT_VIEW = "admin.product.view"; + const PRODUCT_CREATE = "admin.product.create"; + const PRODUCT_UPDATE = "admin.product.update"; + const PRODUCT_DELETE = "admin.product.delete"; + + const PROFILE_VIEW = "admin.configuration.profile.view"; + const PROFILE_CREATE = "admin.configuration.profile.create"; + const PROFILE_UPDATE = "admin.configuration.profile.update"; + const PROFILE_DELETE = "admin.configuration.profile.delete"; + + const SHIPPING_ZONE_VIEW = "admin.configuration.shipping-zone.view"; + const SHIPPING_ZONE_CREATE = "admin.configuration.shipping-zone.create"; + const SHIPPING_ZONE_UPDATE = "admin.configuration.shipping-zone.update"; + const SHIPPING_ZONE_DELETE = "admin.configuration.shipping-zone.delete"; + + const TAX_VIEW = "admin.configuration.tax.view"; + const TAX_CREATE = "admin.configuration.tax.create"; + const TAX_UPDATE = "admin.configuration.tax.update"; + const TAX_DELETE = "admin.configuration.tax.delete"; + + const TEMPLATE_VIEW = "admin.configuration.template.view"; + const TEMPLATE_CREATE = "admin.configuration.template.create"; + const TEMPLATE_UPDATE = "admin.configuration.template.update"; + const TEMPLATE_DELETE = "admin.configuration.template.delete"; +} diff --git a/core/lib/Thelia/Core/Security/SecurityContext.php b/core/lib/Thelia/Core/Security/SecurityContext.php index 742bd648b..1dc216dd7 100755 --- a/core/lib/Thelia/Core/Security/SecurityContext.php +++ b/core/lib/Thelia/Core/Security/SecurityContext.php @@ -23,8 +23,12 @@ namespace Thelia\Core\Security; +use Propel\Runtime\ActiveQuery\Criteria; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Security\User\UserInterface; use Thelia\Core\HttpFoundation\Request; +use Thelia\Model\ProfileQuery; +use Thelia\Model\ProfileResourceQuery; /** * A simple security manager, in charge of checking user @@ -124,6 +128,10 @@ class SecurityContext */ final public function isGranted(array $roles, array $permissions) { + if (empty($permissions)) { + return true; + } + // Find a user which matches the required roles. $user = $this->getCustomerUser(); @@ -135,38 +143,31 @@ class SecurityContext } } - if ($user != null) { - - if (empty($permissions)) { - return true; - } - - // Get permissions from profile - // $userPermissions = $user->getPermissions(); FIXME - - // TODO: Finalize permissions system !; - - $userPermissions = array('*'); // FIXME ! - - $permissionsFound = true; - - // User have all permissions ? - if (in_array('*', $userPermissions)) - return true; - - // Check that user's permissions matches required permissions - foreach ($permissions as $permission) { - if (! in_array($permission, $userPermissions)) { - $permissionsFound = false; - - break; - } - } - - return $permissionsFound; + if (null === $user) { + return false; } - return false; + if( !method_exists($user, 'getProfileId') ) { + return false; + } + + $userPermissions = $user->getPermissions(); + + if($userPermissions === AdminResources::SUPERADMINISTRATOR) { + return true; + } + + foreach($permissions as $permission) { + if($permission === '') { + continue; + } + + if(! in_array($permission, $userPermissions)) { + return false; + } + } + + return true; } /** diff --git a/core/lib/Thelia/Core/Template/Element/BaseLoop.php b/core/lib/Thelia/Core/Template/Element/BaseLoop.php index 5ac23142d..7e803c43a 100755 --- a/core/lib/Thelia/Core/Template/Element/BaseLoop.php +++ b/core/lib/Thelia/Core/Template/Element/BaseLoop.php @@ -254,7 +254,7 @@ abstract class BaseLoop * * @param $pagination * - * @return mixed + * @return LoopResult */ abstract public function exec(&$pagination); diff --git a/core/lib/Thelia/Core/Template/Loop/Admin.php b/core/lib/Thelia/Core/Template/Loop/Admin.php new file mode 100755 index 000000000..fe4b280ad --- /dev/null +++ b/core/lib/Thelia/Core/Template/Loop/Admin.php @@ -0,0 +1,104 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Template\Loop; + +use Propel\Runtime\ActiveQuery\Criteria; +use Thelia\Core\Template\Element\BaseI18nLoop; +use Thelia\Core\Template\Element\LoopResult; +use Thelia\Core\Template\Element\LoopResultRow; + +use Thelia\Core\Template\Loop\Argument\ArgumentCollection; +use Thelia\Core\Template\Loop\Argument\Argument; + +use Thelia\Model\AdminQuery; +use Thelia\Type; +use Thelia\Type\BooleanOrBothType; + +/** + * + * Admin loop + * + * + * Class Admin + * @package Thelia\Core\Template\Loop + * @author Etienne Roudeix + */ +class Admin extends BaseI18nLoop +{ + public $timestampable = true; + + /** + * @return ArgumentCollection + */ + protected function getArgDefinitions() + { + return new ArgumentCollection( + Argument::createIntListTypeArgument('id'), + Argument::createIntListTypeArgument('profile') + ); + } + + /** + * @param $pagination + * + * @return \Thelia\Core\Template\Element\LoopResult + */ + public function exec(&$pagination) + { + $search = AdminQuery::create(); + + $id = $this->getId(); + + if (null !== $id) { + $search->filterById($id, Criteria::IN); + } + + $profile = $this->getProfile(); + + if (null !== $profile) { + $search->filterByProfileId($profile, Criteria::IN); + } + + $search->orderByFirstname(Criteria::ASC); + + /* perform search */ + $features = $this->search($search, $pagination); + + $loopResult = new LoopResult($features); + + foreach ($features as $feature) { + $loopResultRow = new LoopResultRow($loopResult, $feature, $this->versionable, $this->timestampable, $this->countable); + $loopResultRow->set("ID", $feature->getId()) + ->set("PROFILE",$feature->getProfileId()) + ->set("FIRSTNAME",$feature->getFirstname()) + ->set("LASTNAME",$feature->getLastname()) + ->set("LOGIN",$feature->getLogin()) + ; + + $loopResult->addRow($loopResultRow); + } + + return $loopResult; + } +} diff --git a/core/lib/Thelia/Core/Template/Loop/Area.php b/core/lib/Thelia/Core/Template/Loop/Area.php index 4d43f524b..524777d08 100644 --- a/core/lib/Thelia/Core/Template/Loop/Area.php +++ b/core/lib/Thelia/Core/Template/Loop/Area.php @@ -30,7 +30,6 @@ use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Model\AreaQuery; - /** * Class Area * @package Thelia\Core\Template\Loop @@ -112,8 +111,7 @@ class Area extends BaseLoop $withoutZone = $this->getWithout_zone(); - if($withoutZone) - { + if ($withoutZone) { $search->joinAreaDeliveryModule('without_zone', Criteria::LEFT_JOIN) ->addJoinCondition('without_zone', 'delivery_module_id '.Criteria::EQUAL.' ?', $withoutZone, null, \PDO::PARAM_INT) ->where('`without_zone`.delivery_module_id '.Criteria::ISNULL); @@ -140,5 +138,4 @@ class Area extends BaseLoop return $loopResult; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/CategoryTree.php b/core/lib/Thelia/Core/Template/Loop/CategoryTree.php index 009e2204f..b7c262649 100755 --- a/core/lib/Thelia/Core/Template/Loop/CategoryTree.php +++ b/core/lib/Thelia/Core/Template/Loop/CategoryTree.php @@ -84,10 +84,14 @@ class CategoryTree extends BaseI18nLoop $loopResultRow = new LoopResultRow(); $loopResultRow - ->set("ID", $result->getId())->set("TITLE", $result->getVirtualColumn('i18n_TITLE')) - ->set("PARENT", $result->getParent())->set("URL", $result->getUrl($locale)) - ->set("VISIBLE", $result->getVisible() ? "1" : "0")->set("LEVEL", $level) - ->set('CHILD_COUNT', $result->countChild())->set('PREV_LEVEL', $previousLevel) + ->set("ID", $result->getId()) + ->set("TITLE", $result->getVirtualColumn('i18n_TITLE')) + ->set("PARENT", $result->getParent()) + ->set("URL", $result->getUrl($locale)) + ->set("VISIBLE", $result->getVisible() ? "1" : "0") + ->set("LEVEL", $level) + ->set('CHILD_COUNT', $result->countChild()) + ->set('PREV_LEVEL', $previousLevel) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Folder.php b/core/lib/Thelia/Core/Template/Loop/Folder.php index 04ba737fa..efc45030f 100755 --- a/core/lib/Thelia/Core/Template/Loop/Folder.php +++ b/core/lib/Thelia/Core/Template/Loop/Folder.php @@ -114,7 +114,7 @@ class Folder extends BaseI18nLoop if (null !== $content) { $obj = ContentQuery::create()->findPk($content); - if($obj) { + if ($obj) { $search->filterByContent($obj, Criteria::IN); } } diff --git a/core/lib/Thelia/Core/Template/Loop/FolderPath.php b/core/lib/Thelia/Core/Template/Loop/FolderPath.php index 272b9fbbb..2b9a52b0d 100644 --- a/core/lib/Thelia/Core/Template/Loop/FolderPath.php +++ b/core/lib/Thelia/Core/Template/Loop/FolderPath.php @@ -30,7 +30,6 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Model\FolderQuery; use Thelia\Type\BooleanOrBothType; - /** * Class FolderPath * @package Thelia\Core\Template\Loop @@ -156,5 +155,4 @@ class FolderPath extends BaseI18nLoop return $loopResult; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Product.php b/core/lib/Thelia/Core/Template/Loop/Product.php index 8332d45bc..2d6125a37 100755 --- a/core/lib/Thelia/Core/Template/Loop/Product.php +++ b/core/lib/Thelia/Core/Template/Loop/Product.php @@ -473,7 +473,7 @@ class Product extends BaseI18nLoop $visible = $this->getVisible(); - if ($visible != BooleanOrBothType::ANY) $search->filterByVisible($visible ? 1 : 0); + if ($visible !== BooleanOrBothType::ANY) $search->filterByVisible($visible ? 1 : 0); $exclude = $this->getExclude(); diff --git a/core/lib/Thelia/Core/Template/Loop/Profile.php b/core/lib/Thelia/Core/Template/Loop/Profile.php new file mode 100755 index 000000000..a7a2e170e --- /dev/null +++ b/core/lib/Thelia/Core/Template/Loop/Profile.php @@ -0,0 +1,103 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Template\Loop; + +use Propel\Runtime\ActiveQuery\Criteria; +use Thelia\Core\Template\Element\BaseI18nLoop; +use Thelia\Core\Template\Element\LoopResult; +use Thelia\Core\Template\Element\LoopResultRow; + +use Thelia\Core\Template\Loop\Argument\ArgumentCollection; +use Thelia\Core\Template\Loop\Argument\Argument; + +use Thelia\Model\ProfileQuery; +use Thelia\Type; +use Thelia\Type\BooleanOrBothType; + +/** + * + * Profile loop + * + * + * Class Profile + * @package Thelia\Core\Template\Loop + * @author Etienne Roudeix + */ +class Profile extends BaseI18nLoop +{ + public $timestampable = true; + + /** + * @return ArgumentCollection + */ + protected function getArgDefinitions() + { + return new ArgumentCollection( + Argument::createIntListTypeArgument('id') + ); + } + + /** + * @param $pagination + * + * @return \Thelia\Core\Template\Element\LoopResult + */ + public function exec(&$pagination) + { + $search = ProfileQuery::create(); + + /* manage translations */ + $locale = $this->configureI18nProcessing($search); + + $id = $this->getId(); + + if (null !== $id) { + $search->filterById($id, Criteria::IN); + } + + $search->orderById(Criteria::ASC); + + /* perform search */ + $features = $this->search($search, $pagination); + + $loopResult = new LoopResult($features); + + foreach ($features as $feature) { + $loopResultRow = new LoopResultRow($loopResult, $feature, $this->versionable, $this->timestampable, $this->countable); + $loopResultRow->set("ID", $feature->getId()) + ->set("IS_TRANSLATED",$feature->getVirtualColumn('IS_TRANSLATED')) + ->set("LOCALE",$locale) + ->set("CODE",$feature->getCode()) + ->set("TITLE",$feature->getVirtualColumn('i18n_TITLE')) + ->set("CHAPO", $feature->getVirtualColumn('i18n_CHAPO')) + ->set("DESCRIPTION", $feature->getVirtualColumn('i18n_DESCRIPTION')) + ->set("POSTSCRIPTUM", $feature->getVirtualColumn('i18n_POSTSCRIPTUM')) + ; + + $loopResult->addRow($loopResultRow); + } + + return $loopResult; + } +} diff --git a/core/lib/Thelia/Core/Template/Loop/Tax.php b/core/lib/Thelia/Core/Template/Loop/Tax.php index 1ddf18824..e97b9c7d5 100644 --- a/core/lib/Thelia/Core/Template/Loop/Tax.php +++ b/core/lib/Thelia/Core/Template/Loop/Tax.php @@ -97,7 +97,7 @@ class Tax extends BaseI18nLoop $country = $this->getCountry(); $taxRule = $this->getTax_rule(); - if(null !== $taxRule && null !== $country) { + if (null !== $taxRule && null !== $country) { $search->filterByTaxRuleCountry( TaxRuleCountryQuery::create() ->filterByCountryId($country, Criteria::EQUAL) @@ -108,7 +108,7 @@ class Tax extends BaseI18nLoop } $excludeTaxRule = $this->getExclude_tax_rule(); - if(null !== $excludeTaxRule && null !== $country) { + if (null !== $excludeTaxRule && null !== $country) { $excludedTaxes = TaxRuleCountryQuery::create() ->filterByCountryId($country, Criteria::EQUAL) ->filterByTaxRuleId($excludeTaxRule, Criteria::IN) @@ -118,7 +118,7 @@ class Tax extends BaseI18nLoop $excludedTaxes, Criteria::NOT_IN );*/ - foreach($excludedTaxes as $excludedTax) { + foreach ($excludedTaxes as $excludedTax) { $search->filterByTaxRuleCountry($excludedTax, Criteria::NOT_EQUAL); } } @@ -152,11 +152,13 @@ class Tax extends BaseI18nLoop $loopResultRow = new LoopResultRow($loopResult, $tax, $this->versionable, $this->timestampable, $this->countable); $loopResultRow - ->set("ID" , $tax->getId()) - ->set("IS_TRANSLATED" , $tax->getVirtualColumn('IS_TRANSLATED')) - ->set("LOCALE" , $locale) - ->set("TITLE" , $tax->getVirtualColumn('i18n_TITLE')) - ->set("DESCRIPTION" , $tax->getVirtualColumn('i18n_DESCRIPTION')) + ->set("ID" , $tax->getId()) + ->set("TYPE" , $tax->getType()) + ->set("REQUIREMENTS" , $tax->getRequirements()) + ->set("IS_TRANSLATED" , $tax->getVirtualColumn('IS_TRANSLATED')) + ->set("LOCALE" , $locale) + ->set("TITLE" , $tax->getVirtualColumn('i18n_TITLE')) + ->set("DESCRIPTION" , $tax->getVirtualColumn('i18n_DESCRIPTION')) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/TaxRuleCountry.php b/core/lib/Thelia/Core/Template/Loop/TaxRuleCountry.php index 91616f398..ee20a3d20 100644 --- a/core/lib/Thelia/Core/Template/Loop/TaxRuleCountry.php +++ b/core/lib/Thelia/Core/Template/Loop/TaxRuleCountry.php @@ -32,6 +32,7 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; +use Thelia\Model\CountryQuery; use Thelia\Model\Map\CountryTableMap; use Thelia\Model\Map\TaxRuleCountryTableMap; use Thelia\Model\Map\TaxTableMap; @@ -58,8 +59,14 @@ class TaxRuleCountry extends BaseI18nLoop protected function getArgDefinitions() { return new ArgumentCollection( - Argument::createIntTypeArgument('country'), - Argument::createIntListTypeArgument('taxes'), + Argument::createIntTypeArgument('country', null, true), + new Argument( + 'ask', + new TypeCollection( + new Type\EnumType(array('taxes', 'countries')) + ), + 'taxes' + ), Argument::createIntTypeArgument('tax_rule', null, true) ); } @@ -73,40 +80,54 @@ class TaxRuleCountry extends BaseI18nLoop { $search = TaxRuleCountryQuery::create(); + $ask = $this->getAsk(); + $country = $this->getCountry(); - $taxes = $this->getTaxes(); + $taxRule = $this->getTax_rule(); - if((null === $country && null === $taxes)) { - throw new \InvalidArgumentException('You must provide either `country` or `taxes` parameter in tax-rule-country loop'); - } + if($ask === 'countries') { + $taxCountForOriginCountry = TaxRuleCountryQuery::create()->filterByCountryId($country)->count(); - if((null === $country && null !== $taxes)) { - throw new \InvalidArgumentException('You must provide `country` parameter with `taxes` parameter in tax-rule-country loop'); - } + if($taxCountForOriginCountry > 0) { + $search->groupByCountryId(); - if(null !== $taxes) { - $search->groupByCountryId(); + $originalCountryJoin = new Join(); + $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'TAX_RULE_ID', null, TaxRuleCountryTableMap::TABLE_NAME, 'TAX_RULE_ID', 'origin'); + $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'TAX_ID', null, TaxRuleCountryTableMap::TABLE_NAME, 'TAX_ID', 'origin'); + $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'POSITION', null, TaxRuleCountryTableMap::TABLE_NAME, 'POSITION', 'origin'); + $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'COUNTRY_ID', null, TaxRuleCountryTableMap::TABLE_NAME, 'COUNTRY_ID', 'origin', Criteria::NOT_EQUAL); + $originalCountryJoin->setJoinType(Criteria::LEFT_JOIN); - $originalCountryJoin = new Join(); - $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'TAX_RULE_ID', null, TaxRuleCountryTableMap::TABLE_NAME, 'TAX_RULE_ID', 'origin'); - $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'TAX_ID', null, TaxRuleCountryTableMap::TABLE_NAME, 'TAX_ID', 'origin'); - $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'POSITION', null, TaxRuleCountryTableMap::TABLE_NAME, 'POSITION', 'origin'); - $originalCountryJoin->addExplicitCondition(TaxRuleCountryTableMap::TABLE_NAME, 'COUNTRY_ID', null, TaxRuleCountryTableMap::TABLE_NAME, 'COUNTRY_ID', 'origin', Criteria::NOT_EQUAL); - $originalCountryJoin->setJoinType(Criteria::LEFT_JOIN); + $search->addJoinObject($originalCountryJoin, 's_to_o'); + $search->where('`origin`.`COUNTRY_ID`' . Criteria::EQUAL . '?', $country, \PDO::PARAM_INT); - $search->addJoinObject($originalCountryJoin, 's_to_o'); - $search->where('`origin`.`COUNTRY_ID`' . Criteria::EQUAL . '?', $country, \PDO::PARAM_INT); + $search->having('COUNT(*)=?', $taxCountForOriginCountry, \PDO::PARAM_INT); - $search->having('COUNT(*)=?', count($taxes), \PDO::PARAM_INT); + $search->filterByTaxRuleId($taxRule); - /* manage tax translation */ - $this->configureI18nProcessing( - $search, - array('TITLE', 'CHAPO', 'DESCRIPTION', 'POSTSCRIPTUM'), - CountryTableMap::TABLE_NAME, - 'COUNTRY_ID' - ); - } elseif(null !== $country) { + /* manage tax translation */ + $this->configureI18nProcessing( + $search, + array('TITLE', 'CHAPO', 'DESCRIPTION', 'POSTSCRIPTUM'), + CountryTableMap::TABLE_NAME, + 'COUNTRY_ID' + ); + + $search->addAscendingOrderByColumn('`' . CountryTableMap::TABLE_NAME . '_i18n_TITLE`'); + } else { + $search = CountryQuery::create() + ->joinTaxRuleCountry('trc', Criteria::LEFT_JOIN); + + /* manage tax translation */ + $this->configureI18nProcessing( + $search + ); + + $search->where('ISNULL(`trc`.`COUNTRY_ID`)'); + + $search->addAscendingOrderByColumn('i18n_TITLE'); + } + } elseif($ask === 'taxes') { $search->filterByCountryId($country); /* manage tax translation */ @@ -116,13 +137,11 @@ class TaxRuleCountry extends BaseI18nLoop TaxTableMap::TABLE_NAME, 'TAX_ID' ); + + $search->filterByTaxRuleId($taxRule); + $search->orderByPosition(Criteria::ASC); } - $taxRule = $this->getTax_rule(); - $search->filterByTaxRuleId($taxRule); - - $search->orderByPosition(Criteria::ASC); - /* perform search */ $taxRuleCountries = $this->search($search, $pagination); @@ -132,16 +151,23 @@ class TaxRuleCountry extends BaseI18nLoop $loopResultRow = new LoopResultRow($loopResult, $taxRuleCountry, $this->versionable, $this->timestampable, $this->countable); - if(null !== $taxes) { - $loopResultRow - ->set("TAX_RULE" , $taxRuleCountry->getTaxRuleId()) - ->set("COUNTRY" , $taxRuleCountry->getCountryId()) - ->set("COUNTRY_TITLE" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_TITLE')) - ->set("COUNTRY_CHAPO" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_CHAPO')) - ->set("COUNTRY_DESCRIPTION" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_DESCRIPTION')) - ->set("COUNTRY_POSTSCRIPTUM" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_POSTSCRIPTUM')) - ; - }elseif(null !== $country) { + if($ask === 'countries') { + if($taxCountForOriginCountry > 0) { + $loopResultRow + ->set("COUNTRY" , $taxRuleCountry->getCountryId()) + ->set("COUNTRY_TITLE" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_TITLE')) + ->set("COUNTRY_CHAPO" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_CHAPO')) + ->set("COUNTRY_DESCRIPTION" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_DESCRIPTION')) + ->set("COUNTRY_POSTSCRIPTUM" , $taxRuleCountry->getVirtualColumn(CountryTableMap::TABLE_NAME . '_i18n_POSTSCRIPTUM')); + } else { + $loopResultRow + ->set("COUNTRY" , $taxRuleCountry->getId()) + ->set("COUNTRY_TITLE" , $taxRuleCountry->getVirtualColumn('i18n_TITLE')) + ->set("COUNTRY_CHAPO" , $taxRuleCountry->getVirtualColumn('i18n_CHAPO')) + ->set("COUNTRY_DESCRIPTION" , $taxRuleCountry->getVirtualColumn('i18n_DESCRIPTION')) + ->set("COUNTRY_POSTSCRIPTUM" , $taxRuleCountry->getVirtualColumn('i18n_POSTSCRIPTUM')); + } + } elseif($ask === 'taxes') { $loopResultRow ->set("TAX_RULE" , $taxRuleCountry->getTaxRuleId()) ->set("COUNTRY" , $taxRuleCountry->getCountryId()) diff --git a/core/lib/Thelia/Core/Template/Loop/Template.php b/core/lib/Thelia/Core/Template/Loop/Template.php index 9eaa3ea4f..83ef4fabe 100644 --- a/core/lib/Thelia/Core/Template/Loop/Template.php +++ b/core/lib/Thelia/Core/Template/Loop/Template.php @@ -32,7 +32,6 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Model\Base\TemplateQuery; -use Thelia\Type; /** * diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php index 594b45ae9..a401755a4 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php @@ -172,6 +172,7 @@ class DataAccessFunctions extends AbstractSmartyPlugin self::$dataAccessCache['defaultCountry'] = $defaultCountry; }*/ $defaultCountry = CountryQuery::create()->filterByByDefault(1)->limit(1); + return $this->dataAccessWithI18n("defaultCountry", $params, $defaultCountry); } } @@ -237,7 +238,7 @@ class DataAccessFunctions extends AbstractSmartyPlugin public function ConfigDataAccess($params, $smarty) { - if(false === array_key_exists("key", $params)) { + if (false === array_key_exists("key", $params)) { return null; } diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php index 7b45bed3e..3727ed6c5 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php @@ -22,7 +22,11 @@ /*************************************************************************************/ namespace Thelia\Core\Template\Smarty\Plugins; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; +use Symfony\Component\Form\Extension\Core\Type\CollectionType; +use Symfony\Component\Form\Extension\Core\View\ChoiceView; use Symfony\Component\Form\FormView; +use Thelia\Core\Form\Type\TheliaType; use Thelia\Form\BaseForm; use Thelia\Core\Template\Element\Exception\ElementNotFoundException; use Symfony\Component\HttpFoundation\Request; @@ -56,6 +60,8 @@ use Thelia\Core\Template\ParserContext; */ class Form extends AbstractSmartyPlugin { + static private $taggedFieldsStack = null; + static private $taggedFieldsStackPosition = null; protected $request; protected $parserContext; @@ -117,8 +123,13 @@ class Form extends AbstractSmartyPlugin $template->assign("name", $fieldName); $template->assign("value", $fieldValue); + $template->assign("checked", isset($fieldVars['checked']) ? $fieldVars['checked'] : false); + + //data + $template->assign("data", $fieldVars['data']); + $template->assign("label", $fieldVars["label"]); $template->assign("label_attr", $fieldVars["label_attr"]); @@ -139,20 +150,59 @@ class Form extends AbstractSmartyPlugin } $template->assign("attr", implode(" ", $attr)); + $template->assign("attr_list", $fieldVars["attr"]); + } + + protected function assignFormTypeValues($template, $formFieldConfig, $formFieldView) + { + $formFieldType = $formFieldConfig->getType()->getInnerType(); + + /* access to choices */ + if($formFieldType instanceof ChoiceType) { + $template->assign("choices", $formFieldView->vars['choices']); + } + + /* access to collections */ + if($formFieldType instanceof CollectionType) { + if( true === $formFieldConfig->getOption('prototype') ) { + + } else { + /* access to choices */ + if (isset($formFieldView->vars['choices'])) { + $template->assign("choices", $formFieldView->vars['choices']); + + } + } + } + + /* access to thelia type */ + if($formFieldType instanceof TheliaType) { + $template->assign("formType", $formFieldView->vars['type']); + + + switch($formFieldView->vars['type']) { + case "choice": + if(!isset($formFieldView->vars['options']['choices']) || !is_array($formFieldView->vars['options']['choices'])) { + //throw new + } + $choices = array(); + foreach($formFieldView->vars['options']['choices'] as $value => $choice) { + $choices[] = new ChoiceView($value, $value, $choice); + } + $template->assign("choices", $choices); + break; + } + } } public function renderFormField($params, $content, \Smarty_Internal_Template $template, &$repeat) { - if ($repeat) { + if ($repeat) { - $formFieldView = $this->getFormFieldView($params); + $formFieldView = $this->getFormFieldView($params); + $formFieldConfig = $this->getFormFieldConfig($params); - $template->assign("options", $formFieldView->vars); - - /* access to choices */ - if (isset($formFieldView->vars['choices'])) { - $template->assign("choices", $formFieldView->vars['choices']); - } + $this->assignFormTypeValues($template, $formFieldConfig, $formFieldView); $value = $formFieldView->vars["value"]; /* FIXME: doesnt work. We got "This form should not contain extra fields." error. @@ -183,6 +233,38 @@ $this->assignFieldValues($template, $formFieldView->vars["full_name"], $fieldVar } } + public function renderTaggedFormFields($params, $content, \Smarty_Internal_Template $template, &$repeat) + { + if(null === $content) { + self::$taggedFieldsStack = $this->getFormFieldsFromTag($params); + self::$taggedFieldsStackPosition = 0; + } else { + self::$taggedFieldsStackPosition++; + } + + if(isset(self::$taggedFieldsStack[self::$taggedFieldsStackPosition])) { + $this->assignFieldValues( + $template, + self::$taggedFieldsStack[self::$taggedFieldsStackPosition]['view']->vars["full_name"], + self::$taggedFieldsStack[self::$taggedFieldsStackPosition]['view']->vars["value"], + self::$taggedFieldsStack[self::$taggedFieldsStackPosition]['view']->vars + ); + + $this->assignFormTypeValues($template, self::$taggedFieldsStack[self::$taggedFieldsStackPosition]['config'], self::$taggedFieldsStack[self::$taggedFieldsStackPosition]['view']); + + self::$taggedFieldsStack[self::$taggedFieldsStackPosition]['view']->setRendered(); + + $repeat = true; + } + + if (! $repeat) { + self::$taggedFieldsStack = null; + self::$taggedFieldsStackPosition = null; + } + + return $content; + } + public function renderHiddenFormField($params, \Smarty_Internal_Template $template) { $attrFormat = '%s="%s"'; @@ -197,8 +279,8 @@ $this->assignFieldValues($template, $formFieldView->vars["full_name"], $fieldVar foreach ($formView->getIterator() as $row) { if ($this->isHidden($row) && $row->isRendered() === false) { $attributeList = array(); - if(isset($row->vars["attr"])) { - foreach($row->vars["attr"] as $attrKey => $attrValue) { + if (isset($row->vars["attr"])) { + foreach ($row->vars["attr"] as $attrKey => $attrValue) { $attributeList[] = sprintf($attrFormat, $attrKey, $attrValue); } } @@ -264,6 +346,48 @@ $this->assignFieldValues($template, $formFieldView->vars["full_name"], $fieldVar return $instance->getView()[$fieldName]; } + protected function getFormFieldsFromTag($params) + { + $instance = $this->getInstanceFromParams($params); + + $tag = $this->getParam($params, 'tag'); + + if (null == $tag) + throw new \InvalidArgumentException("'tag' parameter is missing"); + + $viewList = array(); + foreach($instance->getView() as $view) { + if(isset($view->vars['attr']['tag']) && $tag == $view->vars['attr']['tag']) { + $fieldData = $instance->getForm()->all()[$view->vars['name']]; + $viewList[] = array( + 'view' => $view, + 'config' => $fieldData->getConfig(), + ); + } + } + + return $viewList; + } + + protected function getFormFieldConfig($params) + { + $instance = $this->getInstanceFromParams($params); + + $fieldName = $this->getParam($params, 'field'); + + if (null == $fieldName) { + throw new \InvalidArgumentException("'field' parameter is missing"); + } + + $fieldData = $instance->getForm()->all()[$fieldName]; + + if (empty( $fieldData )) { + throw new \InvalidArgumentException(sprintf("Field name '%s' not found in form %s children", $fieldName, $instance->getName())); + } + + return $fieldData->getConfig(); + } + protected function getInstanceFromParams($params) { $instance = $this->getParam($params, 'form'); @@ -302,6 +426,7 @@ $this->assignFieldValues($template, $formFieldView->vars["full_name"], $fieldVar return array( new SmartyPluginDescriptor("block", "form", $this, "generateForm"), new SmartyPluginDescriptor("block", "form_field", $this, "renderFormField"), + new SmartyPluginDescriptor("block", "form_tagged_fields", $this, "renderTaggedFormFields"), new SmartyPluginDescriptor("function", "form_hidden_fields", $this, "renderHiddenFormField"), new SmartyPluginDescriptor("function", "form_enctype", $this, "formEnctype"), new SmartyPluginDescriptor("block", "form_error", $this, "formError") diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php index a076c808a..f7b6fc559 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php @@ -300,7 +300,7 @@ class TheliaLoop extends AbstractSmartyPlugin /** * @param $smartyParams * - * @return object + * @return BaseLoop * @throws \Thelia\Core\Template\Element\Exception\InvalidElementException * @throws \Thelia\Core\Template\Element\Exception\ElementNotFoundException */ diff --git a/core/lib/Thelia/Form/AddressCreateForm.php b/core/lib/Thelia/Form/AddressCreateForm.php index 0774f253d..902663f43 100644 --- a/core/lib/Thelia/Form/AddressCreateForm.php +++ b/core/lib/Thelia/Form/AddressCreateForm.php @@ -22,6 +22,8 @@ /*************************************************************************************/ namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\Constraints\NotBlank; use Thelia\Core\Translation\Translator; @@ -57,115 +59,122 @@ class AddressCreateForm extends BaseForm { $this->formBuilder ->add("label", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Address label"), - "label_attr" => array( - "for" => "label_create" - ), - "required" => true - )) + "constraints" => array( + new NotBlank() + ), + "label" => Translator::getInstance()->trans("Address label"), + "label_attr" => array( + "for" => "address_label" + ) + )) ->add("title", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Title"), - "label_attr" => array( - "for" => "title_create" - ) - )) + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Title"), + "label_attr" => array( + "for" => "title" + ) + )) ->add("firstname", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Firstname"), - "label_attr" => array( - "for" => "firstname_create" - ) - )) + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("First Name"), + "label_attr" => array( + "for" => "firstname" + ) + )) ->add("lastname", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Lastname"), - "label_attr" => array( - "for" => "lastname_create" - ) - )) - ->add("address1", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Street Address"), - "label_attr" => array( - "for" => "address1_create" - ) - )) - ->add("address2", "text", array( - "label" => Translator::getInstance()->trans("Additional address"), - "label_attr" => array( - "for" => "address2_create" - ) - )) - ->add("address3", "text", array( - "label" => Translator::getInstance()->trans("Additional address"), - "label_attr" => array( - "for" => "address3_create" - ) - )) - ->add("zipcode", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Zip code"), - "label_attr" => array( - "for" => "zipcode_create" - ) - )) - ->add("city", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("City"), - "label_attr" => array( - "for" => "city_create" - ) - )) - ->add("country", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Country"), - "label_attr" => array( - "for" => "country_create" - ) - )) - ->add("phone", "text", array( - "label" => Translator::getInstance()->trans("Phone"), - "label_attr" => array( - "for" => "phone_create" - ) - )) - ->add("cellphone", "text", array( - "label" => Translator::getInstance()->trans("Cellphone"), - "label_attr" => array( - "for" => "cellphone_create" - ) - )) + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Last Name"), + "label_attr" => array( + "for" => "lastname" + ) + )) ->add("company", "text", array( - "label" => Translator::getInstance()->trans("Company"), - "label_attr" => array( - "for" => "company_create" - ) - )) - ->add("is_default", "integer", array( - "label" => Translator::getInstance()->trans("Make this address has my primary address"), - "label_attr" => array( - "for" => "default_address" - ) - )) - ; + "label" => Translator::getInstance()->trans("Company Name"), + "label_attr" => array( + "for" => "company" + ), + "required" => false + )) + ->add("address1", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Street Address"), + "label_attr" => array( + "for" => "address1" + ) + )) + ->add("address2", "text", array( + "label" => Translator::getInstance()->trans("Address Line 2"), + "label_attr" => array( + "for" => "address2" + ), + "required" => false + )) + ->add("address3", "text", array( + "label" => Translator::getInstance()->trans("Address Line 3"), + "label_attr" => array( + "for" => "address3" + ), + "required" => false + )) + ->add("city", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("City"), + "label_attr" => array( + "for" => "city" + ) + )) + ->add("zipcode", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Zip code"), + "label_attr" => array( + "for" => "zipcode" + ) + )) + ->add("country", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Country"), + "label_attr" => array( + "for" => "country" + ) + )) + // Phone + ->add("phone", "text", array( + "label" => Translator::getInstance()->trans("Phone"), + "label_attr" => array( + "for" => "phone" + ), + "required" => false + )) + ->add("cellphone", "text", array( + "label" => Translator::getInstance()->trans("Cellphone"), + "label_attr" => array( + "for" => "cellphone" + ), + "required" => false + )) + // Default address + ->add("is_default", "checkbox", array( + "label" => Translator::getInstance()->trans("Make this address has my primary address"), + "label_attr" => array( + "for" => "default_address" + ), + "required" => false + )) + ; } /** diff --git a/core/lib/Thelia/Form/AddressUpdateForm.php b/core/lib/Thelia/Form/AddressUpdateForm.php index 055b233c9..258fbc357 100644 --- a/core/lib/Thelia/Form/AddressUpdateForm.php +++ b/core/lib/Thelia/Form/AddressUpdateForm.php @@ -22,8 +22,6 @@ /*************************************************************************************/ namespace Thelia\Form; -use Symfony\Component\Validator\Constraints\NotBlank; -use Thelia\Core\Translation\Translator; /** * Class AddressUpdateForm @@ -32,136 +30,11 @@ use Thelia\Core\Translation\Translator; */ class AddressUpdateForm extends AddressCreateForm { - /** - * - * in this function you add all the fields you need for your Form. - * Form this you have to call add method on $this->formBuilder attribute : - * - * $this->formBuilder->add("name", "text") - * ->add("email", "email", array( - * "attr" => array( - * "class" => "field" - * ), - * "label" => "email", - * "constraints" => array( - * new \Symfony\Component\Validator\Constraints\NotBlank() - * ) - * ) - * ) - * ->add('age', 'integer'); - * - * @return null - */ + protected function buildForm() { parent::buildForm(); - $this->formBuilder - ->add("label", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Address label *"), - "label_attr" => array( - "for" => "label_update" - ), - "required" => true - )) - ->add("title", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Title"), - "label_attr" => array( - "for" => "title_update" - ) - )) - ->add("firstname", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Firstname"), - "label_attr" => array( - "for" => "firstname_update" - ) - )) - ->add("lastname", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Lastname"), - "label_attr" => array( - "for" => "lastname_update" - ) - )) - ->add("address1", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Street Address"), - "label_attr" => array( - "for" => "address1_update" - ) - )) - ->add("address2", "text", array( - "label" => Translator::getInstance()->trans("Additional address"), - "label_attr" => array( - "for" => "address2_update" - ) - )) - ->add("address3", "text", array( - "label" => Translator::getInstance()->trans("Additional address"), - "label_attr" => array( - "for" => "address3_update" - ) - )) - ->add("zipcode", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Zip code"), - "label_attr" => array( - "for" => "zipcode_update" - ) - )) - ->add("city", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("City"), - "label_attr" => array( - "for" => "city_update" - ) - )) - ->add("country", "text", array( - "constraints" => array( - new NotBlank() - ), - "label" => Translator::getInstance()->trans("Country"), - "label_attr" => array( - "for" => "country_update" - ) - )) - ->add("phone", "text", array( - "label" => Translator::getInstance()->trans("Phone"), - "label_attr" => array( - "for" => "phone_update" - ) - )) - ->add("cellphone", "text", array( - "label" => Translator::getInstance()->trans("Cellphone"), - "label_attr" => array( - "for" => "cellphone_update" - ) - )) - ->add("company", "text", array( - "label" => Translator::getInstance()->trans("Compagny"), - "label_attr" => array( - "for" => "company_update" - ) - )) - ; - } /** diff --git a/core/lib/Thelia/Form/Area/AreaCountryForm.php b/core/lib/Thelia/Form/Area/AreaCountryForm.php index c511e0b3c..b3f09ae06 100644 --- a/core/lib/Thelia/Form/Area/AreaCountryForm.php +++ b/core/lib/Thelia/Form/Area/AreaCountryForm.php @@ -28,7 +28,6 @@ use Symfony\Component\Validator\Constraints\GreaterThan; use Symfony\Component\Validator\Constraints\NotBlank; use Thelia\Form\BaseForm; - /** * Class AreaCountryForm * @package Thelia\Form\Area @@ -86,4 +85,4 @@ class AreaCountryForm extends BaseForm { return 'thelia_area_country'; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/Area/AreaCreateForm.php b/core/lib/Thelia/Form/Area/AreaCreateForm.php index 590001867..79fc4b2a2 100644 --- a/core/lib/Thelia/Form/Area/AreaCreateForm.php +++ b/core/lib/Thelia/Form/Area/AreaCreateForm.php @@ -26,7 +26,6 @@ use Thelia\Core\Translation\Translator; use Symfony\Component\Validator\Constraints\NotBlank; use Thelia\Form\BaseForm; - /** * Class AreaCreateForm * @package Thelia\Form\Shipping @@ -76,4 +75,4 @@ class AreaCreateForm extends BaseForm { return 'thelia_area_creation'; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/Area/AreaModificationForm.php b/core/lib/Thelia/Form/Area/AreaModificationForm.php index eefcb825a..03f4b2e46 100644 --- a/core/lib/Thelia/Form/Area/AreaModificationForm.php +++ b/core/lib/Thelia/Form/Area/AreaModificationForm.php @@ -25,7 +25,6 @@ namespace Thelia\Form\Area; use Symfony\Component\Validator\Constraints\GreaterThan; use Thelia\Form\Area\AreaCreateForm; - /** * Class AreaModificationForm * @package Thelia\Form\Shipping @@ -46,4 +45,4 @@ class AreaModificationForm extends AreaCreateForm { return 'thelia_area_modification'; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/Area/AreaPostageForm.php b/core/lib/Thelia/Form/Area/AreaPostageForm.php index ba24499e8..fa22ab908 100644 --- a/core/lib/Thelia/Form/Area/AreaPostageForm.php +++ b/core/lib/Thelia/Form/Area/AreaPostageForm.php @@ -29,7 +29,6 @@ use Symfony\Component\Validator\Constraints\NotBlank; use Thelia\Form\BaseForm; use Thelia\Core\Translation\Translator; - /** * Class AreaPostageForm * @package Thelia\Form\Area @@ -85,4 +84,4 @@ class AreaPostageForm extends BaseForm { return 'thelia_area_postage'; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/ContactForm.php b/core/lib/Thelia/Form/ContactForm.php new file mode 100644 index 000000000..097e651da --- /dev/null +++ b/core/lib/Thelia/Form/ContactForm.php @@ -0,0 +1,119 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints\Email; +use Symfony\Component\Validator\Constraints\NotBlank; +use Thelia\Core\Translation\Translator; + + +/** + * Class ContactForm + * @package Thelia\Form + * @author Manuel Raynaud + */ +class ContactForm extends BaseForm +{ + + /** + * + * in this function you add all the fields you need for your Form. + * Form this you have to call add method on $this->formBuilder attribute : + * + * $this->formBuilder->add("name", "text") + * ->add("email", "email", array( + * "attr" => array( + * "class" => "field" + * ), + * "label" => "email", + * "constraints" => array( + * new \Symfony\Component\Validator\Constraints\NotBlank() + * ) + * ) + * ) + * ->add('age', 'integer'); + * + * @return null + */ + protected function buildForm() + { + $this->formBuilder + ->add('firstname', 'text', array( + 'constraints' => array( + new NotBlank() + ), + 'label' => Translator::getInstance()->trans('firstname'), + 'label_attr' => array( + 'for' => 'firstname_contact' + ) + )) + ->add('lastname', 'text', array( + 'constraints' => array( + new NotBlank() + ), + 'label' => Translator::getInstance()->trans('lastname'), + 'label_attr' => array( + 'for' => 'lastname_contact' + ) + )) + ->add('email', 'email', array( + 'constraints' => array( + new NotBlank(), + new Email() + ), + 'label' => Translator::getInstance()->trans('email'), + 'label_attr' => array( + 'for' => 'email_contact' + ) + )) + ->add('subject', 'text', array( + 'constraints' => array( + new NotBlank() + ), + 'label' => Translator::getInstance()->trans('subject'), + 'label_attr' => array( + 'for' => 'subject_contact' + ) + )) + ->add('message', 'text', array( + 'constraints' => array( + new NotBlank() + ), + 'label' => Translator::getInstance()->trans('message'), + 'label_attr' => array( + 'for' => 'message_contact' + ) + + )) + ; + } + + /** + * @return string the name of you form. This name must be unique + */ + public function getName() + { + return 'thelia_contact'; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Form/CountryModificationForm.php b/core/lib/Thelia/Form/CountryModificationForm.php index 68570425b..99c404e62 100644 --- a/core/lib/Thelia/Form/CountryModificationForm.php +++ b/core/lib/Thelia/Form/CountryModificationForm.php @@ -23,8 +23,6 @@ namespace Thelia\Form; use Symfony\Component\Validator\Constraints\GreaterThan; -use Symfony\Component\Validator\Constraints\NotBlank; -use Thelia\Core\Translation\Translator; class CountryModificationForm extends CountryCreationForm { diff --git a/core/lib/Thelia/Form/CustomerCreation.php b/core/lib/Thelia/Form/CustomerCreateForm.php similarity index 50% rename from core/lib/Thelia/Form/CustomerCreation.php rename to core/lib/Thelia/Form/CustomerCreateForm.php index d728a515d..2860b3b0c 100755 --- a/core/lib/Thelia/Form/CustomerCreation.php +++ b/core/lib/Thelia/Form/CustomerCreateForm.php @@ -23,51 +23,32 @@ namespace Thelia\Form; use Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\ExecutionContextInterface; use Thelia\Model\ConfigQuery; use Thelia\Model\CustomerQuery; use Thelia\Core\Translation\Translator; /** - * Class CustomerCreation + * Class CustomerCreateForm * @package Thelia\Form * @author Manuel Raynaud */ -class CustomerCreation extends BaseForm +class CustomerCreateForm extends AddressCreateForm { protected function buildForm() { + parent::buildForm(); + $this->formBuilder + // Remove From Address create form + ->remove("label") + ->remove("is_default") + + // Add ->add("auto_login", "integer") - // Personal Informations - ->add("title", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Title"), - "label_attr" => array( - "for" => "title" - ) - )) - ->add("firstname", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("First Name"), - "label_attr" => array( - "for" => "firstname" - ) - )) - ->add("lastname", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Last Name"), - "label_attr" => array( - "for" => "lastname" - ) - )) + // Add Email address ->add("email", "email", array( "constraints" => array( new Constraints\NotBlank(), @@ -84,90 +65,7 @@ class CustomerCreation extends BaseForm "for" => "email" ) )) -/* ->add("email_confirm", "email", array( - "constraints" => array( - new Constraints\Callback(array( - "methods" => array( - array($this, - "verifyEmailField") - ) - )) - ), - "label" => "email confirmation" - ))*/ - ->add("phone", "text", array( - "label" => Translator::getInstance()->trans("Phone"), - "label_attr" => array( - "for" => "phone" - ), - "required" => false - )) - ->add("cellphone", "text", array( - "label" => Translator::getInstance()->trans("Cellphone"), - "label_attr" => array( - "for" => "cellphone" - ), - "required" => false - )) - // Delivery Informations - ->add("company", "text", array( - "label" => Translator::getInstance()->trans("Company Name"), - "label_attr" => array( - "for" => "company" - ), - "required" => false - )) - ->add("address1", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Street Address"), - "label_attr" => array( - "for" => "address1" - ) - )) - ->add("address2", "text", array( - "label" => Translator::getInstance()->trans("Address Line 2"), - "label_attr" => array( - "for" => "address2" - ), - "required" => false - )) - ->add("address3", "text", array( - "label" => Translator::getInstance()->trans("Address Line 3"), - "label_attr" => array( - "for" => "address3" - ), - "required" => false - )) - ->add("city", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("City"), - "label_attr" => array( - "for" => "city" - ) - )) - ->add("zipcode", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Zip code"), - "label_attr" => array( - "for" => "zipcode" - ) - )) - ->add("country", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Country"), - "label_attr" => array( - "for" => "country" - ) - )) - // Login Information + // Add Login Information ->add("password", "password", array( "constraints" => array( new Constraints\NotBlank(), @@ -191,6 +89,7 @@ class CustomerCreation extends BaseForm "for" => "password_confirmation" ) )) + // Add terms & conditions ->add("agreed", "checkbox", array( "constraints" => array( new Constraints\True(array("message" => "Please accept the Terms and conditions in order to register.")) @@ -206,16 +105,7 @@ class CustomerCreation extends BaseForm $data = $context->getRoot()->getData(); if ($data["password"] != $data["password_confirm"]) { - $context->addViolation("password confirmation is not the same as password field"); - } - } - - public function verifyEmailField($value, ExecutionContextInterface $context) - { - $data = $context->getRoot()->getData(); - - if ($data["email"] != $data["email_confirm"]) { - $context->addViolation("email confirmation is not the same as email field"); + $context->addViolation("password confirmation is not the same as password field."); } } @@ -223,12 +113,12 @@ class CustomerCreation extends BaseForm { $customer = CustomerQuery::create()->findOneByEmail($value); if ($customer) { - $context->addViolation("This email already exists"); + $context->addViolation("This email already exists."); } } public function getName() { - return "thelia_customer_creation"; + return "thelia_customer_create"; } } diff --git a/core/lib/Thelia/Form/CustomerLogin.php b/core/lib/Thelia/Form/CustomerLogin.php index 78f4c3d33..587e87294 100755 --- a/core/lib/Thelia/Form/CustomerLogin.php +++ b/core/lib/Thelia/Form/CustomerLogin.php @@ -22,6 +22,8 @@ /*************************************************************************************/ namespace Thelia\Form; +use Symfony\Component\Form\FormInterface; +use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\Email; @@ -56,13 +58,13 @@ class CustomerLogin extends BaseForm ) )) ->add("account", "choice", array( - "constraints" => array( + /*"constraints" => array( new Constraints\Callback(array( "methods" => array( array($this, "verifyAccount") ) )) - ), + ),*/ "choices" => array( 0 => Translator::getInstance()->trans("No, I am a new customer."), 1 => Translator::getInstance()->trans("Yes, I have a password :") @@ -70,12 +72,21 @@ class CustomerLogin extends BaseForm "label_attr" => array( "for" => "account" ), - "data" => 0 + "data" => 0, + 'validation_groups' => function(FormInterface $form) { + $account = $form->getData(); + if ($account === 1) + return 'existing_customer'; + else + return 'Default'; + } )) ->add("password", "password", array( - /*"constraints" => array( - new Constraints\NotBlank() - ),*/ + "constraints" => array( + new Constraints\NotBlank(array( + 'groups' => array('existing_customer'), + )) + ), "label" => Translator::getInstance()->trans("Please enter your password"), "label_attr" => array( "for" => "password" @@ -120,6 +131,26 @@ class CustomerLogin extends BaseForm } } + + /** + * {@inheritdoc} + */ + public function setDefaultOptions(OptionsResolverInterface $resolver) + { + $resolver->setDefaults(array( + //'cascade_validation' => true, + // 'csrf_protection' => true, + //'csrf_field_name' => '_token', + 'validation_groups' => function(FormInterface $form) { + $data = $form->getData(); + if ($data->getAccount() == 1) + return array('Default', 'existing_customer'); + else + return 'Default'; + } + )); + } + public function getName() { return "thelia_customer_login"; diff --git a/core/lib/Thelia/Form/CustomerModification.php b/core/lib/Thelia/Form/CustomerModification.php deleted file mode 100755 index 4f12c6013..000000000 --- a/core/lib/Thelia/Form/CustomerModification.php +++ /dev/null @@ -1,164 +0,0 @@ -. */ -/* */ -/*************************************************************************************/ - -namespace Thelia\Form; - -use Symfony\Component\Validator\Constraints; -use Thelia\Core\Translation\Translator; - -/** - * Class CustomerModification - * @package Thelia\Form - * @author Manuel Raynaud - */ -class CustomerModification extends BaseForm -{ - /** - * - * in this function you add all the fields you need for your Form. - * Form this you have to call add method on $this->form attribute : - * - * $this->form->add("name", "text") - * ->add("email", "email", array( - * "attr" => array( - * "class" => "field" - * ), - * "label" => "email", - * "constraints" => array( - * new NotBlank() - * ) - * ) - * ) - * ->add('age', 'integer'); - * - * @return null - */ - protected function buildForm() - { - - $this->formBuilder - ->add('update_logged_in_user', 'integer') // In a front office context, update the in-memory logged-in user data - ->add("company", "text", array( - "label" => Translator::getInstance()->trans("Company"), - "label_attr" => array( - "for" => "company" - ) - )) - ->add("firstname", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("First Name"), - "label_attr" => array( - "for" => "firstname" - ) - )) - ->add("lastname", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Last Name"), - "label_attr" => array( - "for" => "lastname" - ) - )) - ->add("address1", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label_attr" => array( - "for" => "address" - ), - "label" => Translator::getInstance()->trans("Street Address") - )) - ->add("address2", "text", array( - "label" => Translator::getInstance()->trans("Address Line 2"), - "label_attr" => array( - "for" => "address2" - ) - )) - ->add("address3", "text", array( - "label" => Translator::getInstance()->trans("Address Line 3"), - "label_attr" => array( - "for" => "address3" - ) - )) - ->add("phone", "text", array( - "label" => Translator::getInstance()->trans("Phone"), - "label_attr" => array( - "for" => "phone" - ) - )) - ->add("cellphone", "text", array( - "label" => Translator::getInstance()->trans("Cellphone"), - "label_attr" => array( - "for" => "cellphone" - ) - )) - ->add("zipcode", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Zip code"), - "label_attr" => array( - "for" => "zipcode" - ) - )) - ->add("city", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("City"), - "label_attr" => array( - "for" => "city" - ) - )) - ->add("country", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Country"), - "label_attr" => array( - "for" => "country" - ) - )) - ->add("title", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Title"), - "label_attr" => array( - "for" => "title" - ) - )) - ; - } - - /** - * @return string the name of you form. This name must be unique - */ - public function getName() - { - return "thelia_customer_modification"; - } -} diff --git a/core/lib/Thelia/Form/CustomerPasswordUpdateForm.php b/core/lib/Thelia/Form/CustomerPasswordUpdateForm.php new file mode 100755 index 000000000..b8310d697 --- /dev/null +++ b/core/lib/Thelia/Form/CustomerPasswordUpdateForm.php @@ -0,0 +1,99 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\ExecutionContextInterface; +use Thelia\Model\ConfigQuery; +use Thelia\Model\CustomerQuery; +use Thelia\Core\Translation\Translator; + +/** + * Class CustomerPasswordUpdateForm + * @package Thelia\Form + * @author Christophe Laffont + */ +class CustomerPasswordUpdateForm extends BaseForm +{ + + protected function buildForm() + { + $this->formBuilder + + // Login Information + ->add("password_old", "password", array( + "constraints" => array( + new Constraints\NotBlank(), + new Constraints\Callback(array("methods" => array( + array($this, "verifyCurrentPasswordField") + ))) + ), + "label" => Translator::getInstance()->trans("Current Password"), + "label_attr" => array( + "for" => "password_old" + ) + )) + ->add("password", "password", array( + "constraints" => array( + new Constraints\NotBlank(), + new Constraints\Length(array("min" => ConfigQuery::read("password.length", 4))) + ), + "label" => Translator::getInstance()->trans("New Password"), + "label_attr" => array( + "for" => "password" + ) + )) + ->add("password_confirm", "password", array( + "constraints" => array( + new Constraints\NotBlank(), + new Constraints\Length(array("min" => ConfigQuery::read("password.length", 4))), + new Constraints\Callback(array("methods" => array( + array($this, "verifyPasswordField") + ))) + ), + "label" => "Password confirmation", + "label_attr" => array( + "for" => "password_confirmation" + ) + )); + } + + public function verifyCurrentPasswordField($value, ExecutionContextInterface $context) + { + + } + + public function verifyPasswordField($value, ExecutionContextInterface $context) + { + $data = $context->getRoot()->getData(); + + if ($data["password"] != $data["password_confirm"]) { + $context->addViolation("password confirmation is not the same as password field."); + } + } + + public function getName() + { + return "thelia_customer_password_update"; + } +} diff --git a/core/lib/Thelia/Form/CustomerProfilUpdateForm.php b/core/lib/Thelia/Form/CustomerProfilUpdateForm.php new file mode 100755 index 000000000..74e888e5b --- /dev/null +++ b/core/lib/Thelia/Form/CustomerProfilUpdateForm.php @@ -0,0 +1,71 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; +use Thelia\Model\ConfigQuery; +use Thelia\Core\Translation\Translator; + +/** + * Class CustomerProfilUpdateForm + * @package Thelia\Form + * @author Christophe Laffont + */ +class CustomerProfilUpdateForm extends CustomerCreateForm +{ + + protected function buildForm() + { + parent::buildForm(); + + $this->formBuilder + ->remove("auto_login") + // Remove From Personal Informations + ->remove("phone") + ->remove("cellphone") + // Remove Delivery Informations + ->remove("company") + ->remove("address1") + ->remove("address2") + ->remove("address3") + ->remove("city") + ->remove("zipcode") + ->remove("country") + // Remove Terms & conditions + ->remove("agreed") + + // Add Newsletter + ->add("newsletter", "checkbox", array( + "label" => "I would like to receive the newsletter our the latest news.", + "label_attr" => array( + "for" => "newsletter" + ), + "required" => false + )); + } + + public function getName() + { + return "thelia_customer_profil_update"; + } +} diff --git a/core/lib/Thelia/Form/CustomerUpdateForm.php b/core/lib/Thelia/Form/CustomerUpdateForm.php index b02c7e31e..06e094ec7 100755 --- a/core/lib/Thelia/Form/CustomerUpdateForm.php +++ b/core/lib/Thelia/Form/CustomerUpdateForm.php @@ -1,10 +1,10 @@ . */ +/* along with this program. If not, see . */ /* */ /*************************************************************************************/ + namespace Thelia\Form; use Symfony\Component\Validator\Constraints; -use Thelia\Model\ConfigQuery; use Thelia\Core\Translation\Translator; /** * Class CustomerUpdateForm * @package Thelia\Form - * @author Christophe Laffont + * @author Manuel Raynaud */ -class CustomerUpdateForm extends CustomerCreation +class CustomerUpdateForm extends BaseForm { - + /** + * + * in this function you add all the fields you need for your Form. + * Form this you have to call add method on $this->form attribute : + * + * $this->form->add("name", "text") + * ->add("email", "email", array( + * "attr" => array( + * "class" => "field" + * ), + * "label" => "email", + * "constraints" => array( + * new NotBlank() + * ) + * ) + * ) + * ->add('age', 'integer'); + * + * @return null + */ protected function buildForm() { - parent::buildForm(); - $this->formBuilder - ->remove("auto_login") - // Remove From Personal Informations - ->remove("phone") - ->remove("cellphone") - // Remove Delivery Informations - ->remove("company") - ->remove("address1") - ->remove("address2") - ->remove("address3") - ->remove("city") - ->remove("zipcode") - ->remove("country") - // Remove Login Information - ->remove("password") - ->remove("password_confirm") - // Remove Terms & conditions - ->remove("agreed") - - // Add Newsletter - ->add("newsletter", "checkbox", array( - "label" => "I would like to receive the newsletter our the latest news.", + ->add('update_logged_in_user', 'integer') // In a front office context, update the in-memory logged-in user data + ->add("company", "text", array( + "label" => Translator::getInstance()->trans("Company"), "label_attr" => array( - "for" => "newsletter" + "for" => "company" + ) + )) + ->add("firstname", "text", array( + "constraints" => array( + new Constraints\NotBlank() ), - "required" => false - )); + "label" => Translator::getInstance()->trans("First Name"), + "label_attr" => array( + "for" => "firstname" + ) + )) + ->add("lastname", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Last Name"), + "label_attr" => array( + "for" => "lastname" + ) + )) + ->add("address1", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label_attr" => array( + "for" => "address" + ), + "label" => Translator::getInstance()->trans("Street Address") + )) + ->add("address2", "text", array( + "label" => Translator::getInstance()->trans("Address Line 2"), + "label_attr" => array( + "for" => "address2" + ) + )) + ->add("address3", "text", array( + "label" => Translator::getInstance()->trans("Address Line 3"), + "label_attr" => array( + "for" => "address3" + ) + )) + ->add("phone", "text", array( + "label" => Translator::getInstance()->trans("Phone"), + "label_attr" => array( + "for" => "phone" + ) + )) + ->add("cellphone", "text", array( + "label" => Translator::getInstance()->trans("Cellphone"), + "label_attr" => array( + "for" => "cellphone" + ) + )) + ->add("zipcode", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Zip code"), + "label_attr" => array( + "for" => "zipcode" + ) + )) + ->add("city", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("City"), + "label_attr" => array( + "for" => "city" + ) + )) + ->add("country", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Country"), + "label_attr" => array( + "for" => "country" + ) + )) + ->add("title", "text", array( + "constraints" => array( + new Constraints\NotBlank() + ), + "label" => Translator::getInstance()->trans("Title"), + "label_attr" => array( + "for" => "title" + ) + )) + ; } + /** + * @return string the name of you form. This name must be unique + */ public function getName() { return "thelia_customer_update"; diff --git a/core/lib/Thelia/Form/ProfileCreationForm.php b/core/lib/Thelia/Form/ProfileCreationForm.php new file mode 100644 index 000000000..ae32ae5a0 --- /dev/null +++ b/core/lib/Thelia/Form/ProfileCreationForm.php @@ -0,0 +1,80 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Constraints\NotBlank; +use Symfony\Component\Validator\ExecutionContextInterface; +use Thelia\Core\Translation\Translator; +use Thelia\Model\ProfileQuery; + +/** + * Class ProfileCreationForm + * @package Thelia\Form + * @author Etienne Roudeix + */ +class ProfileCreationForm extends BaseForm +{ + use StandardDescriptionFieldsTrait; + + protected function buildForm($change_mode = false) + { + $this->formBuilder + ->add("locale", "text", array( + "constraints" => array(new NotBlank()) + )) + ->add("code", "text", array( + "constraints" => array( + new NotBlank(), + new Constraints\Callback( + array( + "methods" => array( + array($this, "verifyCode"), + ), + ) + ), + ), + "label" => Translator::getInstance()->trans("Profile Code"), + "label_attr" => array("for" => "profile_code_fiels"), + )) + ; + + $this->addStandardDescFields(array('locale')); + } + + public function getName() + { + return "thelia_profile_creation"; + } + + public function verifyCode($value, ExecutionContextInterface $context) + { + /* check unicity */ + $profile = ProfileQuery::create() + ->findOneByCode($value); + + if (null !== $profile) { + $context->addViolation("Profile `code` already exists"); + } + } +} diff --git a/core/lib/Thelia/Form/ProfileModificationForm.php b/core/lib/Thelia/Form/ProfileModificationForm.php index 618fbdfb4..711ecea56 100644 --- a/core/lib/Thelia/Form/ProfileModificationForm.php +++ b/core/lib/Thelia/Form/ProfileModificationForm.php @@ -1,7 +1,7 @@ . */ +/* along with this program. If not, see . */ /* */ /*************************************************************************************/ - namespace Thelia\Form; use Symfony\Component\Validator\Constraints; -use Thelia\Core\Translation\Translator; -use Thelia\Model\ConfigQuery; +use Symfony\Component\Validator\ExecutionContextInterface; +use Thelia\Model\ProfileQuery; /** - * Class ProfileModification + * Class ProfileModificationForm * @package Thelia\Form - * @author Manuel Raynaud + * @author Etienne Roudeix */ -class ProfileModificationForm extends BaseForm +class ProfileModificationForm extends ProfileCreationForm { - protected function buildForm() { + parent::buildForm(true); $this->formBuilder - ->add("firstname", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("First Name"), - "label_attr" => array( - "for" => "firstname" - ) - )) - ->add("lastname", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Last Name"), - "label_attr" => array( - "for" => "lastname" - ) - )) - ->add("default_language", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Default language"), - "label_attr" => array( - "for" => "default_language" - ) - )) - ->add("editing_language_default", "text", array( - "constraints" => array( - new Constraints\NotBlank() - ), - "label" => Translator::getInstance()->trans("Editing language default"), - "label_attr" => array( - "for" => "editing_language_default" - ) - )) - ->add("old_password", "password", array( + ->add("id", "hidden", array( + "required" => true, "constraints" => array( new Constraints\NotBlank(), - new Constraints\Length(array("min" => ConfigQuery::read("password.length", 4))) - ), - "label" => Translator::getInstance()->trans("Old password"), - "label_attr" => array( - "for" => "old_password" - ) - )) - ->add("password", "password", array( - "constraints" => array( - new Constraints\NotBlank(), - new Constraints\Length(array("min" => ConfigQuery::read("password.length", 4))) - ), - "label" => Translator::getInstance()->trans("Password"), - "label_attr" => array( - "for" => "password" - ) - )) - ->add("password_confirm", "password", array( - "constraints" => array( - new Constraints\NotBlank(), - new Constraints\Length(array("min" => ConfigQuery::read("password.length", 4))), - new Constraints\Callback(array("methods" => array( - array($this, "verifyPasswordField") - ))) - ), - "label" => "Password confirmation", - "label_attr" => array( - "for" => "password_confirmation" + new Constraints\Callback( + array( + "methods" => array( + array($this, "verifyProfileId"), + ), + ) + ), ) )) ; + + $this->formBuilder->remove("code"); } public function getName() { return "thelia_profile_modification"; } + + public function verifyProfileId($value, ExecutionContextInterface $context) + { + $profile = ProfileQuery::create() + ->findPk($value); + + if (null === $profile) { + $context->addViolation("Profile ID not found"); + } + } } diff --git a/core/lib/Thelia/Form/ShippingZone/ShippingZoneAddArea.php b/core/lib/Thelia/Form/ShippingZone/ShippingZoneAddArea.php index 81dd422b6..ea31b696b 100644 --- a/core/lib/Thelia/Form/ShippingZone/ShippingZoneAddArea.php +++ b/core/lib/Thelia/Form/ShippingZone/ShippingZoneAddArea.php @@ -28,7 +28,6 @@ use Symfony\Component\Validator\Constraints\GreaterThan; use Symfony\Component\Validator\Constraints\NotBlank; use Thelia\Form\BaseForm; - /** * Class ShippingZoneAddArea * @package Thelia\Form\ShippingZone @@ -84,4 +83,4 @@ class ShippingZoneAddArea extends BaseForm { return 'thelia_shippingzone_area'; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/ShippingZone/ShippingZoneRemoveArea.php b/core/lib/Thelia/Form/ShippingZone/ShippingZoneRemoveArea.php index 5c4e5597b..dfa568334 100644 --- a/core/lib/Thelia/Form/ShippingZone/ShippingZoneRemoveArea.php +++ b/core/lib/Thelia/Form/ShippingZone/ShippingZoneRemoveArea.php @@ -23,7 +23,6 @@ namespace Thelia\Form\ShippingZone; - /** * Class ShippingZoneRemoveArea * @package Thelia\Form\ShippingZone @@ -39,4 +38,4 @@ class ShippingZoneRemoveArea extends ShippingZoneAddArea { return 'thelia_shippingzone_remove_area'; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/TaxCreationForm.php b/core/lib/Thelia/Form/TaxCreationForm.php new file mode 100644 index 000000000..abc8fa316 --- /dev/null +++ b/core/lib/Thelia/Form/TaxCreationForm.php @@ -0,0 +1,101 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Constraints\NotBlank; +use Thelia\Core\Form\Type\TheliaType; +use Thelia\Core\Translation\Translator; +use Thelia\TaxEngine\TaxEngine; +use Thelia\TaxEngine\TaxType; + +/** + * Class TaxCreationForm + * @package Thelia\Form + * @author Etienne Roudeix + */ +class TaxCreationForm extends BaseForm +{ + use StandardDescriptionFieldsTrait; + + protected function buildForm($change_mode = false) + { + $types = TaxEngine::getInstance()->getTaxTypeList(); + $typeList = array(); + $requirementList = array(); + foreach($types as $type) { + $classPath = "\\Thelia\\TaxEngine\\TaxType\\$type"; + $instance = new $classPath(); + $typeList[$type] = $instance->getTitle(); + $requirementList[$type] = $instance->getRequirementsList(); + } + + $this->formBuilder + ->add("locale", "text", array( + "constraints" => array(new NotBlank()) + )) + ->add("type", "choice", array( + "choices" => $typeList, + "required" => true, + "constraints" => array( + new Constraints\NotBlank(), + ), + "label" => Translator::getInstance()->trans("Type"), + "label_attr" => array("for" => "type_field"), + )) + ; + + foreach($requirementList as $type => $requirements) { + foreach($requirements as $name => $requirementType) { + $this->formBuilder + ->add($type . ':' . $name, new TheliaType(), array( + //"instance" => $requirementType, + "constraints" => array( + new Constraints\Callback( + array( + "methods" => array( + array($requirementType, "verifyForm"), + ), + ) + ), + ), + "attr" => array( + "tag" => "requirements", + "tax_type" => $type, + ), + "label" => Translator::getInstance()->trans($name), + "type" => $requirementType->getFormType(), + "options" => $requirementType->getFormOptions(), + )) + ; + } + } + + $this->addStandardDescFields(array('postscriptum', 'chapo', 'locale')); + } + + public function getName() + { + return "thelia_tax_creation"; + } +} diff --git a/core/lib/Thelia/Form/TaxModificationForm.php b/core/lib/Thelia/Form/TaxModificationForm.php new file mode 100644 index 000000000..8cfacdd0c --- /dev/null +++ b/core/lib/Thelia/Form/TaxModificationForm.php @@ -0,0 +1,71 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\ExecutionContextInterface; +use Thelia\Model\TaxQuery; + +/** + * Class TaxModificationForm + * @package Thelia\Form + * @author Etienne Roudeix + */ +class TaxModificationForm extends TaxCreationForm +{ + protected function buildForm() + { + parent::buildForm(true); + + $this->formBuilder + ->add("id", "hidden", array( + "required" => true, + "constraints" => array( + new Constraints\NotBlank(), + new Constraints\Callback( + array( + "methods" => array( + array($this, "verifyTaxId"), + ), + ) + ), + ) + )) + ; + } + + public function getName() + { + return "thelia_tax_modification"; + } + + public function verifyTaxId($value, ExecutionContextInterface $context) + { + $tax = TaxQuery::create() + ->findPk($value); + + if (null === $tax) { + $context->addViolation("Tax ID not found"); + } + } +} diff --git a/core/lib/Thelia/Form/TaxRuleCreationForm.php b/core/lib/Thelia/Form/TaxRuleCreationForm.php index be3556321..a5dcc1999 100644 --- a/core/lib/Thelia/Form/TaxRuleCreationForm.php +++ b/core/lib/Thelia/Form/TaxRuleCreationForm.php @@ -24,8 +24,6 @@ namespace Thelia\Form; use Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\Constraints\NotBlank; -use Thelia\Core\Translation\Translator; -use Thelia\Model\CountryQuery; class TaxRuleCreationForm extends BaseForm { diff --git a/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php b/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php index 1d96c7e4d..ea2d1f06b 100644 --- a/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php +++ b/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php @@ -34,7 +34,7 @@ class TaxRuleTaxListUpdateForm extends BaseForm protected function buildForm() { $countryList = array(); - foreach(CountryQuery::create()->find() as $country) { + foreach (CountryQuery::create()->find() as $country) { $countryList[$country->getId()] = $country->getId(); } @@ -96,7 +96,7 @@ class TaxRuleTaxListUpdateForm extends BaseForm public function verifyTaxList($value, ExecutionContextInterface $context) { $jsonType = new JsonType(); - if(!$jsonType->isValid($value)) { + if (!$jsonType->isValid($value)) { $context->addViolation("Tax list is not valid JSON"); } @@ -104,10 +104,10 @@ class TaxRuleTaxListUpdateForm extends BaseForm /* check we have 2 level max */ - foreach($taxList as $taxLevel1) { - if(is_array($taxLevel1)) { - foreach($taxLevel1 as $taxLevel2) { - if(is_array($taxLevel2)) { + foreach ($taxList as $taxLevel1) { + if (is_array($taxLevel1)) { + foreach ($taxLevel1 as $taxLevel2) { + if (is_array($taxLevel2)) { $context->addViolation("Bad tax list JSON"); } else { $taxModel = TaxQuery::create()->findPk($taxLevel2); diff --git a/core/lib/Thelia/Model/Admin.php b/core/lib/Thelia/Model/Admin.php index 2712eb95c..d4fa2a02d 100755 --- a/core/lib/Thelia/Model/Admin.php +++ b/core/lib/Thelia/Model/Admin.php @@ -2,6 +2,8 @@ namespace Thelia\Model; +use Propel\Runtime\ActiveQuery\Criteria; +use Thelia\Core\Event\AdminResources; use Thelia\Core\Security\User\UserInterface; use Thelia\Core\Security\Role\Role; @@ -21,6 +23,28 @@ use Propel\Runtime\Connection\ConnectionInterface; */ class Admin extends BaseAdmin implements UserInterface { + public function getPermissions() + { + $profileId = $this->getProfileId(); + + if( null === $profileId ) { + return AdminResources::SUPERADMINISTRATOR; + } + + $userPermissionsQuery = ProfileResourceQuery::create() + ->joinResource("resource", Criteria::LEFT_JOIN) + ->withColumn('resource.code', 'code') + ->filterByProfileId($profileId) + ->find(); + + $userPermissions = array(); + foreach($userPermissionsQuery as $userPermission) { + $userPermissions[] = $userPermission->getVirtualColumn('code'); + } + + return $userPermissions; + } + /** * {@inheritDoc} */ diff --git a/core/lib/Thelia/Model/AdminGroup.php b/core/lib/Thelia/Model/AdminGroup.php deleted file mode 100755 index 4f84ca894..000000000 --- a/core/lib/Thelia/Model/AdminGroup.php +++ /dev/null @@ -1,9 +0,0 @@ -id; } + /** + * Get the [profile_id] column value. + * + * @return int + */ + public function getProfileId() + { + + return $this->profile_id; + } + /** * Get the [firstname] column value. * @@ -574,6 +570,31 @@ abstract class Admin implements ActiveRecordInterface return $this; } // setId() + /** + * Set the value of [profile_id] column. + * + * @param int $v new value + * @return \Thelia\Model\Admin The current object (for fluent API support) + */ + public function setProfileId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->profile_id !== $v) { + $this->profile_id = $v; + $this->modifiedColumns[] = AdminTableMap::PROFILE_ID; + } + + if ($this->aProfile !== null && $this->aProfile->getId() !== $v) { + $this->aProfile = null; + } + + + return $this; + } // setProfileId() + /** * Set the value of [firstname] column. * @@ -824,37 +845,40 @@ abstract class Admin implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : AdminTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; $this->id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : AdminTableMap::translateFieldName('Firstname', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : AdminTableMap::translateFieldName('ProfileId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->profile_id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : AdminTableMap::translateFieldName('Firstname', TableMap::TYPE_PHPNAME, $indexType)]; $this->firstname = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : AdminTableMap::translateFieldName('Lastname', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : AdminTableMap::translateFieldName('Lastname', TableMap::TYPE_PHPNAME, $indexType)]; $this->lastname = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : AdminTableMap::translateFieldName('Login', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : AdminTableMap::translateFieldName('Login', TableMap::TYPE_PHPNAME, $indexType)]; $this->login = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : AdminTableMap::translateFieldName('Password', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : AdminTableMap::translateFieldName('Password', TableMap::TYPE_PHPNAME, $indexType)]; $this->password = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : AdminTableMap::translateFieldName('Algo', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : AdminTableMap::translateFieldName('Algo', TableMap::TYPE_PHPNAME, $indexType)]; $this->algo = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : AdminTableMap::translateFieldName('Salt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : AdminTableMap::translateFieldName('Salt', TableMap::TYPE_PHPNAME, $indexType)]; $this->salt = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : AdminTableMap::translateFieldName('RememberMeToken', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : AdminTableMap::translateFieldName('RememberMeToken', TableMap::TYPE_PHPNAME, $indexType)]; $this->remember_me_token = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : AdminTableMap::translateFieldName('RememberMeSerial', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : AdminTableMap::translateFieldName('RememberMeSerial', TableMap::TYPE_PHPNAME, $indexType)]; $this->remember_me_serial = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : AdminTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : AdminTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : AdminTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : AdminTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -867,7 +891,7 @@ abstract class Admin implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 11; // 11 = AdminTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 12; // 12 = AdminTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\Admin object", 0, $e); @@ -889,6 +913,9 @@ abstract class Admin implements ActiveRecordInterface */ public function ensureConsistency() { + if ($this->aProfile !== null && $this->profile_id !== $this->aProfile->getId()) { + $this->aProfile = null; + } } // ensureConsistency /** @@ -928,9 +955,7 @@ abstract class Admin implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? - $this->collAdminGroups = null; - - $this->collGroups = null; + $this->aProfile = null; } // if (deep) } @@ -1053,6 +1078,18 @@ abstract class Admin implements ActiveRecordInterface if (!$this->alreadyInSave) { $this->alreadyInSave = true; + // We call the save method on the following object(s) if they + // were passed to this object by their corresponding set + // method. This object relates to these object(s) by a + // foreign key reference. + + if ($this->aProfile !== null) { + if ($this->aProfile->isModified() || $this->aProfile->isNew()) { + $affectedRows += $this->aProfile->save($con); + } + $this->setProfile($this->aProfile); + } + if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { @@ -1064,50 +1101,6 @@ abstract class Admin implements ActiveRecordInterface $this->resetModified(); } - if ($this->groupsScheduledForDeletion !== null) { - if (!$this->groupsScheduledForDeletion->isEmpty()) { - $pks = array(); - $pk = $this->getPrimaryKey(); - foreach ($this->groupsScheduledForDeletion->getPrimaryKeys(false) as $remotePk) { - $pks[] = array($remotePk, $pk); - } - - AdminGroupQuery::create() - ->filterByPrimaryKeys($pks) - ->delete($con); - $this->groupsScheduledForDeletion = null; - } - - foreach ($this->getGroups() as $group) { - if ($group->isModified()) { - $group->save($con); - } - } - } elseif ($this->collGroups) { - foreach ($this->collGroups as $group) { - if ($group->isModified()) { - $group->save($con); - } - } - } - - if ($this->adminGroupsScheduledForDeletion !== null) { - if (!$this->adminGroupsScheduledForDeletion->isEmpty()) { - \Thelia\Model\AdminGroupQuery::create() - ->filterByPrimaryKeys($this->adminGroupsScheduledForDeletion->getPrimaryKeys(false)) - ->delete($con); - $this->adminGroupsScheduledForDeletion = null; - } - } - - if ($this->collAdminGroups !== null) { - foreach ($this->collAdminGroups as $referrerFK) { - if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { - $affectedRows += $referrerFK->save($con); - } - } - } - $this->alreadyInSave = false; } @@ -1137,6 +1130,9 @@ abstract class Admin implements ActiveRecordInterface if ($this->isColumnModified(AdminTableMap::ID)) { $modifiedColumns[':p' . $index++] = 'ID'; } + if ($this->isColumnModified(AdminTableMap::PROFILE_ID)) { + $modifiedColumns[':p' . $index++] = 'PROFILE_ID'; + } if ($this->isColumnModified(AdminTableMap::FIRSTNAME)) { $modifiedColumns[':p' . $index++] = 'FIRSTNAME'; } @@ -1181,6 +1177,9 @@ abstract class Admin implements ActiveRecordInterface case 'ID': $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); break; + case 'PROFILE_ID': + $stmt->bindValue($identifier, $this->profile_id, PDO::PARAM_INT); + break; case 'FIRSTNAME': $stmt->bindValue($identifier, $this->firstname, PDO::PARAM_STR); break; @@ -1277,33 +1276,36 @@ abstract class Admin implements ActiveRecordInterface return $this->getId(); break; case 1: - return $this->getFirstname(); + return $this->getProfileId(); break; case 2: - return $this->getLastname(); + return $this->getFirstname(); break; case 3: - return $this->getLogin(); + return $this->getLastname(); break; case 4: - return $this->getPassword(); + return $this->getLogin(); break; case 5: - return $this->getAlgo(); + return $this->getPassword(); break; case 6: - return $this->getSalt(); + return $this->getAlgo(); break; case 7: - return $this->getRememberMeToken(); + return $this->getSalt(); break; case 8: - return $this->getRememberMeSerial(); + return $this->getRememberMeToken(); break; case 9: - return $this->getCreatedAt(); + return $this->getRememberMeSerial(); break; case 10: + return $this->getCreatedAt(); + break; + case 11: return $this->getUpdatedAt(); break; default: @@ -1336,16 +1338,17 @@ abstract class Admin implements ActiveRecordInterface $keys = AdminTableMap::getFieldNames($keyType); $result = array( $keys[0] => $this->getId(), - $keys[1] => $this->getFirstname(), - $keys[2] => $this->getLastname(), - $keys[3] => $this->getLogin(), - $keys[4] => $this->getPassword(), - $keys[5] => $this->getAlgo(), - $keys[6] => $this->getSalt(), - $keys[7] => $this->getRememberMeToken(), - $keys[8] => $this->getRememberMeSerial(), - $keys[9] => $this->getCreatedAt(), - $keys[10] => $this->getUpdatedAt(), + $keys[1] => $this->getProfileId(), + $keys[2] => $this->getFirstname(), + $keys[3] => $this->getLastname(), + $keys[4] => $this->getLogin(), + $keys[5] => $this->getPassword(), + $keys[6] => $this->getAlgo(), + $keys[7] => $this->getSalt(), + $keys[8] => $this->getRememberMeToken(), + $keys[9] => $this->getRememberMeSerial(), + $keys[10] => $this->getCreatedAt(), + $keys[11] => $this->getUpdatedAt(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -1353,8 +1356,8 @@ abstract class Admin implements ActiveRecordInterface } if ($includeForeignObjects) { - if (null !== $this->collAdminGroups) { - $result['AdminGroups'] = $this->collAdminGroups->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + if (null !== $this->aProfile) { + $result['Profile'] = $this->aProfile->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); } } @@ -1394,33 +1397,36 @@ abstract class Admin implements ActiveRecordInterface $this->setId($value); break; case 1: - $this->setFirstname($value); + $this->setProfileId($value); break; case 2: - $this->setLastname($value); + $this->setFirstname($value); break; case 3: - $this->setLogin($value); + $this->setLastname($value); break; case 4: - $this->setPassword($value); + $this->setLogin($value); break; case 5: - $this->setAlgo($value); + $this->setPassword($value); break; case 6: - $this->setSalt($value); + $this->setAlgo($value); break; case 7: - $this->setRememberMeToken($value); + $this->setSalt($value); break; case 8: - $this->setRememberMeSerial($value); + $this->setRememberMeToken($value); break; case 9: - $this->setCreatedAt($value); + $this->setRememberMeSerial($value); break; case 10: + $this->setCreatedAt($value); + break; + case 11: $this->setUpdatedAt($value); break; } // switch() @@ -1448,16 +1454,17 @@ abstract class Admin implements ActiveRecordInterface $keys = AdminTableMap::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); - if (array_key_exists($keys[1], $arr)) $this->setFirstname($arr[$keys[1]]); - if (array_key_exists($keys[2], $arr)) $this->setLastname($arr[$keys[2]]); - if (array_key_exists($keys[3], $arr)) $this->setLogin($arr[$keys[3]]); - if (array_key_exists($keys[4], $arr)) $this->setPassword($arr[$keys[4]]); - if (array_key_exists($keys[5], $arr)) $this->setAlgo($arr[$keys[5]]); - if (array_key_exists($keys[6], $arr)) $this->setSalt($arr[$keys[6]]); - if (array_key_exists($keys[7], $arr)) $this->setRememberMeToken($arr[$keys[7]]); - if (array_key_exists($keys[8], $arr)) $this->setRememberMeSerial($arr[$keys[8]]); - if (array_key_exists($keys[9], $arr)) $this->setCreatedAt($arr[$keys[9]]); - if (array_key_exists($keys[10], $arr)) $this->setUpdatedAt($arr[$keys[10]]); + if (array_key_exists($keys[1], $arr)) $this->setProfileId($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setFirstname($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setLastname($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setLogin($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setPassword($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setAlgo($arr[$keys[6]]); + if (array_key_exists($keys[7], $arr)) $this->setSalt($arr[$keys[7]]); + if (array_key_exists($keys[8], $arr)) $this->setRememberMeToken($arr[$keys[8]]); + if (array_key_exists($keys[9], $arr)) $this->setRememberMeSerial($arr[$keys[9]]); + if (array_key_exists($keys[10], $arr)) $this->setCreatedAt($arr[$keys[10]]); + if (array_key_exists($keys[11], $arr)) $this->setUpdatedAt($arr[$keys[11]]); } /** @@ -1470,6 +1477,7 @@ abstract class Admin implements ActiveRecordInterface $criteria = new Criteria(AdminTableMap::DATABASE_NAME); if ($this->isColumnModified(AdminTableMap::ID)) $criteria->add(AdminTableMap::ID, $this->id); + if ($this->isColumnModified(AdminTableMap::PROFILE_ID)) $criteria->add(AdminTableMap::PROFILE_ID, $this->profile_id); if ($this->isColumnModified(AdminTableMap::FIRSTNAME)) $criteria->add(AdminTableMap::FIRSTNAME, $this->firstname); if ($this->isColumnModified(AdminTableMap::LASTNAME)) $criteria->add(AdminTableMap::LASTNAME, $this->lastname); if ($this->isColumnModified(AdminTableMap::LOGIN)) $criteria->add(AdminTableMap::LOGIN, $this->login); @@ -1543,6 +1551,7 @@ abstract class Admin implements ActiveRecordInterface */ public function copyInto($copyObj, $deepCopy = false, $makeNew = true) { + $copyObj->setProfileId($this->getProfileId()); $copyObj->setFirstname($this->getFirstname()); $copyObj->setLastname($this->getLastname()); $copyObj->setLogin($this->getLogin()); @@ -1553,20 +1562,6 @@ abstract class Admin implements ActiveRecordInterface $copyObj->setRememberMeSerial($this->getRememberMeSerial()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); - - if ($deepCopy) { - // important: temporarily setNew(false) because this affects the behavior of - // the getter/setter methods for fkey referrer objects. - $copyObj->setNew(false); - - foreach ($this->getAdminGroups() as $relObj) { - if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addAdminGroup($relObj->copy($deepCopy)); - } - } - - } // if ($deepCopy) - if ($makeNew) { $copyObj->setNew(true); $copyObj->setId(NULL); // this is a auto-increment column, so set to default value @@ -1595,449 +1590,55 @@ abstract class Admin implements ActiveRecordInterface return $copyObj; } - /** - * Initializes a collection based on the name of a relation. - * Avoids crafting an 'init[$relationName]s' method name - * that wouldn't work when StandardEnglishPluralizer is used. + * Declares an association between this object and a ChildProfile object. * - * @param string $relationName The name of the relation to initialize - * @return void - */ - public function initRelation($relationName) - { - if ('AdminGroup' == $relationName) { - return $this->initAdminGroups(); - } - } - - /** - * Clears out the collAdminGroups collection - * - * This does not modify the database; however, it will remove any associated objects, causing - * them to be refetched by subsequent calls to accessor method. - * - * @return void - * @see addAdminGroups() - */ - public function clearAdminGroups() - { - $this->collAdminGroups = null; // important to set this to NULL since that means it is uninitialized - } - - /** - * Reset is the collAdminGroups collection loaded partially. - */ - public function resetPartialAdminGroups($v = true) - { - $this->collAdminGroupsPartial = $v; - } - - /** - * Initializes the collAdminGroups collection. - * - * By default this just sets the collAdminGroups collection to an empty array (like clearcollAdminGroups()); - * however, you may wish to override this method in your stub class to provide setting appropriate - * to your application -- for example, setting the initial array to the values stored in database. - * - * @param boolean $overrideExisting If set to true, the method call initializes - * the collection even if it is not empty - * - * @return void - */ - public function initAdminGroups($overrideExisting = true) - { - if (null !== $this->collAdminGroups && !$overrideExisting) { - return; - } - $this->collAdminGroups = new ObjectCollection(); - $this->collAdminGroups->setModel('\Thelia\Model\AdminGroup'); - } - - /** - * Gets an array of ChildAdminGroup objects which contain a foreign key that references this object. - * - * If the $criteria is not null, it is used to always fetch the results from the database. - * Otherwise the results are fetched from the database the first time, then cached. - * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildAdmin is new, it will return - * an empty collection or the current collection; the criteria is ignored on a new object. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @return Collection|ChildAdminGroup[] List of ChildAdminGroup objects + * @param ChildProfile $v + * @return \Thelia\Model\Admin The current object (for fluent API support) * @throws PropelException */ - public function getAdminGroups($criteria = null, ConnectionInterface $con = null) + public function setProfile(ChildProfile $v = null) { - $partial = $this->collAdminGroupsPartial && !$this->isNew(); - if (null === $this->collAdminGroups || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collAdminGroups) { - // return empty collection - $this->initAdminGroups(); - } else { - $collAdminGroups = ChildAdminGroupQuery::create(null, $criteria) - ->filterByAdmin($this) - ->find($con); - - if (null !== $criteria) { - if (false !== $this->collAdminGroupsPartial && count($collAdminGroups)) { - $this->initAdminGroups(false); - - foreach ($collAdminGroups as $obj) { - if (false == $this->collAdminGroups->contains($obj)) { - $this->collAdminGroups->append($obj); - } - } - - $this->collAdminGroupsPartial = true; - } - - $collAdminGroups->getInternalIterator()->rewind(); - - return $collAdminGroups; - } - - if ($partial && $this->collAdminGroups) { - foreach ($this->collAdminGroups as $obj) { - if ($obj->isNew()) { - $collAdminGroups[] = $obj; - } - } - } - - $this->collAdminGroups = $collAdminGroups; - $this->collAdminGroupsPartial = false; - } - } - - return $this->collAdminGroups; - } - - /** - * Sets a collection of AdminGroup objects related by a one-to-many relationship - * to the current object. - * It will also schedule objects for deletion based on a diff between old objects (aka persisted) - * and new objects from the given Propel collection. - * - * @param Collection $adminGroups A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildAdmin The current object (for fluent API support) - */ - public function setAdminGroups(Collection $adminGroups, ConnectionInterface $con = null) - { - $adminGroupsToDelete = $this->getAdminGroups(new Criteria(), $con)->diff($adminGroups); - - - //since at least one column in the foreign key is at the same time a PK - //we can not just set a PK to NULL in the lines below. We have to store - //a backup of all values, so we are able to manipulate these items based on the onDelete value later. - $this->adminGroupsScheduledForDeletion = clone $adminGroupsToDelete; - - foreach ($adminGroupsToDelete as $adminGroupRemoved) { - $adminGroupRemoved->setAdmin(null); - } - - $this->collAdminGroups = null; - foreach ($adminGroups as $adminGroup) { - $this->addAdminGroup($adminGroup); - } - - $this->collAdminGroups = $adminGroups; - $this->collAdminGroupsPartial = false; - - return $this; - } - - /** - * Returns the number of related AdminGroup objects. - * - * @param Criteria $criteria - * @param boolean $distinct - * @param ConnectionInterface $con - * @return int Count of related AdminGroup objects. - * @throws PropelException - */ - public function countAdminGroups(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) - { - $partial = $this->collAdminGroupsPartial && !$this->isNew(); - if (null === $this->collAdminGroups || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collAdminGroups) { - return 0; - } - - if ($partial && !$criteria) { - return count($this->getAdminGroups()); - } - - $query = ChildAdminGroupQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByAdmin($this) - ->count($con); - } - - return count($this->collAdminGroups); - } - - /** - * Method called to associate a ChildAdminGroup object to this object - * through the ChildAdminGroup foreign key attribute. - * - * @param ChildAdminGroup $l ChildAdminGroup - * @return \Thelia\Model\Admin The current object (for fluent API support) - */ - public function addAdminGroup(ChildAdminGroup $l) - { - if ($this->collAdminGroups === null) { - $this->initAdminGroups(); - $this->collAdminGroupsPartial = true; - } - - if (!in_array($l, $this->collAdminGroups->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddAdminGroup($l); - } - - return $this; - } - - /** - * @param AdminGroup $adminGroup The adminGroup object to add. - */ - protected function doAddAdminGroup($adminGroup) - { - $this->collAdminGroups[]= $adminGroup; - $adminGroup->setAdmin($this); - } - - /** - * @param AdminGroup $adminGroup The adminGroup object to remove. - * @return ChildAdmin The current object (for fluent API support) - */ - public function removeAdminGroup($adminGroup) - { - if ($this->getAdminGroups()->contains($adminGroup)) { - $this->collAdminGroups->remove($this->collAdminGroups->search($adminGroup)); - if (null === $this->adminGroupsScheduledForDeletion) { - $this->adminGroupsScheduledForDeletion = clone $this->collAdminGroups; - $this->adminGroupsScheduledForDeletion->clear(); - } - $this->adminGroupsScheduledForDeletion[]= clone $adminGroup; - $adminGroup->setAdmin(null); - } - - return $this; - } - - - /** - * If this collection has already been initialized with - * an identical criteria, it returns the collection. - * Otherwise if this Admin is new, it will return - * an empty collection; or if this Admin has previously - * been saved, it will retrieve related AdminGroups from storage. - * - * This method is protected by default in order to keep the public - * api reasonable. You can provide public methods for those you - * actually need in Admin. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildAdminGroup[] List of ChildAdminGroup objects - */ - public function getAdminGroupsJoinGroup($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) - { - $query = ChildAdminGroupQuery::create(null, $criteria); - $query->joinWith('Group', $joinBehavior); - - return $this->getAdminGroups($query, $con); - } - - /** - * Clears out the collGroups collection - * - * This does not modify the database; however, it will remove any associated objects, causing - * them to be refetched by subsequent calls to accessor method. - * - * @return void - * @see addGroups() - */ - public function clearGroups() - { - $this->collGroups = null; // important to set this to NULL since that means it is uninitialized - $this->collGroupsPartial = null; - } - - /** - * Initializes the collGroups collection. - * - * By default this just sets the collGroups collection to an empty collection (like clearGroups()); - * however, you may wish to override this method in your stub class to provide setting appropriate - * to your application -- for example, setting the initial array to the values stored in database. - * - * @return void - */ - public function initGroups() - { - $this->collGroups = new ObjectCollection(); - $this->collGroups->setModel('\Thelia\Model\Group'); - } - - /** - * Gets a collection of ChildGroup objects related by a many-to-many relationship - * to the current object by way of the admin_group cross-reference table. - * - * If the $criteria is not null, it is used to always fetch the results from the database. - * Otherwise the results are fetched from the database the first time, then cached. - * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildAdmin is new, it will return - * an empty collection or the current collection; the criteria is ignored on a new object. - * - * @param Criteria $criteria Optional query object to filter the query - * @param ConnectionInterface $con Optional connection object - * - * @return ObjectCollection|ChildGroup[] List of ChildGroup objects - */ - public function getGroups($criteria = null, ConnectionInterface $con = null) - { - if (null === $this->collGroups || null !== $criteria) { - if ($this->isNew() && null === $this->collGroups) { - // return empty collection - $this->initGroups(); - } else { - $collGroups = ChildGroupQuery::create(null, $criteria) - ->filterByAdmin($this) - ->find($con); - if (null !== $criteria) { - return $collGroups; - } - $this->collGroups = $collGroups; - } - } - - return $this->collGroups; - } - - /** - * Sets a collection of Group objects related by a many-to-many relationship - * to the current object by way of the admin_group cross-reference table. - * It will also schedule objects for deletion based on a diff between old objects (aka persisted) - * and new objects from the given Propel collection. - * - * @param Collection $groups A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildAdmin The current object (for fluent API support) - */ - public function setGroups(Collection $groups, ConnectionInterface $con = null) - { - $this->clearGroups(); - $currentGroups = $this->getGroups(); - - $this->groupsScheduledForDeletion = $currentGroups->diff($groups); - - foreach ($groups as $group) { - if (!$currentGroups->contains($group)) { - $this->doAddGroup($group); - } - } - - $this->collGroups = $groups; - - return $this; - } - - /** - * Gets the number of ChildGroup objects related by a many-to-many relationship - * to the current object by way of the admin_group cross-reference table. - * - * @param Criteria $criteria Optional query object to filter the query - * @param boolean $distinct Set to true to force count distinct - * @param ConnectionInterface $con Optional connection object - * - * @return int the number of related ChildGroup objects - */ - public function countGroups($criteria = null, $distinct = false, ConnectionInterface $con = null) - { - if (null === $this->collGroups || null !== $criteria) { - if ($this->isNew() && null === $this->collGroups) { - return 0; - } else { - $query = ChildGroupQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByAdmin($this) - ->count($con); - } + if ($v === null) { + $this->setProfileId(NULL); } else { - return count($this->collGroups); - } - } - - /** - * Associate a ChildGroup object to this object - * through the admin_group cross reference table. - * - * @param ChildGroup $group The ChildAdminGroup object to relate - * @return ChildAdmin The current object (for fluent API support) - */ - public function addGroup(ChildGroup $group) - { - if ($this->collGroups === null) { - $this->initGroups(); + $this->setProfileId($v->getId()); } - if (!$this->collGroups->contains($group)) { // only add it if the **same** object is not already associated - $this->doAddGroup($group); - $this->collGroups[] = $group; + $this->aProfile = $v; + + // Add binding for other direction of this n:n relationship. + // If this object has already been added to the ChildProfile object, it will not be re-added. + if ($v !== null) { + $v->addAdmin($this); } + return $this; } - /** - * @param Group $group The group object to add. - */ - protected function doAddGroup($group) - { - $adminGroup = new ChildAdminGroup(); - $adminGroup->setGroup($group); - $this->addAdminGroup($adminGroup); - // set the back reference to this object directly as using provided method either results - // in endless loop or in multiple relations - if (!$group->getAdmins()->contains($this)) { - $foreignCollection = $group->getAdmins(); - $foreignCollection[] = $this; - } - } /** - * Remove a ChildGroup object to this object - * through the admin_group cross reference table. + * Get the associated ChildProfile object * - * @param ChildGroup $group The ChildAdminGroup object to relate - * @return ChildAdmin The current object (for fluent API support) + * @param ConnectionInterface $con Optional Connection object. + * @return ChildProfile The associated ChildProfile object. + * @throws PropelException */ - public function removeGroup(ChildGroup $group) + public function getProfile(ConnectionInterface $con = null) { - if ($this->getGroups()->contains($group)) { - $this->collGroups->remove($this->collGroups->search($group)); - - if (null === $this->groupsScheduledForDeletion) { - $this->groupsScheduledForDeletion = clone $this->collGroups; - $this->groupsScheduledForDeletion->clear(); - } - - $this->groupsScheduledForDeletion[] = $group; + if ($this->aProfile === null && ($this->profile_id !== null)) { + $this->aProfile = ChildProfileQuery::create()->findPk($this->profile_id, $con); + /* The following can be used additionally to + guarantee the related object contains a reference + to this object. This level of coupling may, however, be + undesirable since it could result in an only partially populated collection + in the referenced object. + $this->aProfile->addAdmins($this); + */ } - return $this; + return $this->aProfile; } /** @@ -2046,6 +1647,7 @@ abstract class Admin implements ActiveRecordInterface public function clear() { $this->id = null; + $this->profile_id = null; $this->firstname = null; $this->lastname = null; $this->login = null; @@ -2075,26 +1677,9 @@ abstract class Admin implements ActiveRecordInterface public function clearAllReferences($deep = false) { if ($deep) { - if ($this->collAdminGroups) { - foreach ($this->collAdminGroups as $o) { - $o->clearAllReferences($deep); - } - } - if ($this->collGroups) { - foreach ($this->collGroups as $o) { - $o->clearAllReferences($deep); - } - } } // if ($deep) - if ($this->collAdminGroups instanceof Collection) { - $this->collAdminGroups->clearIterator(); - } - $this->collAdminGroups = null; - if ($this->collGroups instanceof Collection) { - $this->collGroups->clearIterator(); - } - $this->collGroups = null; + $this->aProfile = null; } /** diff --git a/core/lib/Thelia/Model/Base/AdminGroup.php b/core/lib/Thelia/Model/Base/AdminGroup.php deleted file mode 100644 index 663e437a4..000000000 --- a/core/lib/Thelia/Model/Base/AdminGroup.php +++ /dev/null @@ -1,1508 +0,0 @@ -modifiedColumns); - } - - /** - * Has specified column been modified? - * - * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID - * @return boolean True if $col has been modified. - */ - public function isColumnModified($col) - { - return in_array($col, $this->modifiedColumns); - } - - /** - * Get the columns that have been modified in this object. - * @return array A unique list of the modified column names for this object. - */ - public function getModifiedColumns() - { - return array_unique($this->modifiedColumns); - } - - /** - * Returns whether the object has ever been saved. This will - * be false, if the object was retrieved from storage or was created - * and then saved. - * - * @return boolean true, if the object has never been persisted. - */ - public function isNew() - { - return $this->new; - } - - /** - * Setter for the isNew attribute. This method will be called - * by Propel-generated children and objects. - * - * @param boolean $b the state of the object. - */ - public function setNew($b) - { - $this->new = (Boolean) $b; - } - - /** - * Whether this object has been deleted. - * @return boolean The deleted state of this object. - */ - public function isDeleted() - { - return $this->deleted; - } - - /** - * Specify whether this object has been deleted. - * @param boolean $b The deleted state of this object. - * @return void - */ - public function setDeleted($b) - { - $this->deleted = (Boolean) $b; - } - - /** - * Sets the modified state for the object to be false. - * @param string $col If supplied, only the specified column is reset. - * @return void - */ - public function resetModified($col = null) - { - if (null !== $col) { - while (false !== ($offset = array_search($col, $this->modifiedColumns))) { - array_splice($this->modifiedColumns, $offset, 1); - } - } else { - $this->modifiedColumns = array(); - } - } - - /** - * Compares this with another AdminGroup instance. If - * obj is an instance of AdminGroup, delegates to - * equals(AdminGroup). Otherwise, returns false. - * - * @param mixed $obj The object to compare to. - * @return boolean Whether equal to the object specified. - */ - public function equals($obj) - { - $thisclazz = get_class($this); - if (!is_object($obj) || !($obj instanceof $thisclazz)) { - return false; - } - - if ($this === $obj) { - return true; - } - - if (null === $this->getPrimaryKey() - || null === $obj->getPrimaryKey()) { - return false; - } - - return $this->getPrimaryKey() === $obj->getPrimaryKey(); - } - - /** - * If the primary key is not null, return the hashcode of the - * primary key. Otherwise, return the hash code of the object. - * - * @return int Hashcode - */ - public function hashCode() - { - if (null !== $this->getPrimaryKey()) { - return crc32(serialize($this->getPrimaryKey())); - } - - return crc32(serialize(clone $this)); - } - - /** - * Get the associative array of the virtual columns in this object - * - * @return array - */ - public function getVirtualColumns() - { - return $this->virtualColumns; - } - - /** - * Checks the existence of a virtual column in this object - * - * @param string $name The virtual column name - * @return boolean - */ - public function hasVirtualColumn($name) - { - return array_key_exists($name, $this->virtualColumns); - } - - /** - * Get the value of a virtual column in this object - * - * @param string $name The virtual column name - * @return mixed - * - * @throws PropelException - */ - public function getVirtualColumn($name) - { - if (!$this->hasVirtualColumn($name)) { - throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name)); - } - - return $this->virtualColumns[$name]; - } - - /** - * Set the value of a virtual column in this object - * - * @param string $name The virtual column name - * @param mixed $value The value to give to the virtual column - * - * @return AdminGroup The current object, for fluid interface - */ - public function setVirtualColumn($name, $value) - { - $this->virtualColumns[$name] = $value; - - return $this; - } - - /** - * Logs a message using Propel::log(). - * - * @param string $msg - * @param int $priority One of the Propel::LOG_* logging levels - * @return boolean - */ - protected function log($msg, $priority = Propel::LOG_INFO) - { - return Propel::log(get_class($this) . ': ' . $msg, $priority); - } - - /** - * Populate the current object from a string, using a given parser format - * - * $book = new Book(); - * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); - * - * - * @param mixed $parser A AbstractParser instance, - * or a format name ('XML', 'YAML', 'JSON', 'CSV') - * @param string $data The source data to import from - * - * @return AdminGroup The current object, for fluid interface - */ - public function importFrom($parser, $data) - { - if (!$parser instanceof AbstractParser) { - $parser = AbstractParser::getParser($parser); - } - - $this->fromArray($parser->toArray($data), TableMap::TYPE_PHPNAME); - - return $this; - } - - /** - * Export the current object properties to a string, using a given parser format - * - * $book = BookQuery::create()->findPk(9012); - * echo $book->exportTo('JSON'); - * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); - * - * - * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV') - * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. - * @return string The exported data - */ - public function exportTo($parser, $includeLazyLoadColumns = true) - { - if (!$parser instanceof AbstractParser) { - $parser = AbstractParser::getParser($parser); - } - - return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true)); - } - - /** - * Clean up internal collections prior to serializing - * Avoids recursive loops that turn into segmentation faults when serializing - */ - public function __sleep() - { - $this->clearAllReferences(); - - return array_keys(get_object_vars($this)); - } - - /** - * Get the [id] column value. - * - * @return int - */ - public function getId() - { - - return $this->id; - } - - /** - * Get the [group_id] column value. - * - * @return int - */ - public function getGroupId() - { - - return $this->group_id; - } - - /** - * Get the [admin_id] column value. - * - * @return int - */ - public function getAdminId() - { - - return $this->admin_id; - } - - /** - * Get the [optionally formatted] temporal [created_at] column value. - * - * - * @param string $format The date/time format string (either date()-style or strftime()-style). - * If format is NULL, then the raw \DateTime object will be returned. - * - * @return mixed Formatted date/time value as string or \DateTime object (if format is NULL), NULL if column is NULL, and 0 if column value is 0000-00-00 00:00:00 - * - * @throws PropelException - if unable to parse/validate the date/time value. - */ - public function getCreatedAt($format = NULL) - { - if ($format === null) { - return $this->created_at; - } else { - return $this->created_at instanceof \DateTime ? $this->created_at->format($format) : null; - } - } - - /** - * Get the [optionally formatted] temporal [updated_at] column value. - * - * - * @param string $format The date/time format string (either date()-style or strftime()-style). - * If format is NULL, then the raw \DateTime object will be returned. - * - * @return mixed Formatted date/time value as string or \DateTime object (if format is NULL), NULL if column is NULL, and 0 if column value is 0000-00-00 00:00:00 - * - * @throws PropelException - if unable to parse/validate the date/time value. - */ - public function getUpdatedAt($format = NULL) - { - if ($format === null) { - return $this->updated_at; - } else { - return $this->updated_at instanceof \DateTime ? $this->updated_at->format($format) : null; - } - } - - /** - * Set the value of [id] column. - * - * @param int $v new value - * @return \Thelia\Model\AdminGroup The current object (for fluent API support) - */ - public function setId($v) - { - if ($v !== null) { - $v = (int) $v; - } - - if ($this->id !== $v) { - $this->id = $v; - $this->modifiedColumns[] = AdminGroupTableMap::ID; - } - - - return $this; - } // setId() - - /** - * Set the value of [group_id] column. - * - * @param int $v new value - * @return \Thelia\Model\AdminGroup The current object (for fluent API support) - */ - public function setGroupId($v) - { - if ($v !== null) { - $v = (int) $v; - } - - if ($this->group_id !== $v) { - $this->group_id = $v; - $this->modifiedColumns[] = AdminGroupTableMap::GROUP_ID; - } - - if ($this->aGroup !== null && $this->aGroup->getId() !== $v) { - $this->aGroup = null; - } - - - return $this; - } // setGroupId() - - /** - * Set the value of [admin_id] column. - * - * @param int $v new value - * @return \Thelia\Model\AdminGroup The current object (for fluent API support) - */ - public function setAdminId($v) - { - if ($v !== null) { - $v = (int) $v; - } - - if ($this->admin_id !== $v) { - $this->admin_id = $v; - $this->modifiedColumns[] = AdminGroupTableMap::ADMIN_ID; - } - - if ($this->aAdmin !== null && $this->aAdmin->getId() !== $v) { - $this->aAdmin = null; - } - - - return $this; - } // setAdminId() - - /** - * Sets the value of [created_at] column to a normalized version of the date/time value specified. - * - * @param mixed $v string, integer (timestamp), or \DateTime value. - * Empty strings are treated as NULL. - * @return \Thelia\Model\AdminGroup The current object (for fluent API support) - */ - public function setCreatedAt($v) - { - $dt = PropelDateTime::newInstance($v, null, '\DateTime'); - if ($this->created_at !== null || $dt !== null) { - if ($dt !== $this->created_at) { - $this->created_at = $dt; - $this->modifiedColumns[] = AdminGroupTableMap::CREATED_AT; - } - } // if either are not null - - - return $this; - } // setCreatedAt() - - /** - * Sets the value of [updated_at] column to a normalized version of the date/time value specified. - * - * @param mixed $v string, integer (timestamp), or \DateTime value. - * Empty strings are treated as NULL. - * @return \Thelia\Model\AdminGroup The current object (for fluent API support) - */ - public function setUpdatedAt($v) - { - $dt = PropelDateTime::newInstance($v, null, '\DateTime'); - if ($this->updated_at !== null || $dt !== null) { - if ($dt !== $this->updated_at) { - $this->updated_at = $dt; - $this->modifiedColumns[] = AdminGroupTableMap::UPDATED_AT; - } - } // if either are not null - - - return $this; - } // setUpdatedAt() - - /** - * Indicates whether the columns in this object are only set to default values. - * - * This method can be used in conjunction with isModified() to indicate whether an object is both - * modified _and_ has some values set which are non-default. - * - * @return boolean Whether the columns in this object are only been set with default values. - */ - public function hasOnlyDefaultValues() - { - // otherwise, everything was equal, so return TRUE - return true; - } // hasOnlyDefaultValues() - - /** - * Hydrates (populates) the object variables with values from the database resultset. - * - * An offset (0-based "start column") is specified so that objects can be hydrated - * with a subset of the columns in the resultset rows. This is needed, for example, - * for results of JOIN queries where the resultset row includes columns from two or - * more tables. - * - * @param array $row The row returned by DataFetcher->fetch(). - * @param int $startcol 0-based offset column which indicates which restultset column to start with. - * @param boolean $rehydrate Whether this object is being re-hydrated from the database. - * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). - One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. - * - * @return int next starting column - * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. - */ - public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM) - { - try { - - - $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : AdminGroupTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; - $this->id = (null !== $col) ? (int) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : AdminGroupTableMap::translateFieldName('GroupId', TableMap::TYPE_PHPNAME, $indexType)]; - $this->group_id = (null !== $col) ? (int) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : AdminGroupTableMap::translateFieldName('AdminId', TableMap::TYPE_PHPNAME, $indexType)]; - $this->admin_id = (null !== $col) ? (int) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : AdminGroupTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; - if ($col === '0000-00-00 00:00:00') { - $col = null; - } - $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : AdminGroupTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; - if ($col === '0000-00-00 00:00:00') { - $col = null; - } - $this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $this->resetModified(); - - $this->setNew(false); - - if ($rehydrate) { - $this->ensureConsistency(); - } - - return $startcol + 5; // 5 = AdminGroupTableMap::NUM_HYDRATE_COLUMNS. - - } catch (Exception $e) { - throw new PropelException("Error populating \Thelia\Model\AdminGroup object", 0, $e); - } - } - - /** - * Checks and repairs the internal consistency of the object. - * - * This method is executed after an already-instantiated object is re-hydrated - * from the database. It exists to check any foreign keys to make sure that - * the objects related to the current object are correct based on foreign key. - * - * You can override this method in the stub class, but you should always invoke - * the base method from the overridden method (i.e. parent::ensureConsistency()), - * in case your model changes. - * - * @throws PropelException - */ - public function ensureConsistency() - { - if ($this->aGroup !== null && $this->group_id !== $this->aGroup->getId()) { - $this->aGroup = null; - } - if ($this->aAdmin !== null && $this->admin_id !== $this->aAdmin->getId()) { - $this->aAdmin = null; - } - } // ensureConsistency - - /** - * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. - * - * This will only work if the object has been saved and has a valid primary key set. - * - * @param boolean $deep (optional) Whether to also de-associated any related objects. - * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use. - * @return void - * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db - */ - public function reload($deep = false, ConnectionInterface $con = null) - { - if ($this->isDeleted()) { - throw new PropelException("Cannot reload a deleted object."); - } - - if ($this->isNew()) { - throw new PropelException("Cannot reload an unsaved object."); - } - - if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(AdminGroupTableMap::DATABASE_NAME); - } - - // We don't need to alter the object instance pool; we're just modifying this instance - // already in the pool. - - $dataFetcher = ChildAdminGroupQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); - $row = $dataFetcher->fetch(); - $dataFetcher->close(); - if (!$row) { - throw new PropelException('Cannot find matching row in the database to reload object values.'); - } - $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate - - if ($deep) { // also de-associate any related objects? - - $this->aGroup = null; - $this->aAdmin = null; - } // if (deep) - } - - /** - * Removes this object from datastore and sets delete attribute. - * - * @param ConnectionInterface $con - * @return void - * @throws PropelException - * @see AdminGroup::setDeleted() - * @see AdminGroup::isDeleted() - */ - public function delete(ConnectionInterface $con = null) - { - if ($this->isDeleted()) { - throw new PropelException("This object has already been deleted."); - } - - if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(AdminGroupTableMap::DATABASE_NAME); - } - - $con->beginTransaction(); - try { - $deleteQuery = ChildAdminGroupQuery::create() - ->filterByPrimaryKey($this->getPrimaryKey()); - $ret = $this->preDelete($con); - if ($ret) { - $deleteQuery->delete($con); - $this->postDelete($con); - $con->commit(); - $this->setDeleted(true); - } else { - $con->commit(); - } - } catch (Exception $e) { - $con->rollBack(); - throw $e; - } - } - - /** - * Persists this object to the database. - * - * If the object is new, it inserts it; otherwise an update is performed. - * All modified related objects will also be persisted in the doSave() - * method. This method wraps all precipitate database operations in a - * single transaction. - * - * @param ConnectionInterface $con - * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. - * @throws PropelException - * @see doSave() - */ - public function save(ConnectionInterface $con = null) - { - if ($this->isDeleted()) { - throw new PropelException("You cannot save an object that has been deleted."); - } - - if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(AdminGroupTableMap::DATABASE_NAME); - } - - $con->beginTransaction(); - $isInsert = $this->isNew(); - try { - $ret = $this->preSave($con); - if ($isInsert) { - $ret = $ret && $this->preInsert($con); - // timestampable behavior - if (!$this->isColumnModified(AdminGroupTableMap::CREATED_AT)) { - $this->setCreatedAt(time()); - } - if (!$this->isColumnModified(AdminGroupTableMap::UPDATED_AT)) { - $this->setUpdatedAt(time()); - } - } else { - $ret = $ret && $this->preUpdate($con); - // timestampable behavior - if ($this->isModified() && !$this->isColumnModified(AdminGroupTableMap::UPDATED_AT)) { - $this->setUpdatedAt(time()); - } - } - if ($ret) { - $affectedRows = $this->doSave($con); - if ($isInsert) { - $this->postInsert($con); - } else { - $this->postUpdate($con); - } - $this->postSave($con); - AdminGroupTableMap::addInstanceToPool($this); - } else { - $affectedRows = 0; - } - $con->commit(); - - return $affectedRows; - } catch (Exception $e) { - $con->rollBack(); - throw $e; - } - } - - /** - * Performs the work of inserting or updating the row in the database. - * - * If the object is new, it inserts it; otherwise an update is performed. - * All related objects are also updated in this method. - * - * @param ConnectionInterface $con - * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. - * @throws PropelException - * @see save() - */ - protected function doSave(ConnectionInterface $con) - { - $affectedRows = 0; // initialize var to track total num of affected rows - if (!$this->alreadyInSave) { - $this->alreadyInSave = true; - - // We call the save method on the following object(s) if they - // were passed to this object by their corresponding set - // method. This object relates to these object(s) by a - // foreign key reference. - - if ($this->aGroup !== null) { - if ($this->aGroup->isModified() || $this->aGroup->isNew()) { - $affectedRows += $this->aGroup->save($con); - } - $this->setGroup($this->aGroup); - } - - if ($this->aAdmin !== null) { - if ($this->aAdmin->isModified() || $this->aAdmin->isNew()) { - $affectedRows += $this->aAdmin->save($con); - } - $this->setAdmin($this->aAdmin); - } - - if ($this->isNew() || $this->isModified()) { - // persist changes - if ($this->isNew()) { - $this->doInsert($con); - } else { - $this->doUpdate($con); - } - $affectedRows += 1; - $this->resetModified(); - } - - $this->alreadyInSave = false; - - } - - return $affectedRows; - } // doSave() - - /** - * Insert the row in the database. - * - * @param ConnectionInterface $con - * - * @throws PropelException - * @see doSave() - */ - protected function doInsert(ConnectionInterface $con) - { - $modifiedColumns = array(); - $index = 0; - - $this->modifiedColumns[] = AdminGroupTableMap::ID; - if (null !== $this->id) { - throw new PropelException('Cannot insert a value for auto-increment primary key (' . AdminGroupTableMap::ID . ')'); - } - - // check the columns in natural order for more readable SQL queries - if ($this->isColumnModified(AdminGroupTableMap::ID)) { - $modifiedColumns[':p' . $index++] = 'ID'; - } - if ($this->isColumnModified(AdminGroupTableMap::GROUP_ID)) { - $modifiedColumns[':p' . $index++] = 'GROUP_ID'; - } - if ($this->isColumnModified(AdminGroupTableMap::ADMIN_ID)) { - $modifiedColumns[':p' . $index++] = 'ADMIN_ID'; - } - if ($this->isColumnModified(AdminGroupTableMap::CREATED_AT)) { - $modifiedColumns[':p' . $index++] = 'CREATED_AT'; - } - if ($this->isColumnModified(AdminGroupTableMap::UPDATED_AT)) { - $modifiedColumns[':p' . $index++] = 'UPDATED_AT'; - } - - $sql = sprintf( - 'INSERT INTO admin_group (%s) VALUES (%s)', - implode(', ', $modifiedColumns), - implode(', ', array_keys($modifiedColumns)) - ); - - try { - $stmt = $con->prepare($sql); - foreach ($modifiedColumns as $identifier => $columnName) { - switch ($columnName) { - case 'ID': - $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); - break; - case 'GROUP_ID': - $stmt->bindValue($identifier, $this->group_id, PDO::PARAM_INT); - break; - case 'ADMIN_ID': - $stmt->bindValue($identifier, $this->admin_id, PDO::PARAM_INT); - break; - case 'CREATED_AT': - $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); - break; - case 'UPDATED_AT': - $stmt->bindValue($identifier, $this->updated_at ? $this->updated_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); - break; - } - } - $stmt->execute(); - } catch (Exception $e) { - Propel::log($e->getMessage(), Propel::LOG_ERR); - throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e); - } - - try { - $pk = $con->lastInsertId(); - } catch (Exception $e) { - throw new PropelException('Unable to get autoincrement id.', 0, $e); - } - $this->setId($pk); - - $this->setNew(false); - } - - /** - * Update the row in the database. - * - * @param ConnectionInterface $con - * - * @return Integer Number of updated rows - * @see doSave() - */ - protected function doUpdate(ConnectionInterface $con) - { - $selectCriteria = $this->buildPkeyCriteria(); - $valuesCriteria = $this->buildCriteria(); - - return $selectCriteria->doUpdate($valuesCriteria, $con); - } - - /** - * Retrieves a field from the object by name passed in as a string. - * - * @param string $name name - * @param string $type The type of fieldname the $name is of: - * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. - * Defaults to TableMap::TYPE_PHPNAME. - * @return mixed Value of field. - */ - public function getByName($name, $type = TableMap::TYPE_PHPNAME) - { - $pos = AdminGroupTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); - $field = $this->getByPosition($pos); - - return $field; - } - - /** - * Retrieves a field from the object by Position as specified in the xml schema. - * Zero-based. - * - * @param int $pos position in xml schema - * @return mixed Value of field at $pos - */ - public function getByPosition($pos) - { - switch ($pos) { - case 0: - return $this->getId(); - break; - case 1: - return $this->getGroupId(); - break; - case 2: - return $this->getAdminId(); - break; - case 3: - return $this->getCreatedAt(); - break; - case 4: - return $this->getUpdatedAt(); - break; - default: - return null; - break; - } // switch() - } - - /** - * Exports the object as an array. - * - * You can specify the key type of the array by passing one of the class - * type constants. - * - * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME, - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. - * Defaults to TableMap::TYPE_PHPNAME. - * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. - * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion - * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE. - * - * @return array an associative array containing the field names (as keys) and field values - */ - public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) - { - if (isset($alreadyDumpedObjects['AdminGroup'][serialize($this->getPrimaryKey())])) { - return '*RECURSION*'; - } - $alreadyDumpedObjects['AdminGroup'][serialize($this->getPrimaryKey())] = true; - $keys = AdminGroupTableMap::getFieldNames($keyType); - $result = array( - $keys[0] => $this->getId(), - $keys[1] => $this->getGroupId(), - $keys[2] => $this->getAdminId(), - $keys[3] => $this->getCreatedAt(), - $keys[4] => $this->getUpdatedAt(), - ); - $virtualColumns = $this->virtualColumns; - foreach ($virtualColumns as $key => $virtualColumn) { - $result[$key] = $virtualColumn; - } - - if ($includeForeignObjects) { - if (null !== $this->aGroup) { - $result['Group'] = $this->aGroup->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); - } - if (null !== $this->aAdmin) { - $result['Admin'] = $this->aAdmin->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); - } - } - - return $result; - } - - /** - * Sets a field from the object by name passed in as a string. - * - * @param string $name - * @param mixed $value field value - * @param string $type The type of fieldname the $name is of: - * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. - * Defaults to TableMap::TYPE_PHPNAME. - * @return void - */ - public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) - { - $pos = AdminGroupTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); - - return $this->setByPosition($pos, $value); - } - - /** - * Sets a field from the object by Position as specified in the xml schema. - * Zero-based. - * - * @param int $pos position in xml schema - * @param mixed $value field value - * @return void - */ - public function setByPosition($pos, $value) - { - switch ($pos) { - case 0: - $this->setId($value); - break; - case 1: - $this->setGroupId($value); - break; - case 2: - $this->setAdminId($value); - break; - case 3: - $this->setCreatedAt($value); - break; - case 4: - $this->setUpdatedAt($value); - break; - } // switch() - } - - /** - * Populates the object using an array. - * - * This is particularly useful when populating an object from one of the - * request arrays (e.g. $_POST). This method goes through the column - * names, checking to see whether a matching key exists in populated - * array. If so the setByName() method is called for that column. - * - * You can specify the key type of the array by additionally passing one - * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME, - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. - * The default key type is the column's TableMap::TYPE_PHPNAME. - * - * @param array $arr An array to populate the object from. - * @param string $keyType The type of keys the array uses. - * @return void - */ - public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) - { - $keys = AdminGroupTableMap::getFieldNames($keyType); - - if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); - if (array_key_exists($keys[1], $arr)) $this->setGroupId($arr[$keys[1]]); - if (array_key_exists($keys[2], $arr)) $this->setAdminId($arr[$keys[2]]); - if (array_key_exists($keys[3], $arr)) $this->setCreatedAt($arr[$keys[3]]); - if (array_key_exists($keys[4], $arr)) $this->setUpdatedAt($arr[$keys[4]]); - } - - /** - * Build a Criteria object containing the values of all modified columns in this object. - * - * @return Criteria The Criteria object containing all modified values. - */ - public function buildCriteria() - { - $criteria = new Criteria(AdminGroupTableMap::DATABASE_NAME); - - if ($this->isColumnModified(AdminGroupTableMap::ID)) $criteria->add(AdminGroupTableMap::ID, $this->id); - if ($this->isColumnModified(AdminGroupTableMap::GROUP_ID)) $criteria->add(AdminGroupTableMap::GROUP_ID, $this->group_id); - if ($this->isColumnModified(AdminGroupTableMap::ADMIN_ID)) $criteria->add(AdminGroupTableMap::ADMIN_ID, $this->admin_id); - if ($this->isColumnModified(AdminGroupTableMap::CREATED_AT)) $criteria->add(AdminGroupTableMap::CREATED_AT, $this->created_at); - if ($this->isColumnModified(AdminGroupTableMap::UPDATED_AT)) $criteria->add(AdminGroupTableMap::UPDATED_AT, $this->updated_at); - - return $criteria; - } - - /** - * Builds a Criteria object containing the primary key for this object. - * - * Unlike buildCriteria() this method includes the primary key values regardless - * of whether or not they have been modified. - * - * @return Criteria The Criteria object containing value(s) for primary key(s). - */ - public function buildPkeyCriteria() - { - $criteria = new Criteria(AdminGroupTableMap::DATABASE_NAME); - $criteria->add(AdminGroupTableMap::ID, $this->id); - $criteria->add(AdminGroupTableMap::GROUP_ID, $this->group_id); - $criteria->add(AdminGroupTableMap::ADMIN_ID, $this->admin_id); - - return $criteria; - } - - /** - * Returns the composite primary key for this object. - * The array elements will be in same order as specified in XML. - * @return array - */ - public function getPrimaryKey() - { - $pks = array(); - $pks[0] = $this->getId(); - $pks[1] = $this->getGroupId(); - $pks[2] = $this->getAdminId(); - - return $pks; - } - - /** - * Set the [composite] primary key. - * - * @param array $keys The elements of the composite key (order must match the order in XML file). - * @return void - */ - public function setPrimaryKey($keys) - { - $this->setId($keys[0]); - $this->setGroupId($keys[1]); - $this->setAdminId($keys[2]); - } - - /** - * Returns true if the primary key for this object is null. - * @return boolean - */ - public function isPrimaryKeyNull() - { - - return (null === $this->getId()) && (null === $this->getGroupId()) && (null === $this->getAdminId()); - } - - /** - * Sets contents of passed object to values from current object. - * - * If desired, this method can also make copies of all associated (fkey referrers) - * objects. - * - * @param object $copyObj An object of \Thelia\Model\AdminGroup (or compatible) type. - * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. - * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. - * @throws PropelException - */ - public function copyInto($copyObj, $deepCopy = false, $makeNew = true) - { - $copyObj->setGroupId($this->getGroupId()); - $copyObj->setAdminId($this->getAdminId()); - $copyObj->setCreatedAt($this->getCreatedAt()); - $copyObj->setUpdatedAt($this->getUpdatedAt()); - if ($makeNew) { - $copyObj->setNew(true); - $copyObj->setId(NULL); // this is a auto-increment column, so set to default value - } - } - - /** - * Makes a copy of this object that will be inserted as a new row in table when saved. - * It creates a new object filling in the simple attributes, but skipping any primary - * keys that are defined for the table. - * - * If desired, this method can also make copies of all associated (fkey referrers) - * objects. - * - * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. - * @return \Thelia\Model\AdminGroup Clone of current object. - * @throws PropelException - */ - public function copy($deepCopy = false) - { - // we use get_class(), because this might be a subclass - $clazz = get_class($this); - $copyObj = new $clazz(); - $this->copyInto($copyObj, $deepCopy); - - return $copyObj; - } - - /** - * Declares an association between this object and a ChildGroup object. - * - * @param ChildGroup $v - * @return \Thelia\Model\AdminGroup The current object (for fluent API support) - * @throws PropelException - */ - public function setGroup(ChildGroup $v = null) - { - if ($v === null) { - $this->setGroupId(NULL); - } else { - $this->setGroupId($v->getId()); - } - - $this->aGroup = $v; - - // Add binding for other direction of this n:n relationship. - // If this object has already been added to the ChildGroup object, it will not be re-added. - if ($v !== null) { - $v->addAdminGroup($this); - } - - - return $this; - } - - - /** - * Get the associated ChildGroup object - * - * @param ConnectionInterface $con Optional Connection object. - * @return ChildGroup The associated ChildGroup object. - * @throws PropelException - */ - public function getGroup(ConnectionInterface $con = null) - { - if ($this->aGroup === null && ($this->group_id !== null)) { - $this->aGroup = ChildGroupQuery::create()->findPk($this->group_id, $con); - /* The following can be used additionally to - guarantee the related object contains a reference - to this object. This level of coupling may, however, be - undesirable since it could result in an only partially populated collection - in the referenced object. - $this->aGroup->addAdminGroups($this); - */ - } - - return $this->aGroup; - } - - /** - * Declares an association between this object and a ChildAdmin object. - * - * @param ChildAdmin $v - * @return \Thelia\Model\AdminGroup The current object (for fluent API support) - * @throws PropelException - */ - public function setAdmin(ChildAdmin $v = null) - { - if ($v === null) { - $this->setAdminId(NULL); - } else { - $this->setAdminId($v->getId()); - } - - $this->aAdmin = $v; - - // Add binding for other direction of this n:n relationship. - // If this object has already been added to the ChildAdmin object, it will not be re-added. - if ($v !== null) { - $v->addAdminGroup($this); - } - - - return $this; - } - - - /** - * Get the associated ChildAdmin object - * - * @param ConnectionInterface $con Optional Connection object. - * @return ChildAdmin The associated ChildAdmin object. - * @throws PropelException - */ - public function getAdmin(ConnectionInterface $con = null) - { - if ($this->aAdmin === null && ($this->admin_id !== null)) { - $this->aAdmin = ChildAdminQuery::create()->findPk($this->admin_id, $con); - /* The following can be used additionally to - guarantee the related object contains a reference - to this object. This level of coupling may, however, be - undesirable since it could result in an only partially populated collection - in the referenced object. - $this->aAdmin->addAdminGroups($this); - */ - } - - return $this->aAdmin; - } - - /** - * Clears the current object and sets all attributes to their default values - */ - public function clear() - { - $this->id = null; - $this->group_id = null; - $this->admin_id = null; - $this->created_at = null; - $this->updated_at = null; - $this->alreadyInSave = false; - $this->clearAllReferences(); - $this->resetModified(); - $this->setNew(true); - $this->setDeleted(false); - } - - /** - * Resets all references to other model objects or collections of model objects. - * - * This method is a user-space workaround for PHP's inability to garbage collect - * objects with circular references (even in PHP 5.3). This is currently necessary - * when using Propel in certain daemon or large-volume/high-memory operations. - * - * @param boolean $deep Whether to also clear the references on all referrer objects. - */ - public function clearAllReferences($deep = false) - { - if ($deep) { - } // if ($deep) - - $this->aGroup = null; - $this->aAdmin = null; - } - - /** - * Return the string representation of this object - * - * @return string - */ - public function __toString() - { - return (string) $this->exportTo(AdminGroupTableMap::DEFAULT_STRING_FORMAT); - } - - // timestampable behavior - - /** - * Mark the current object so that the update date doesn't get updated during next save - * - * @return ChildAdminGroup The current object (for fluent API support) - */ - public function keepUpdateDateUnchanged() - { - $this->modifiedColumns[] = AdminGroupTableMap::UPDATED_AT; - - return $this; - } - - /** - * Code to be run before persisting the object - * @param ConnectionInterface $con - * @return boolean - */ - public function preSave(ConnectionInterface $con = null) - { - return true; - } - - /** - * Code to be run after persisting the object - * @param ConnectionInterface $con - */ - public function postSave(ConnectionInterface $con = null) - { - - } - - /** - * Code to be run before inserting to database - * @param ConnectionInterface $con - * @return boolean - */ - public function preInsert(ConnectionInterface $con = null) - { - return true; - } - - /** - * Code to be run after inserting to database - * @param ConnectionInterface $con - */ - public function postInsert(ConnectionInterface $con = null) - { - - } - - /** - * Code to be run before updating the object in database - * @param ConnectionInterface $con - * @return boolean - */ - public function preUpdate(ConnectionInterface $con = null) - { - return true; - } - - /** - * Code to be run after updating the object in database - * @param ConnectionInterface $con - */ - public function postUpdate(ConnectionInterface $con = null) - { - - } - - /** - * Code to be run before deleting the object in database - * @param ConnectionInterface $con - * @return boolean - */ - public function preDelete(ConnectionInterface $con = null) - { - return true; - } - - /** - * Code to be run after deleting the object in database - * @param ConnectionInterface $con - */ - public function postDelete(ConnectionInterface $con = null) - { - - } - - - /** - * Derived method to catches calls to undefined methods. - * - * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). - * Allows to define default __call() behavior if you overwrite __call() - * - * @param string $name - * @param mixed $params - * - * @return array|string - */ - public function __call($name, $params) - { - if (0 === strpos($name, 'get')) { - $virtualColumn = substr($name, 3); - if ($this->hasVirtualColumn($virtualColumn)) { - return $this->getVirtualColumn($virtualColumn); - } - - $virtualColumn = lcfirst($virtualColumn); - if ($this->hasVirtualColumn($virtualColumn)) { - return $this->getVirtualColumn($virtualColumn); - } - } - - if (0 === strpos($name, 'from')) { - $format = substr($name, 4); - - return $this->importFrom($format, reset($params)); - } - - if (0 === strpos($name, 'to')) { - $format = substr($name, 2); - $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true; - - return $this->exportTo($format, $includeLazyLoadColumns); - } - - throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name)); - } - -} diff --git a/core/lib/Thelia/Model/Base/AdminGroupQuery.php b/core/lib/Thelia/Model/Base/AdminGroupQuery.php deleted file mode 100644 index 8d3353b4c..000000000 --- a/core/lib/Thelia/Model/Base/AdminGroupQuery.php +++ /dev/null @@ -1,778 +0,0 @@ -setModelAlias($modelAlias); - } - if ($criteria instanceof Criteria) { - $query->mergeWith($criteria); - } - - return $query; - } - - /** - * Find object by primary key. - * Propel uses the instance pool to skip the database if the object exists. - * Go fast if the query is untouched. - * - * - * $obj = $c->findPk(array(12, 34, 56), $con); - * - * - * @param array[$id, $group_id, $admin_id] $key Primary key to use for the query - * @param ConnectionInterface $con an optional connection object - * - * @return ChildAdminGroup|array|mixed the result, formatted by the current formatter - */ - public function findPk($key, $con = null) - { - if ($key === null) { - return null; - } - if ((null !== ($obj = AdminGroupTableMap::getInstanceFromPool(serialize(array((string) $key[0], (string) $key[1], (string) $key[2]))))) && !$this->formatter) { - // the object is already in the instance pool - return $obj; - } - if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(AdminGroupTableMap::DATABASE_NAME); - } - $this->basePreSelect($con); - if ($this->formatter || $this->modelAlias || $this->with || $this->select - || $this->selectColumns || $this->asColumns || $this->selectModifiers - || $this->map || $this->having || $this->joins) { - return $this->findPkComplex($key, $con); - } else { - return $this->findPkSimple($key, $con); - } - } - - /** - * Find object by primary key using raw SQL to go fast. - * Bypass doSelect() and the object formatter by using generated code. - * - * @param mixed $key Primary key to use for the query - * @param ConnectionInterface $con A connection object - * - * @return ChildAdminGroup A model object, or null if the key is not found - */ - protected function findPkSimple($key, $con) - { - $sql = 'SELECT ID, GROUP_ID, ADMIN_ID, CREATED_AT, UPDATED_AT FROM admin_group WHERE ID = :p0 AND GROUP_ID = :p1 AND ADMIN_ID = :p2'; - try { - $stmt = $con->prepare($sql); - $stmt->bindValue(':p0', $key[0], PDO::PARAM_INT); - $stmt->bindValue(':p1', $key[1], PDO::PARAM_INT); - $stmt->bindValue(':p2', $key[2], PDO::PARAM_INT); - $stmt->execute(); - } catch (Exception $e) { - Propel::log($e->getMessage(), Propel::LOG_ERR); - throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e); - } - $obj = null; - if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { - $obj = new ChildAdminGroup(); - $obj->hydrate($row); - AdminGroupTableMap::addInstanceToPool($obj, serialize(array((string) $key[0], (string) $key[1], (string) $key[2]))); - } - $stmt->closeCursor(); - - return $obj; - } - - /** - * Find object by primary key. - * - * @param mixed $key Primary key to use for the query - * @param ConnectionInterface $con A connection object - * - * @return ChildAdminGroup|array|mixed the result, formatted by the current formatter - */ - protected function findPkComplex($key, $con) - { - // As the query uses a PK condition, no limit(1) is necessary. - $criteria = $this->isKeepQuery() ? clone $this : $this; - $dataFetcher = $criteria - ->filterByPrimaryKey($key) - ->doSelect($con); - - return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher); - } - - /** - * Find objects by primary key - * - * $objs = $c->findPks(array(array(12, 56), array(832, 123), array(123, 456)), $con); - * - * @param array $keys Primary keys to use for the query - * @param ConnectionInterface $con an optional connection object - * - * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter - */ - public function findPks($keys, $con = null) - { - if (null === $con) { - $con = Propel::getServiceContainer()->getReadConnection($this->getDbName()); - } - $this->basePreSelect($con); - $criteria = $this->isKeepQuery() ? clone $this : $this; - $dataFetcher = $criteria - ->filterByPrimaryKeys($keys) - ->doSelect($con); - - return $criteria->getFormatter()->init($criteria)->format($dataFetcher); - } - - /** - * Filter the query by primary key - * - * @param mixed $key Primary key to use for the query - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByPrimaryKey($key) - { - $this->addUsingAlias(AdminGroupTableMap::ID, $key[0], Criteria::EQUAL); - $this->addUsingAlias(AdminGroupTableMap::GROUP_ID, $key[1], Criteria::EQUAL); - $this->addUsingAlias(AdminGroupTableMap::ADMIN_ID, $key[2], Criteria::EQUAL); - - return $this; - } - - /** - * Filter the query by a list of primary keys - * - * @param array $keys The list of primary key to use for the query - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByPrimaryKeys($keys) - { - if (empty($keys)) { - return $this->add(null, '1<>1', Criteria::CUSTOM); - } - foreach ($keys as $key) { - $cton0 = $this->getNewCriterion(AdminGroupTableMap::ID, $key[0], Criteria::EQUAL); - $cton1 = $this->getNewCriterion(AdminGroupTableMap::GROUP_ID, $key[1], Criteria::EQUAL); - $cton0->addAnd($cton1); - $cton2 = $this->getNewCriterion(AdminGroupTableMap::ADMIN_ID, $key[2], Criteria::EQUAL); - $cton0->addAnd($cton2); - $this->addOr($cton0); - } - - return $this; - } - - /** - * Filter the query on the id column - * - * Example usage: - * - * $query->filterById(1234); // WHERE id = 1234 - * $query->filterById(array(12, 34)); // WHERE id IN (12, 34) - * $query->filterById(array('min' => 12)); // WHERE id > 12 - * - * - * @param mixed $id The value to use as filter. - * Use scalar values for equality. - * Use array values for in_array() equivalent. - * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterById($id = null, $comparison = null) - { - if (is_array($id)) { - $useMinMax = false; - if (isset($id['min'])) { - $this->addUsingAlias(AdminGroupTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); - $useMinMax = true; - } - if (isset($id['max'])) { - $this->addUsingAlias(AdminGroupTableMap::ID, $id['max'], Criteria::LESS_EQUAL); - $useMinMax = true; - } - if ($useMinMax) { - return $this; - } - if (null === $comparison) { - $comparison = Criteria::IN; - } - } - - return $this->addUsingAlias(AdminGroupTableMap::ID, $id, $comparison); - } - - /** - * Filter the query on the group_id column - * - * Example usage: - * - * $query->filterByGroupId(1234); // WHERE group_id = 1234 - * $query->filterByGroupId(array(12, 34)); // WHERE group_id IN (12, 34) - * $query->filterByGroupId(array('min' => 12)); // WHERE group_id > 12 - * - * - * @see filterByGroup() - * - * @param mixed $groupId The value to use as filter. - * Use scalar values for equality. - * Use array values for in_array() equivalent. - * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByGroupId($groupId = null, $comparison = null) - { - if (is_array($groupId)) { - $useMinMax = false; - if (isset($groupId['min'])) { - $this->addUsingAlias(AdminGroupTableMap::GROUP_ID, $groupId['min'], Criteria::GREATER_EQUAL); - $useMinMax = true; - } - if (isset($groupId['max'])) { - $this->addUsingAlias(AdminGroupTableMap::GROUP_ID, $groupId['max'], Criteria::LESS_EQUAL); - $useMinMax = true; - } - if ($useMinMax) { - return $this; - } - if (null === $comparison) { - $comparison = Criteria::IN; - } - } - - return $this->addUsingAlias(AdminGroupTableMap::GROUP_ID, $groupId, $comparison); - } - - /** - * Filter the query on the admin_id column - * - * Example usage: - * - * $query->filterByAdminId(1234); // WHERE admin_id = 1234 - * $query->filterByAdminId(array(12, 34)); // WHERE admin_id IN (12, 34) - * $query->filterByAdminId(array('min' => 12)); // WHERE admin_id > 12 - * - * - * @see filterByAdmin() - * - * @param mixed $adminId The value to use as filter. - * Use scalar values for equality. - * Use array values for in_array() equivalent. - * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByAdminId($adminId = null, $comparison = null) - { - if (is_array($adminId)) { - $useMinMax = false; - if (isset($adminId['min'])) { - $this->addUsingAlias(AdminGroupTableMap::ADMIN_ID, $adminId['min'], Criteria::GREATER_EQUAL); - $useMinMax = true; - } - if (isset($adminId['max'])) { - $this->addUsingAlias(AdminGroupTableMap::ADMIN_ID, $adminId['max'], Criteria::LESS_EQUAL); - $useMinMax = true; - } - if ($useMinMax) { - return $this; - } - if (null === $comparison) { - $comparison = Criteria::IN; - } - } - - return $this->addUsingAlias(AdminGroupTableMap::ADMIN_ID, $adminId, $comparison); - } - - /** - * Filter the query on the created_at column - * - * Example usage: - * - * $query->filterByCreatedAt('2011-03-14'); // WHERE created_at = '2011-03-14' - * $query->filterByCreatedAt('now'); // WHERE created_at = '2011-03-14' - * $query->filterByCreatedAt(array('max' => 'yesterday')); // WHERE created_at > '2011-03-13' - * - * - * @param mixed $createdAt The value to use as filter. - * Values can be integers (unix timestamps), DateTime objects, or strings. - * Empty strings are treated as NULL. - * Use scalar values for equality. - * Use array values for in_array() equivalent. - * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByCreatedAt($createdAt = null, $comparison = null) - { - if (is_array($createdAt)) { - $useMinMax = false; - if (isset($createdAt['min'])) { - $this->addUsingAlias(AdminGroupTableMap::CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL); - $useMinMax = true; - } - if (isset($createdAt['max'])) { - $this->addUsingAlias(AdminGroupTableMap::CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL); - $useMinMax = true; - } - if ($useMinMax) { - return $this; - } - if (null === $comparison) { - $comparison = Criteria::IN; - } - } - - return $this->addUsingAlias(AdminGroupTableMap::CREATED_AT, $createdAt, $comparison); - } - - /** - * Filter the query on the updated_at column - * - * Example usage: - * - * $query->filterByUpdatedAt('2011-03-14'); // WHERE updated_at = '2011-03-14' - * $query->filterByUpdatedAt('now'); // WHERE updated_at = '2011-03-14' - * $query->filterByUpdatedAt(array('max' => 'yesterday')); // WHERE updated_at > '2011-03-13' - * - * - * @param mixed $updatedAt The value to use as filter. - * Values can be integers (unix timestamps), DateTime objects, or strings. - * Empty strings are treated as NULL. - * Use scalar values for equality. - * Use array values for in_array() equivalent. - * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByUpdatedAt($updatedAt = null, $comparison = null) - { - if (is_array($updatedAt)) { - $useMinMax = false; - if (isset($updatedAt['min'])) { - $this->addUsingAlias(AdminGroupTableMap::UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL); - $useMinMax = true; - } - if (isset($updatedAt['max'])) { - $this->addUsingAlias(AdminGroupTableMap::UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL); - $useMinMax = true; - } - if ($useMinMax) { - return $this; - } - if (null === $comparison) { - $comparison = Criteria::IN; - } - } - - return $this->addUsingAlias(AdminGroupTableMap::UPDATED_AT, $updatedAt, $comparison); - } - - /** - * Filter the query by a related \Thelia\Model\Group object - * - * @param \Thelia\Model\Group|ObjectCollection $group The related object(s) to use as filter - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByGroup($group, $comparison = null) - { - if ($group instanceof \Thelia\Model\Group) { - return $this - ->addUsingAlias(AdminGroupTableMap::GROUP_ID, $group->getId(), $comparison); - } elseif ($group instanceof ObjectCollection) { - if (null === $comparison) { - $comparison = Criteria::IN; - } - - return $this - ->addUsingAlias(AdminGroupTableMap::GROUP_ID, $group->toKeyValue('PrimaryKey', 'Id'), $comparison); - } else { - throw new PropelException('filterByGroup() only accepts arguments of type \Thelia\Model\Group or Collection'); - } - } - - /** - * Adds a JOIN clause to the query using the Group relation - * - * @param string $relationAlias optional alias for the relation - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function joinGroup($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('Group'); - - // create a ModelJoin object for this join - $join = new ModelJoin(); - $join->setJoinType($joinType); - $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); - if ($previousJoin = $this->getPreviousJoin()) { - $join->setPreviousJoin($previousJoin); - } - - // add the ModelJoin to the current object - if ($relationAlias) { - $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); - $this->addJoinObject($join, $relationAlias); - } else { - $this->addJoinObject($join, 'Group'); - } - - return $this; - } - - /** - * Use the Group relation Group object - * - * @see useQuery() - * - * @param string $relationAlias optional alias for the relation, - * to be used as main alias in the secondary query - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return \Thelia\Model\GroupQuery A secondary query class using the current class as primary query - */ - public function useGroupQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - return $this - ->joinGroup($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'Group', '\Thelia\Model\GroupQuery'); - } - - /** - * Filter the query by a related \Thelia\Model\Admin object - * - * @param \Thelia\Model\Admin|ObjectCollection $admin The related object(s) to use as filter - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function filterByAdmin($admin, $comparison = null) - { - if ($admin instanceof \Thelia\Model\Admin) { - return $this - ->addUsingAlias(AdminGroupTableMap::ADMIN_ID, $admin->getId(), $comparison); - } elseif ($admin instanceof ObjectCollection) { - if (null === $comparison) { - $comparison = Criteria::IN; - } - - return $this - ->addUsingAlias(AdminGroupTableMap::ADMIN_ID, $admin->toKeyValue('PrimaryKey', 'Id'), $comparison); - } else { - throw new PropelException('filterByAdmin() only accepts arguments of type \Thelia\Model\Admin or Collection'); - } - } - - /** - * Adds a JOIN clause to the query using the Admin relation - * - * @param string $relationAlias optional alias for the relation - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function joinAdmin($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('Admin'); - - // create a ModelJoin object for this join - $join = new ModelJoin(); - $join->setJoinType($joinType); - $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); - if ($previousJoin = $this->getPreviousJoin()) { - $join->setPreviousJoin($previousJoin); - } - - // add the ModelJoin to the current object - if ($relationAlias) { - $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); - $this->addJoinObject($join, $relationAlias); - } else { - $this->addJoinObject($join, 'Admin'); - } - - return $this; - } - - /** - * Use the Admin relation Admin object - * - * @see useQuery() - * - * @param string $relationAlias optional alias for the relation, - * to be used as main alias in the secondary query - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return \Thelia\Model\AdminQuery A secondary query class using the current class as primary query - */ - public function useAdminQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - return $this - ->joinAdmin($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'Admin', '\Thelia\Model\AdminQuery'); - } - - /** - * Exclude object from result - * - * @param ChildAdminGroup $adminGroup Object to remove from the list of results - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function prune($adminGroup = null) - { - if ($adminGroup) { - $this->addCond('pruneCond0', $this->getAliasedColName(AdminGroupTableMap::ID), $adminGroup->getId(), Criteria::NOT_EQUAL); - $this->addCond('pruneCond1', $this->getAliasedColName(AdminGroupTableMap::GROUP_ID), $adminGroup->getGroupId(), Criteria::NOT_EQUAL); - $this->addCond('pruneCond2', $this->getAliasedColName(AdminGroupTableMap::ADMIN_ID), $adminGroup->getAdminId(), Criteria::NOT_EQUAL); - $this->combine(array('pruneCond0', 'pruneCond1', 'pruneCond2'), Criteria::LOGICAL_OR); - } - - return $this; - } - - /** - * Deletes all rows from the admin_group table. - * - * @param ConnectionInterface $con the connection to use - * @return int The number of affected rows (if supported by underlying database driver). - */ - public function doDeleteAll(ConnectionInterface $con = null) - { - if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(AdminGroupTableMap::DATABASE_NAME); - } - $affectedRows = 0; // initialize var to track total num of affected rows - try { - // use transaction because $criteria could contain info - // for more than one table or we could emulating ON DELETE CASCADE, etc. - $con->beginTransaction(); - $affectedRows += parent::doDeleteAll($con); - // Because this db requires some delete cascade/set null emulation, we have to - // clear the cached instance *after* the emulation has happened (since - // instances get re-added by the select statement contained therein). - AdminGroupTableMap::clearInstancePool(); - AdminGroupTableMap::clearRelatedInstancePool(); - - $con->commit(); - } catch (PropelException $e) { - $con->rollBack(); - throw $e; - } - - return $affectedRows; - } - - /** - * Performs a DELETE on the database, given a ChildAdminGroup or Criteria object OR a primary key value. - * - * @param mixed $values Criteria or ChildAdminGroup object or primary key or array of primary keys - * which is used to create the DELETE statement - * @param ConnectionInterface $con the connection to use - * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows - * if supported by native driver or if emulated using Propel. - * @throws PropelException Any exceptions caught during processing will be - * rethrown wrapped into a PropelException. - */ - public function delete(ConnectionInterface $con = null) - { - if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(AdminGroupTableMap::DATABASE_NAME); - } - - $criteria = $this; - - // Set the correct dbName - $criteria->setDbName(AdminGroupTableMap::DATABASE_NAME); - - $affectedRows = 0; // initialize var to track total num of affected rows - - try { - // use transaction because $criteria could contain info - // for more than one table or we could emulating ON DELETE CASCADE, etc. - $con->beginTransaction(); - - - AdminGroupTableMap::removeInstanceFromPool($criteria); - - $affectedRows += ModelCriteria::delete($con); - AdminGroupTableMap::clearRelatedInstancePool(); - $con->commit(); - - return $affectedRows; - } catch (PropelException $e) { - $con->rollBack(); - throw $e; - } - } - - // timestampable behavior - - /** - * Filter by the latest updated - * - * @param int $nbDays Maximum age of the latest update in days - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function recentlyUpdated($nbDays = 7) - { - return $this->addUsingAlias(AdminGroupTableMap::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); - } - - /** - * Filter by the latest created - * - * @param int $nbDays Maximum age of in days - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function recentlyCreated($nbDays = 7) - { - return $this->addUsingAlias(AdminGroupTableMap::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); - } - - /** - * Order by update date desc - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function lastUpdatedFirst() - { - return $this->addDescendingOrderByColumn(AdminGroupTableMap::UPDATED_AT); - } - - /** - * Order by update date asc - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function firstUpdatedFirst() - { - return $this->addAscendingOrderByColumn(AdminGroupTableMap::UPDATED_AT); - } - - /** - * Order by create date desc - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function lastCreatedFirst() - { - return $this->addDescendingOrderByColumn(AdminGroupTableMap::CREATED_AT); - } - - /** - * Order by create date asc - * - * @return ChildAdminGroupQuery The current query, for fluid interface - */ - public function firstCreatedFirst() - { - return $this->addAscendingOrderByColumn(AdminGroupTableMap::CREATED_AT); - } - -} // AdminGroupQuery diff --git a/core/lib/Thelia/Model/Base/AdminQuery.php b/core/lib/Thelia/Model/Base/AdminQuery.php index 071832d9b..d9f032544 100644 --- a/core/lib/Thelia/Model/Base/AdminQuery.php +++ b/core/lib/Thelia/Model/Base/AdminQuery.php @@ -22,6 +22,7 @@ use Thelia\Model\Map\AdminTableMap; * * * @method ChildAdminQuery orderById($order = Criteria::ASC) Order by the id column + * @method ChildAdminQuery orderByProfileId($order = Criteria::ASC) Order by the profile_id column * @method ChildAdminQuery orderByFirstname($order = Criteria::ASC) Order by the firstname column * @method ChildAdminQuery orderByLastname($order = Criteria::ASC) Order by the lastname column * @method ChildAdminQuery orderByLogin($order = Criteria::ASC) Order by the login column @@ -34,6 +35,7 @@ use Thelia\Model\Map\AdminTableMap; * @method ChildAdminQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * * @method ChildAdminQuery groupById() Group by the id column + * @method ChildAdminQuery groupByProfileId() Group by the profile_id column * @method ChildAdminQuery groupByFirstname() Group by the firstname column * @method ChildAdminQuery groupByLastname() Group by the lastname column * @method ChildAdminQuery groupByLogin() Group by the login column @@ -49,14 +51,15 @@ use Thelia\Model\Map\AdminTableMap; * @method ChildAdminQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query * @method ChildAdminQuery innerJoin($relation) Adds a INNER JOIN clause to the query * - * @method ChildAdminQuery leftJoinAdminGroup($relationAlias = null) Adds a LEFT JOIN clause to the query using the AdminGroup relation - * @method ChildAdminQuery rightJoinAdminGroup($relationAlias = null) Adds a RIGHT JOIN clause to the query using the AdminGroup relation - * @method ChildAdminQuery innerJoinAdminGroup($relationAlias = null) Adds a INNER JOIN clause to the query using the AdminGroup relation + * @method ChildAdminQuery leftJoinProfile($relationAlias = null) Adds a LEFT JOIN clause to the query using the Profile relation + * @method ChildAdminQuery rightJoinProfile($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Profile relation + * @method ChildAdminQuery innerJoinProfile($relationAlias = null) Adds a INNER JOIN clause to the query using the Profile relation * * @method ChildAdmin findOne(ConnectionInterface $con = null) Return the first ChildAdmin matching the query * @method ChildAdmin findOneOrCreate(ConnectionInterface $con = null) Return the first ChildAdmin matching the query, or a new ChildAdmin object populated from the query conditions when no match is found * * @method ChildAdmin findOneById(int $id) Return the first ChildAdmin filtered by the id column + * @method ChildAdmin findOneByProfileId(int $profile_id) Return the first ChildAdmin filtered by the profile_id column * @method ChildAdmin findOneByFirstname(string $firstname) Return the first ChildAdmin filtered by the firstname column * @method ChildAdmin findOneByLastname(string $lastname) Return the first ChildAdmin filtered by the lastname column * @method ChildAdmin findOneByLogin(string $login) Return the first ChildAdmin filtered by the login column @@ -69,6 +72,7 @@ use Thelia\Model\Map\AdminTableMap; * @method ChildAdmin findOneByUpdatedAt(string $updated_at) Return the first ChildAdmin filtered by the updated_at column * * @method array findById(int $id) Return ChildAdmin objects filtered by the id column + * @method array findByProfileId(int $profile_id) Return ChildAdmin objects filtered by the profile_id column * @method array findByFirstname(string $firstname) Return ChildAdmin objects filtered by the firstname column * @method array findByLastname(string $lastname) Return ChildAdmin objects filtered by the lastname column * @method array findByLogin(string $login) Return ChildAdmin objects filtered by the login column @@ -167,7 +171,7 @@ abstract class AdminQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, FIRSTNAME, LASTNAME, LOGIN, PASSWORD, ALGO, SALT, REMEMBER_ME_TOKEN, REMEMBER_ME_SERIAL, CREATED_AT, UPDATED_AT FROM admin WHERE ID = :p0'; + $sql = 'SELECT ID, PROFILE_ID, FIRSTNAME, LASTNAME, LOGIN, PASSWORD, ALGO, SALT, REMEMBER_ME_TOKEN, REMEMBER_ME_SERIAL, CREATED_AT, UPDATED_AT FROM admin WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -297,6 +301,49 @@ abstract class AdminQuery extends ModelCriteria return $this->addUsingAlias(AdminTableMap::ID, $id, $comparison); } + /** + * Filter the query on the profile_id column + * + * Example usage: + * + * $query->filterByProfileId(1234); // WHERE profile_id = 1234 + * $query->filterByProfileId(array(12, 34)); // WHERE profile_id IN (12, 34) + * $query->filterByProfileId(array('min' => 12)); // WHERE profile_id > 12 + * + * + * @see filterByProfile() + * + * @param mixed $profileId The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildAdminQuery The current query, for fluid interface + */ + public function filterByProfileId($profileId = null, $comparison = null) + { + if (is_array($profileId)) { + $useMinMax = false; + if (isset($profileId['min'])) { + $this->addUsingAlias(AdminTableMap::PROFILE_ID, $profileId['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($profileId['max'])) { + $this->addUsingAlias(AdminTableMap::PROFILE_ID, $profileId['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(AdminTableMap::PROFILE_ID, $profileId, $comparison); + } + /** * Filter the query on the firstname column * @@ -616,40 +663,42 @@ abstract class AdminQuery extends ModelCriteria } /** - * Filter the query by a related \Thelia\Model\AdminGroup object + * Filter the query by a related \Thelia\Model\Profile object * - * @param \Thelia\Model\AdminGroup|ObjectCollection $adminGroup the related object to use as filter + * @param \Thelia\Model\Profile|ObjectCollection $profile The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildAdminQuery The current query, for fluid interface */ - public function filterByAdminGroup($adminGroup, $comparison = null) + public function filterByProfile($profile, $comparison = null) { - if ($adminGroup instanceof \Thelia\Model\AdminGroup) { + if ($profile instanceof \Thelia\Model\Profile) { return $this - ->addUsingAlias(AdminTableMap::ID, $adminGroup->getAdminId(), $comparison); - } elseif ($adminGroup instanceof ObjectCollection) { + ->addUsingAlias(AdminTableMap::PROFILE_ID, $profile->getId(), $comparison); + } elseif ($profile instanceof ObjectCollection) { + if (null === $comparison) { + $comparison = Criteria::IN; + } + return $this - ->useAdminGroupQuery() - ->filterByPrimaryKeys($adminGroup->getPrimaryKeys()) - ->endUse(); + ->addUsingAlias(AdminTableMap::PROFILE_ID, $profile->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { - throw new PropelException('filterByAdminGroup() only accepts arguments of type \Thelia\Model\AdminGroup or Collection'); + throw new PropelException('filterByProfile() only accepts arguments of type \Thelia\Model\Profile or Collection'); } } /** - * Adds a JOIN clause to the query using the AdminGroup relation + * Adds a JOIN clause to the query using the Profile relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * * @return ChildAdminQuery The current query, for fluid interface */ - public function joinAdminGroup($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function joinProfile($relationAlias = null, $joinType = Criteria::LEFT_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('AdminGroup'); + $relationMap = $tableMap->getRelation('Profile'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -664,14 +713,14 @@ abstract class AdminQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'AdminGroup'); + $this->addJoinObject($join, 'Profile'); } return $this; } /** - * Use the AdminGroup relation AdminGroup object + * Use the Profile relation Profile object * * @see useQuery() * @@ -679,30 +728,13 @@ abstract class AdminQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\AdminGroupQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileQuery A secondary query class using the current class as primary query */ - public function useAdminGroupQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function useProfileQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) { return $this - ->joinAdminGroup($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'AdminGroup', '\Thelia\Model\AdminGroupQuery'); - } - - /** - * Filter the query by a related Group object - * using the admin_group table as cross reference - * - * @param Group $group the related object to use as filter - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildAdminQuery The current query, for fluid interface - */ - public function filterByGroup($group, $comparison = Criteria::EQUAL) - { - return $this - ->useAdminGroupQuery() - ->filterByGroup($group, $comparison) - ->endUse(); + ->joinProfile($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Profile', '\Thelia\Model\ProfileQuery'); } /** diff --git a/core/lib/Thelia/Model/Base/Module.php b/core/lib/Thelia/Model/Base/Module.php index 09858a877..81ef0e128 100644 --- a/core/lib/Thelia/Model/Base/Module.php +++ b/core/lib/Thelia/Model/Base/Module.php @@ -19,8 +19,6 @@ use Propel\Runtime\Parser\AbstractParser; use Propel\Runtime\Util\PropelDateTime; use Thelia\Model\AreaDeliveryModule as ChildAreaDeliveryModule; use Thelia\Model\AreaDeliveryModuleQuery as ChildAreaDeliveryModuleQuery; -use Thelia\Model\GroupModule as ChildGroupModule; -use Thelia\Model\GroupModuleQuery as ChildGroupModuleQuery; use Thelia\Model\Module as ChildModule; use Thelia\Model\ModuleI18n as ChildModuleI18n; use Thelia\Model\ModuleI18nQuery as ChildModuleI18nQuery; @@ -29,6 +27,8 @@ use Thelia\Model\ModuleImageQuery as ChildModuleImageQuery; use Thelia\Model\ModuleQuery as ChildModuleQuery; use Thelia\Model\Order as ChildOrder; use Thelia\Model\OrderQuery as ChildOrderQuery; +use Thelia\Model\ProfileModule as ChildProfileModule; +use Thelia\Model\ProfileModuleQuery as ChildProfileModuleQuery; use Thelia\Model\Map\ModuleTableMap; abstract class Module implements ActiveRecordInterface @@ -132,10 +132,10 @@ abstract class Module implements ActiveRecordInterface protected $collAreaDeliveryModulesPartial; /** - * @var ObjectCollection|ChildGroupModule[] Collection to store aggregation of ChildGroupModule objects. + * @var ObjectCollection|ChildProfileModule[] Collection to store aggregation of ChildProfileModule objects. */ - protected $collGroupModules; - protected $collGroupModulesPartial; + protected $collProfileModules; + protected $collProfileModulesPartial; /** * @var ObjectCollection|ChildModuleImage[] Collection to store aggregation of ChildModuleImage objects. @@ -193,7 +193,7 @@ abstract class Module implements ActiveRecordInterface * An array of objects scheduled for deletion. * @var ObjectCollection */ - protected $groupModulesScheduledForDeletion = null; + protected $profileModulesScheduledForDeletion = null; /** * An array of objects scheduled for deletion. @@ -880,7 +880,7 @@ abstract class Module implements ActiveRecordInterface $this->collAreaDeliveryModules = null; - $this->collGroupModules = null; + $this->collProfileModules = null; $this->collModuleImages = null; @@ -1070,17 +1070,17 @@ abstract class Module implements ActiveRecordInterface } } - if ($this->groupModulesScheduledForDeletion !== null) { - if (!$this->groupModulesScheduledForDeletion->isEmpty()) { - \Thelia\Model\GroupModuleQuery::create() - ->filterByPrimaryKeys($this->groupModulesScheduledForDeletion->getPrimaryKeys(false)) + if ($this->profileModulesScheduledForDeletion !== null) { + if (!$this->profileModulesScheduledForDeletion->isEmpty()) { + \Thelia\Model\ProfileModuleQuery::create() + ->filterByPrimaryKeys($this->profileModulesScheduledForDeletion->getPrimaryKeys(false)) ->delete($con); - $this->groupModulesScheduledForDeletion = null; + $this->profileModulesScheduledForDeletion = null; } } - if ($this->collGroupModules !== null) { - foreach ($this->collGroupModules as $referrerFK) { + if ($this->collProfileModules !== null) { + foreach ($this->collProfileModules as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } @@ -1345,8 +1345,8 @@ abstract class Module implements ActiveRecordInterface if (null !== $this->collAreaDeliveryModules) { $result['AreaDeliveryModules'] = $this->collAreaDeliveryModules->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } - if (null !== $this->collGroupModules) { - $result['GroupModules'] = $this->collGroupModules->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + if (null !== $this->collProfileModules) { + $result['ProfileModules'] = $this->collProfileModules->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } if (null !== $this->collModuleImages) { $result['ModuleImages'] = $this->collModuleImages->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); @@ -1557,9 +1557,9 @@ abstract class Module implements ActiveRecordInterface } } - foreach ($this->getGroupModules() as $relObj) { + foreach ($this->getProfileModules() as $relObj) { if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addGroupModule($relObj->copy($deepCopy)); + $copyObj->addProfileModule($relObj->copy($deepCopy)); } } @@ -1625,8 +1625,8 @@ abstract class Module implements ActiveRecordInterface if ('AreaDeliveryModule' == $relationName) { return $this->initAreaDeliveryModules(); } - if ('GroupModule' == $relationName) { - return $this->initGroupModules(); + if ('ProfileModule' == $relationName) { + return $this->initProfileModules(); } if ('ModuleImage' == $relationName) { return $this->initModuleImages(); @@ -2616,31 +2616,31 @@ abstract class Module implements ActiveRecordInterface } /** - * Clears out the collGroupModules collection + * Clears out the collProfileModules collection * * This does not modify the database; however, it will remove any associated objects, causing * them to be refetched by subsequent calls to accessor method. * * @return void - * @see addGroupModules() + * @see addProfileModules() */ - public function clearGroupModules() + public function clearProfileModules() { - $this->collGroupModules = null; // important to set this to NULL since that means it is uninitialized + $this->collProfileModules = null; // important to set this to NULL since that means it is uninitialized } /** - * Reset is the collGroupModules collection loaded partially. + * Reset is the collProfileModules collection loaded partially. */ - public function resetPartialGroupModules($v = true) + public function resetPartialProfileModules($v = true) { - $this->collGroupModulesPartial = $v; + $this->collProfileModulesPartial = $v; } /** - * Initializes the collGroupModules collection. + * Initializes the collProfileModules collection. * - * By default this just sets the collGroupModules collection to an empty array (like clearcollGroupModules()); + * By default this just sets the collProfileModules collection to an empty array (like clearcollProfileModules()); * however, you may wish to override this method in your stub class to provide setting appropriate * to your application -- for example, setting the initial array to the values stored in database. * @@ -2649,17 +2649,17 @@ abstract class Module implements ActiveRecordInterface * * @return void */ - public function initGroupModules($overrideExisting = true) + public function initProfileModules($overrideExisting = true) { - if (null !== $this->collGroupModules && !$overrideExisting) { + if (null !== $this->collProfileModules && !$overrideExisting) { return; } - $this->collGroupModules = new ObjectCollection(); - $this->collGroupModules->setModel('\Thelia\Model\GroupModule'); + $this->collProfileModules = new ObjectCollection(); + $this->collProfileModules->setModel('\Thelia\Model\ProfileModule'); } /** - * Gets an array of ChildGroupModule objects which contain a foreign key that references this object. + * Gets an array of ChildProfileModule objects which contain a foreign key that references this object. * * If the $criteria is not null, it is used to always fetch the results from the database. * Otherwise the results are fetched from the database the first time, then cached. @@ -2669,109 +2669,109 @@ abstract class Module implements ActiveRecordInterface * * @param Criteria $criteria optional Criteria object to narrow the query * @param ConnectionInterface $con optional connection object - * @return Collection|ChildGroupModule[] List of ChildGroupModule objects + * @return Collection|ChildProfileModule[] List of ChildProfileModule objects * @throws PropelException */ - public function getGroupModules($criteria = null, ConnectionInterface $con = null) + public function getProfileModules($criteria = null, ConnectionInterface $con = null) { - $partial = $this->collGroupModulesPartial && !$this->isNew(); - if (null === $this->collGroupModules || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupModules) { + $partial = $this->collProfileModulesPartial && !$this->isNew(); + if (null === $this->collProfileModules || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileModules) { // return empty collection - $this->initGroupModules(); + $this->initProfileModules(); } else { - $collGroupModules = ChildGroupModuleQuery::create(null, $criteria) + $collProfileModules = ChildProfileModuleQuery::create(null, $criteria) ->filterByModule($this) ->find($con); if (null !== $criteria) { - if (false !== $this->collGroupModulesPartial && count($collGroupModules)) { - $this->initGroupModules(false); + if (false !== $this->collProfileModulesPartial && count($collProfileModules)) { + $this->initProfileModules(false); - foreach ($collGroupModules as $obj) { - if (false == $this->collGroupModules->contains($obj)) { - $this->collGroupModules->append($obj); + foreach ($collProfileModules as $obj) { + if (false == $this->collProfileModules->contains($obj)) { + $this->collProfileModules->append($obj); } } - $this->collGroupModulesPartial = true; + $this->collProfileModulesPartial = true; } - $collGroupModules->getInternalIterator()->rewind(); + $collProfileModules->getInternalIterator()->rewind(); - return $collGroupModules; + return $collProfileModules; } - if ($partial && $this->collGroupModules) { - foreach ($this->collGroupModules as $obj) { + if ($partial && $this->collProfileModules) { + foreach ($this->collProfileModules as $obj) { if ($obj->isNew()) { - $collGroupModules[] = $obj; + $collProfileModules[] = $obj; } } } - $this->collGroupModules = $collGroupModules; - $this->collGroupModulesPartial = false; + $this->collProfileModules = $collProfileModules; + $this->collProfileModulesPartial = false; } } - return $this->collGroupModules; + return $this->collProfileModules; } /** - * Sets a collection of GroupModule objects related by a one-to-many relationship + * Sets a collection of ProfileModule objects related by a one-to-many relationship * to the current object. * It will also schedule objects for deletion based on a diff between old objects (aka persisted) * and new objects from the given Propel collection. * - * @param Collection $groupModules A Propel collection. + * @param Collection $profileModules A Propel collection. * @param ConnectionInterface $con Optional connection object * @return ChildModule The current object (for fluent API support) */ - public function setGroupModules(Collection $groupModules, ConnectionInterface $con = null) + public function setProfileModules(Collection $profileModules, ConnectionInterface $con = null) { - $groupModulesToDelete = $this->getGroupModules(new Criteria(), $con)->diff($groupModules); + $profileModulesToDelete = $this->getProfileModules(new Criteria(), $con)->diff($profileModules); - $this->groupModulesScheduledForDeletion = $groupModulesToDelete; + $this->profileModulesScheduledForDeletion = $profileModulesToDelete; - foreach ($groupModulesToDelete as $groupModuleRemoved) { - $groupModuleRemoved->setModule(null); + foreach ($profileModulesToDelete as $profileModuleRemoved) { + $profileModuleRemoved->setModule(null); } - $this->collGroupModules = null; - foreach ($groupModules as $groupModule) { - $this->addGroupModule($groupModule); + $this->collProfileModules = null; + foreach ($profileModules as $profileModule) { + $this->addProfileModule($profileModule); } - $this->collGroupModules = $groupModules; - $this->collGroupModulesPartial = false; + $this->collProfileModules = $profileModules; + $this->collProfileModulesPartial = false; return $this; } /** - * Returns the number of related GroupModule objects. + * Returns the number of related ProfileModule objects. * * @param Criteria $criteria * @param boolean $distinct * @param ConnectionInterface $con - * @return int Count of related GroupModule objects. + * @return int Count of related ProfileModule objects. * @throws PropelException */ - public function countGroupModules(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + public function countProfileModules(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) { - $partial = $this->collGroupModulesPartial && !$this->isNew(); - if (null === $this->collGroupModules || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupModules) { + $partial = $this->collProfileModulesPartial && !$this->isNew(); + if (null === $this->collProfileModules || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileModules) { return 0; } if ($partial && !$criteria) { - return count($this->getGroupModules()); + return count($this->getProfileModules()); } - $query = ChildGroupModuleQuery::create(null, $criteria); + $query = ChildProfileModuleQuery::create(null, $criteria); if ($distinct) { $query->distinct(); } @@ -2781,53 +2781,53 @@ abstract class Module implements ActiveRecordInterface ->count($con); } - return count($this->collGroupModules); + return count($this->collProfileModules); } /** - * Method called to associate a ChildGroupModule object to this object - * through the ChildGroupModule foreign key attribute. + * Method called to associate a ChildProfileModule object to this object + * through the ChildProfileModule foreign key attribute. * - * @param ChildGroupModule $l ChildGroupModule + * @param ChildProfileModule $l ChildProfileModule * @return \Thelia\Model\Module The current object (for fluent API support) */ - public function addGroupModule(ChildGroupModule $l) + public function addProfileModule(ChildProfileModule $l) { - if ($this->collGroupModules === null) { - $this->initGroupModules(); - $this->collGroupModulesPartial = true; + if ($this->collProfileModules === null) { + $this->initProfileModules(); + $this->collProfileModulesPartial = true; } - if (!in_array($l, $this->collGroupModules->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddGroupModule($l); + if (!in_array($l, $this->collProfileModules->getArrayCopy(), true)) { // only add it if the **same** object is not already associated + $this->doAddProfileModule($l); } return $this; } /** - * @param GroupModule $groupModule The groupModule object to add. + * @param ProfileModule $profileModule The profileModule object to add. */ - protected function doAddGroupModule($groupModule) + protected function doAddProfileModule($profileModule) { - $this->collGroupModules[]= $groupModule; - $groupModule->setModule($this); + $this->collProfileModules[]= $profileModule; + $profileModule->setModule($this); } /** - * @param GroupModule $groupModule The groupModule object to remove. + * @param ProfileModule $profileModule The profileModule object to remove. * @return ChildModule The current object (for fluent API support) */ - public function removeGroupModule($groupModule) + public function removeProfileModule($profileModule) { - if ($this->getGroupModules()->contains($groupModule)) { - $this->collGroupModules->remove($this->collGroupModules->search($groupModule)); - if (null === $this->groupModulesScheduledForDeletion) { - $this->groupModulesScheduledForDeletion = clone $this->collGroupModules; - $this->groupModulesScheduledForDeletion->clear(); + if ($this->getProfileModules()->contains($profileModule)) { + $this->collProfileModules->remove($this->collProfileModules->search($profileModule)); + if (null === $this->profileModulesScheduledForDeletion) { + $this->profileModulesScheduledForDeletion = clone $this->collProfileModules; + $this->profileModulesScheduledForDeletion->clear(); } - $this->groupModulesScheduledForDeletion[]= $groupModule; - $groupModule->setModule(null); + $this->profileModulesScheduledForDeletion[]= $profileModule; + $profileModule->setModule(null); } return $this; @@ -2839,7 +2839,7 @@ abstract class Module implements ActiveRecordInterface * an identical criteria, it returns the collection. * Otherwise if this Module is new, it will return * an empty collection; or if this Module has previously - * been saved, it will retrieve related GroupModules from storage. + * been saved, it will retrieve related ProfileModules from storage. * * This method is protected by default in order to keep the public * api reasonable. You can provide public methods for those you @@ -2848,14 +2848,14 @@ abstract class Module implements ActiveRecordInterface * @param Criteria $criteria optional Criteria object to narrow the query * @param ConnectionInterface $con optional connection object * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildGroupModule[] List of ChildGroupModule objects + * @return Collection|ChildProfileModule[] List of ChildProfileModule objects */ - public function getGroupModulesJoinGroup($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) + public function getProfileModulesJoinProfile($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) { - $query = ChildGroupModuleQuery::create(null, $criteria); - $query->joinWith('Group', $joinBehavior); + $query = ChildProfileModuleQuery::create(null, $criteria); + $query->joinWith('Profile', $joinBehavior); - return $this->getGroupModules($query, $con); + return $this->getProfileModules($query, $con); } /** @@ -3348,8 +3348,8 @@ abstract class Module implements ActiveRecordInterface $o->clearAllReferences($deep); } } - if ($this->collGroupModules) { - foreach ($this->collGroupModules as $o) { + if ($this->collProfileModules) { + foreach ($this->collProfileModules as $o) { $o->clearAllReferences($deep); } } @@ -3381,10 +3381,10 @@ abstract class Module implements ActiveRecordInterface $this->collAreaDeliveryModules->clearIterator(); } $this->collAreaDeliveryModules = null; - if ($this->collGroupModules instanceof Collection) { - $this->collGroupModules->clearIterator(); + if ($this->collProfileModules instanceof Collection) { + $this->collProfileModules->clearIterator(); } - $this->collGroupModules = null; + $this->collProfileModules = null; if ($this->collModuleImages instanceof Collection) { $this->collModuleImages->clearIterator(); } diff --git a/core/lib/Thelia/Model/Base/ModuleQuery.php b/core/lib/Thelia/Model/Base/ModuleQuery.php index 4031a4f63..4f953b97f 100644 --- a/core/lib/Thelia/Model/Base/ModuleQuery.php +++ b/core/lib/Thelia/Model/Base/ModuleQuery.php @@ -56,9 +56,9 @@ use Thelia\Model\Map\ModuleTableMap; * @method ChildModuleQuery rightJoinAreaDeliveryModule($relationAlias = null) Adds a RIGHT JOIN clause to the query using the AreaDeliveryModule relation * @method ChildModuleQuery innerJoinAreaDeliveryModule($relationAlias = null) Adds a INNER JOIN clause to the query using the AreaDeliveryModule relation * - * @method ChildModuleQuery leftJoinGroupModule($relationAlias = null) Adds a LEFT JOIN clause to the query using the GroupModule relation - * @method ChildModuleQuery rightJoinGroupModule($relationAlias = null) Adds a RIGHT JOIN clause to the query using the GroupModule relation - * @method ChildModuleQuery innerJoinGroupModule($relationAlias = null) Adds a INNER JOIN clause to the query using the GroupModule relation + * @method ChildModuleQuery leftJoinProfileModule($relationAlias = null) Adds a LEFT JOIN clause to the query using the ProfileModule relation + * @method ChildModuleQuery rightJoinProfileModule($relationAlias = null) Adds a RIGHT JOIN clause to the query using the ProfileModule relation + * @method ChildModuleQuery innerJoinProfileModule($relationAlias = null) Adds a INNER JOIN clause to the query using the ProfileModule relation * * @method ChildModuleQuery leftJoinModuleImage($relationAlias = null) Adds a LEFT JOIN clause to the query using the ModuleImage relation * @method ChildModuleQuery rightJoinModuleImage($relationAlias = null) Adds a RIGHT JOIN clause to the query using the ModuleImage relation @@ -793,40 +793,40 @@ abstract class ModuleQuery extends ModelCriteria } /** - * Filter the query by a related \Thelia\Model\GroupModule object + * Filter the query by a related \Thelia\Model\ProfileModule object * - * @param \Thelia\Model\GroupModule|ObjectCollection $groupModule the related object to use as filter + * @param \Thelia\Model\ProfileModule|ObjectCollection $profileModule the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildModuleQuery The current query, for fluid interface */ - public function filterByGroupModule($groupModule, $comparison = null) + public function filterByProfileModule($profileModule, $comparison = null) { - if ($groupModule instanceof \Thelia\Model\GroupModule) { + if ($profileModule instanceof \Thelia\Model\ProfileModule) { return $this - ->addUsingAlias(ModuleTableMap::ID, $groupModule->getModuleId(), $comparison); - } elseif ($groupModule instanceof ObjectCollection) { + ->addUsingAlias(ModuleTableMap::ID, $profileModule->getModuleId(), $comparison); + } elseif ($profileModule instanceof ObjectCollection) { return $this - ->useGroupModuleQuery() - ->filterByPrimaryKeys($groupModule->getPrimaryKeys()) + ->useProfileModuleQuery() + ->filterByPrimaryKeys($profileModule->getPrimaryKeys()) ->endUse(); } else { - throw new PropelException('filterByGroupModule() only accepts arguments of type \Thelia\Model\GroupModule or Collection'); + throw new PropelException('filterByProfileModule() only accepts arguments of type \Thelia\Model\ProfileModule or Collection'); } } /** - * Adds a JOIN clause to the query using the GroupModule relation + * Adds a JOIN clause to the query using the ProfileModule relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * * @return ChildModuleQuery The current query, for fluid interface */ - public function joinGroupModule($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + public function joinProfileModule($relationAlias = null, $joinType = Criteria::LEFT_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('GroupModule'); + $relationMap = $tableMap->getRelation('ProfileModule'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -841,14 +841,14 @@ abstract class ModuleQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'GroupModule'); + $this->addJoinObject($join, 'ProfileModule'); } return $this; } /** - * Use the GroupModule relation GroupModule object + * Use the ProfileModule relation ProfileModule object * * @see useQuery() * @@ -856,13 +856,13 @@ abstract class ModuleQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupModuleQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileModuleQuery A secondary query class using the current class as primary query */ - public function useGroupModuleQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + public function useProfileModuleQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) { return $this - ->joinGroupModule($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'GroupModule', '\Thelia\Model\GroupModuleQuery'); + ->joinProfileModule($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'ProfileModule', '\Thelia\Model\ProfileModuleQuery'); } /** diff --git a/core/lib/Thelia/Model/Base/OrderProduct.php b/core/lib/Thelia/Model/Base/OrderProduct.php index 69e927214..0cf8c80b6 100644 --- a/core/lib/Thelia/Model/Base/OrderProduct.php +++ b/core/lib/Thelia/Model/Base/OrderProduct.php @@ -145,6 +145,12 @@ abstract class OrderProduct implements ActiveRecordInterface */ protected $weight; + /** + * The value for the ean_code field. + * @var string + */ + protected $ean_code; + /** * The value for the tax_rule_title field. * @var string @@ -624,6 +630,17 @@ abstract class OrderProduct implements ActiveRecordInterface return $this->weight; } + /** + * Get the [ean_code] column value. + * + * @return string + */ + public function getEanCode() + { + + return $this->ean_code; + } + /** * Get the [tax_rule_title] column value. * @@ -995,6 +1012,27 @@ abstract class OrderProduct implements ActiveRecordInterface return $this; } // setWeight() + /** + * Set the value of [ean_code] column. + * + * @param string $v new value + * @return \Thelia\Model\OrderProduct The current object (for fluent API support) + */ + public function setEanCode($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->ean_code !== $v) { + $this->ean_code = $v; + $this->modifiedColumns[] = OrderProductTableMap::EAN_CODE; + } + + + return $this; + } // setEanCode() + /** * Set the value of [tax_rule_title] column. * @@ -1179,22 +1217,25 @@ abstract class OrderProduct implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : OrderProductTableMap::translateFieldName('Weight', TableMap::TYPE_PHPNAME, $indexType)]; $this->weight = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : OrderProductTableMap::translateFieldName('TaxRuleTitle', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : OrderProductTableMap::translateFieldName('EanCode', TableMap::TYPE_PHPNAME, $indexType)]; + $this->ean_code = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : OrderProductTableMap::translateFieldName('TaxRuleTitle', TableMap::TYPE_PHPNAME, $indexType)]; $this->tax_rule_title = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : OrderProductTableMap::translateFieldName('TaxRuleDescription', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : OrderProductTableMap::translateFieldName('TaxRuleDescription', TableMap::TYPE_PHPNAME, $indexType)]; $this->tax_rule_description = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : OrderProductTableMap::translateFieldName('Parent', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : OrderProductTableMap::translateFieldName('Parent', TableMap::TYPE_PHPNAME, $indexType)]; $this->parent = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : OrderProductTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 18 + $startcol : OrderProductTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 18 + $startcol : OrderProductTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 19 + $startcol : OrderProductTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -1207,7 +1248,7 @@ abstract class OrderProduct implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 19; // 19 = OrderProductTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 20; // 20 = OrderProductTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\OrderProduct object", 0, $e); @@ -1523,6 +1564,9 @@ abstract class OrderProduct implements ActiveRecordInterface if ($this->isColumnModified(OrderProductTableMap::WEIGHT)) { $modifiedColumns[':p' . $index++] = 'WEIGHT'; } + if ($this->isColumnModified(OrderProductTableMap::EAN_CODE)) { + $modifiedColumns[':p' . $index++] = 'EAN_CODE'; + } if ($this->isColumnModified(OrderProductTableMap::TAX_RULE_TITLE)) { $modifiedColumns[':p' . $index++] = 'TAX_RULE_TITLE'; } @@ -1591,6 +1635,9 @@ abstract class OrderProduct implements ActiveRecordInterface case 'WEIGHT': $stmt->bindValue($identifier, $this->weight, PDO::PARAM_STR); break; + case 'EAN_CODE': + $stmt->bindValue($identifier, $this->ean_code, PDO::PARAM_STR); + break; case 'TAX_RULE_TITLE': $stmt->bindValue($identifier, $this->tax_rule_title, PDO::PARAM_STR); break; @@ -1711,18 +1758,21 @@ abstract class OrderProduct implements ActiveRecordInterface return $this->getWeight(); break; case 14: - return $this->getTaxRuleTitle(); + return $this->getEanCode(); break; case 15: - return $this->getTaxRuleDescription(); + return $this->getTaxRuleTitle(); break; case 16: - return $this->getParent(); + return $this->getTaxRuleDescription(); break; case 17: - return $this->getCreatedAt(); + return $this->getParent(); break; case 18: + return $this->getCreatedAt(); + break; + case 19: return $this->getUpdatedAt(); break; default: @@ -1768,11 +1818,12 @@ abstract class OrderProduct implements ActiveRecordInterface $keys[11] => $this->getWasNew(), $keys[12] => $this->getWasInPromo(), $keys[13] => $this->getWeight(), - $keys[14] => $this->getTaxRuleTitle(), - $keys[15] => $this->getTaxRuleDescription(), - $keys[16] => $this->getParent(), - $keys[17] => $this->getCreatedAt(), - $keys[18] => $this->getUpdatedAt(), + $keys[14] => $this->getEanCode(), + $keys[15] => $this->getTaxRuleTitle(), + $keys[16] => $this->getTaxRuleDescription(), + $keys[17] => $this->getParent(), + $keys[18] => $this->getCreatedAt(), + $keys[19] => $this->getUpdatedAt(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -1866,18 +1917,21 @@ abstract class OrderProduct implements ActiveRecordInterface $this->setWeight($value); break; case 14: - $this->setTaxRuleTitle($value); + $this->setEanCode($value); break; case 15: - $this->setTaxRuleDescription($value); + $this->setTaxRuleTitle($value); break; case 16: - $this->setParent($value); + $this->setTaxRuleDescription($value); break; case 17: - $this->setCreatedAt($value); + $this->setParent($value); break; case 18: + $this->setCreatedAt($value); + break; + case 19: $this->setUpdatedAt($value); break; } // switch() @@ -1918,11 +1972,12 @@ abstract class OrderProduct implements ActiveRecordInterface if (array_key_exists($keys[11], $arr)) $this->setWasNew($arr[$keys[11]]); if (array_key_exists($keys[12], $arr)) $this->setWasInPromo($arr[$keys[12]]); if (array_key_exists($keys[13], $arr)) $this->setWeight($arr[$keys[13]]); - if (array_key_exists($keys[14], $arr)) $this->setTaxRuleTitle($arr[$keys[14]]); - if (array_key_exists($keys[15], $arr)) $this->setTaxRuleDescription($arr[$keys[15]]); - if (array_key_exists($keys[16], $arr)) $this->setParent($arr[$keys[16]]); - if (array_key_exists($keys[17], $arr)) $this->setCreatedAt($arr[$keys[17]]); - if (array_key_exists($keys[18], $arr)) $this->setUpdatedAt($arr[$keys[18]]); + if (array_key_exists($keys[14], $arr)) $this->setEanCode($arr[$keys[14]]); + if (array_key_exists($keys[15], $arr)) $this->setTaxRuleTitle($arr[$keys[15]]); + if (array_key_exists($keys[16], $arr)) $this->setTaxRuleDescription($arr[$keys[16]]); + if (array_key_exists($keys[17], $arr)) $this->setParent($arr[$keys[17]]); + if (array_key_exists($keys[18], $arr)) $this->setCreatedAt($arr[$keys[18]]); + if (array_key_exists($keys[19], $arr)) $this->setUpdatedAt($arr[$keys[19]]); } /** @@ -1948,6 +2003,7 @@ abstract class OrderProduct implements ActiveRecordInterface if ($this->isColumnModified(OrderProductTableMap::WAS_NEW)) $criteria->add(OrderProductTableMap::WAS_NEW, $this->was_new); if ($this->isColumnModified(OrderProductTableMap::WAS_IN_PROMO)) $criteria->add(OrderProductTableMap::WAS_IN_PROMO, $this->was_in_promo); if ($this->isColumnModified(OrderProductTableMap::WEIGHT)) $criteria->add(OrderProductTableMap::WEIGHT, $this->weight); + if ($this->isColumnModified(OrderProductTableMap::EAN_CODE)) $criteria->add(OrderProductTableMap::EAN_CODE, $this->ean_code); if ($this->isColumnModified(OrderProductTableMap::TAX_RULE_TITLE)) $criteria->add(OrderProductTableMap::TAX_RULE_TITLE, $this->tax_rule_title); if ($this->isColumnModified(OrderProductTableMap::TAX_RULE_DESCRIPTION)) $criteria->add(OrderProductTableMap::TAX_RULE_DESCRIPTION, $this->tax_rule_description); if ($this->isColumnModified(OrderProductTableMap::PARENT)) $criteria->add(OrderProductTableMap::PARENT, $this->parent); @@ -2029,6 +2085,7 @@ abstract class OrderProduct implements ActiveRecordInterface $copyObj->setWasNew($this->getWasNew()); $copyObj->setWasInPromo($this->getWasInPromo()); $copyObj->setWeight($this->getWeight()); + $copyObj->setEanCode($this->getEanCode()); $copyObj->setTaxRuleTitle($this->getTaxRuleTitle()); $copyObj->setTaxRuleDescription($this->getTaxRuleDescription()); $copyObj->setParent($this->getParent()); @@ -2607,6 +2664,7 @@ abstract class OrderProduct implements ActiveRecordInterface $this->was_new = null; $this->was_in_promo = null; $this->weight = null; + $this->ean_code = null; $this->tax_rule_title = null; $this->tax_rule_description = null; $this->parent = null; diff --git a/core/lib/Thelia/Model/Base/OrderProductQuery.php b/core/lib/Thelia/Model/Base/OrderProductQuery.php index f28102dfb..4bf32e83d 100644 --- a/core/lib/Thelia/Model/Base/OrderProductQuery.php +++ b/core/lib/Thelia/Model/Base/OrderProductQuery.php @@ -35,6 +35,7 @@ use Thelia\Model\Map\OrderProductTableMap; * @method ChildOrderProductQuery orderByWasNew($order = Criteria::ASC) Order by the was_new column * @method ChildOrderProductQuery orderByWasInPromo($order = Criteria::ASC) Order by the was_in_promo column * @method ChildOrderProductQuery orderByWeight($order = Criteria::ASC) Order by the weight column + * @method ChildOrderProductQuery orderByEanCode($order = Criteria::ASC) Order by the ean_code column * @method ChildOrderProductQuery orderByTaxRuleTitle($order = Criteria::ASC) Order by the tax_rule_title column * @method ChildOrderProductQuery orderByTaxRuleDescription($order = Criteria::ASC) Order by the tax_rule_description column * @method ChildOrderProductQuery orderByParent($order = Criteria::ASC) Order by the parent column @@ -55,6 +56,7 @@ use Thelia\Model\Map\OrderProductTableMap; * @method ChildOrderProductQuery groupByWasNew() Group by the was_new column * @method ChildOrderProductQuery groupByWasInPromo() Group by the was_in_promo column * @method ChildOrderProductQuery groupByWeight() Group by the weight column + * @method ChildOrderProductQuery groupByEanCode() Group by the ean_code column * @method ChildOrderProductQuery groupByTaxRuleTitle() Group by the tax_rule_title column * @method ChildOrderProductQuery groupByTaxRuleDescription() Group by the tax_rule_description column * @method ChildOrderProductQuery groupByParent() Group by the parent column @@ -94,6 +96,7 @@ use Thelia\Model\Map\OrderProductTableMap; * @method ChildOrderProduct findOneByWasNew(int $was_new) Return the first ChildOrderProduct filtered by the was_new column * @method ChildOrderProduct findOneByWasInPromo(int $was_in_promo) Return the first ChildOrderProduct filtered by the was_in_promo column * @method ChildOrderProduct findOneByWeight(string $weight) Return the first ChildOrderProduct filtered by the weight column + * @method ChildOrderProduct findOneByEanCode(string $ean_code) Return the first ChildOrderProduct filtered by the ean_code column * @method ChildOrderProduct findOneByTaxRuleTitle(string $tax_rule_title) Return the first ChildOrderProduct filtered by the tax_rule_title column * @method ChildOrderProduct findOneByTaxRuleDescription(string $tax_rule_description) Return the first ChildOrderProduct filtered by the tax_rule_description column * @method ChildOrderProduct findOneByParent(int $parent) Return the first ChildOrderProduct filtered by the parent column @@ -114,6 +117,7 @@ use Thelia\Model\Map\OrderProductTableMap; * @method array findByWasNew(int $was_new) Return ChildOrderProduct objects filtered by the was_new column * @method array findByWasInPromo(int $was_in_promo) Return ChildOrderProduct objects filtered by the was_in_promo column * @method array findByWeight(string $weight) Return ChildOrderProduct objects filtered by the weight column + * @method array findByEanCode(string $ean_code) Return ChildOrderProduct objects filtered by the ean_code column * @method array findByTaxRuleTitle(string $tax_rule_title) Return ChildOrderProduct objects filtered by the tax_rule_title column * @method array findByTaxRuleDescription(string $tax_rule_description) Return ChildOrderProduct objects filtered by the tax_rule_description column * @method array findByParent(int $parent) Return ChildOrderProduct objects filtered by the parent column @@ -207,7 +211,7 @@ abstract class OrderProductQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, ORDER_ID, PRODUCT_REF, PRODUCT_SALE_ELEMENTS_REF, TITLE, CHAPO, DESCRIPTION, POSTSCRIPTUM, QUANTITY, PRICE, PROMO_PRICE, WAS_NEW, WAS_IN_PROMO, WEIGHT, TAX_RULE_TITLE, TAX_RULE_DESCRIPTION, PARENT, CREATED_AT, UPDATED_AT FROM order_product WHERE ID = :p0'; + $sql = 'SELECT ID, ORDER_ID, PRODUCT_REF, PRODUCT_SALE_ELEMENTS_REF, TITLE, CHAPO, DESCRIPTION, POSTSCRIPTUM, QUANTITY, PRICE, PROMO_PRICE, WAS_NEW, WAS_IN_PROMO, WEIGHT, EAN_CODE, TAX_RULE_TITLE, TAX_RULE_DESCRIPTION, PARENT, CREATED_AT, UPDATED_AT FROM order_product WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -776,6 +780,35 @@ abstract class OrderProductQuery extends ModelCriteria return $this->addUsingAlias(OrderProductTableMap::WEIGHT, $weight, $comparison); } + /** + * Filter the query on the ean_code column + * + * Example usage: + * + * $query->filterByEanCode('fooValue'); // WHERE ean_code = 'fooValue' + * $query->filterByEanCode('%fooValue%'); // WHERE ean_code LIKE '%fooValue%' + * + * + * @param string $eanCode The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildOrderProductQuery The current query, for fluid interface + */ + public function filterByEanCode($eanCode = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($eanCode)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $eanCode)) { + $eanCode = str_replace('*', '%', $eanCode); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(OrderProductTableMap::EAN_CODE, $eanCode, $comparison); + } + /** * Filter the query on the tax_rule_title column * diff --git a/core/lib/Thelia/Model/Base/ProductSaleElements.php b/core/lib/Thelia/Model/Base/ProductSaleElements.php index e54b13155..7911b63f7 100644 --- a/core/lib/Thelia/Model/Base/ProductSaleElements.php +++ b/core/lib/Thelia/Model/Base/ProductSaleElements.php @@ -115,6 +115,12 @@ abstract class ProductSaleElements implements ActiveRecordInterface */ protected $is_default; + /** + * The value for the ean_code field. + * @var string + */ + protected $ean_code; + /** * The value for the created_at field. * @var string @@ -538,6 +544,17 @@ abstract class ProductSaleElements implements ActiveRecordInterface return $this->is_default; } + /** + * Get the [ean_code] column value. + * + * @return string + */ + public function getEanCode() + { + + return $this->ean_code; + } + /** * Get the [optionally formatted] temporal [created_at] column value. * @@ -758,6 +775,27 @@ abstract class ProductSaleElements implements ActiveRecordInterface return $this; } // setIsDefault() + /** + * Set the value of [ean_code] column. + * + * @param string $v new value + * @return \Thelia\Model\ProductSaleElements The current object (for fluent API support) + */ + public function setEanCode($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->ean_code !== $v) { + $this->ean_code = $v; + $this->modifiedColumns[] = ProductSaleElementsTableMap::EAN_CODE; + } + + + return $this; + } // setEanCode() + /** * Sets the value of [created_at] column to a normalized version of the date/time value specified. * @@ -877,13 +915,16 @@ abstract class ProductSaleElements implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : ProductSaleElementsTableMap::translateFieldName('IsDefault', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_default = (null !== $col) ? (boolean) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : ProductSaleElementsTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : ProductSaleElementsTableMap::translateFieldName('EanCode', TableMap::TYPE_PHPNAME, $indexType)]; + $this->ean_code = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : ProductSaleElementsTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : ProductSaleElementsTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : ProductSaleElementsTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -896,7 +937,7 @@ abstract class ProductSaleElements implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 10; // 10 = ProductSaleElementsTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 11; // 11 = ProductSaleElementsTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\ProductSaleElements object", 0, $e); @@ -1213,6 +1254,9 @@ abstract class ProductSaleElements implements ActiveRecordInterface if ($this->isColumnModified(ProductSaleElementsTableMap::IS_DEFAULT)) { $modifiedColumns[':p' . $index++] = 'IS_DEFAULT'; } + if ($this->isColumnModified(ProductSaleElementsTableMap::EAN_CODE)) { + $modifiedColumns[':p' . $index++] = 'EAN_CODE'; + } if ($this->isColumnModified(ProductSaleElementsTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = 'CREATED_AT'; } @@ -1254,6 +1298,9 @@ abstract class ProductSaleElements implements ActiveRecordInterface case 'IS_DEFAULT': $stmt->bindValue($identifier, (int) $this->is_default, PDO::PARAM_INT); break; + case 'EAN_CODE': + $stmt->bindValue($identifier, $this->ean_code, PDO::PARAM_STR); + break; case 'CREATED_AT': $stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR); break; @@ -1347,9 +1394,12 @@ abstract class ProductSaleElements implements ActiveRecordInterface return $this->getIsDefault(); break; case 8: - return $this->getCreatedAt(); + return $this->getEanCode(); break; case 9: + return $this->getCreatedAt(); + break; + case 10: return $this->getUpdatedAt(); break; default: @@ -1389,8 +1439,9 @@ abstract class ProductSaleElements implements ActiveRecordInterface $keys[5] => $this->getNewness(), $keys[6] => $this->getWeight(), $keys[7] => $this->getIsDefault(), - $keys[8] => $this->getCreatedAt(), - $keys[9] => $this->getUpdatedAt(), + $keys[8] => $this->getEanCode(), + $keys[9] => $this->getCreatedAt(), + $keys[10] => $this->getUpdatedAt(), ); $virtualColumns = $this->virtualColumns; foreach ($virtualColumns as $key => $virtualColumn) { @@ -1469,9 +1520,12 @@ abstract class ProductSaleElements implements ActiveRecordInterface $this->setIsDefault($value); break; case 8: - $this->setCreatedAt($value); + $this->setEanCode($value); break; case 9: + $this->setCreatedAt($value); + break; + case 10: $this->setUpdatedAt($value); break; } // switch() @@ -1506,8 +1560,9 @@ abstract class ProductSaleElements implements ActiveRecordInterface if (array_key_exists($keys[5], $arr)) $this->setNewness($arr[$keys[5]]); if (array_key_exists($keys[6], $arr)) $this->setWeight($arr[$keys[6]]); if (array_key_exists($keys[7], $arr)) $this->setIsDefault($arr[$keys[7]]); - if (array_key_exists($keys[8], $arr)) $this->setCreatedAt($arr[$keys[8]]); - if (array_key_exists($keys[9], $arr)) $this->setUpdatedAt($arr[$keys[9]]); + if (array_key_exists($keys[8], $arr)) $this->setEanCode($arr[$keys[8]]); + if (array_key_exists($keys[9], $arr)) $this->setCreatedAt($arr[$keys[9]]); + if (array_key_exists($keys[10], $arr)) $this->setUpdatedAt($arr[$keys[10]]); } /** @@ -1527,6 +1582,7 @@ abstract class ProductSaleElements implements ActiveRecordInterface if ($this->isColumnModified(ProductSaleElementsTableMap::NEWNESS)) $criteria->add(ProductSaleElementsTableMap::NEWNESS, $this->newness); if ($this->isColumnModified(ProductSaleElementsTableMap::WEIGHT)) $criteria->add(ProductSaleElementsTableMap::WEIGHT, $this->weight); if ($this->isColumnModified(ProductSaleElementsTableMap::IS_DEFAULT)) $criteria->add(ProductSaleElementsTableMap::IS_DEFAULT, $this->is_default); + if ($this->isColumnModified(ProductSaleElementsTableMap::EAN_CODE)) $criteria->add(ProductSaleElementsTableMap::EAN_CODE, $this->ean_code); if ($this->isColumnModified(ProductSaleElementsTableMap::CREATED_AT)) $criteria->add(ProductSaleElementsTableMap::CREATED_AT, $this->created_at); if ($this->isColumnModified(ProductSaleElementsTableMap::UPDATED_AT)) $criteria->add(ProductSaleElementsTableMap::UPDATED_AT, $this->updated_at); @@ -1599,6 +1655,7 @@ abstract class ProductSaleElements implements ActiveRecordInterface $copyObj->setNewness($this->getNewness()); $copyObj->setWeight($this->getWeight()); $copyObj->setIsDefault($this->getIsDefault()); + $copyObj->setEanCode($this->getEanCode()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); @@ -2526,6 +2583,7 @@ abstract class ProductSaleElements implements ActiveRecordInterface $this->newness = null; $this->weight = null; $this->is_default = null; + $this->ean_code = null; $this->created_at = null; $this->updated_at = null; $this->alreadyInSave = false; diff --git a/core/lib/Thelia/Model/Base/ProductSaleElementsQuery.php b/core/lib/Thelia/Model/Base/ProductSaleElementsQuery.php index c8201ed0b..3d169d24b 100644 --- a/core/lib/Thelia/Model/Base/ProductSaleElementsQuery.php +++ b/core/lib/Thelia/Model/Base/ProductSaleElementsQuery.php @@ -29,6 +29,7 @@ use Thelia\Model\Map\ProductSaleElementsTableMap; * @method ChildProductSaleElementsQuery orderByNewness($order = Criteria::ASC) Order by the newness column * @method ChildProductSaleElementsQuery orderByWeight($order = Criteria::ASC) Order by the weight column * @method ChildProductSaleElementsQuery orderByIsDefault($order = Criteria::ASC) Order by the is_default column + * @method ChildProductSaleElementsQuery orderByEanCode($order = Criteria::ASC) Order by the ean_code column * @method ChildProductSaleElementsQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column * @method ChildProductSaleElementsQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * @@ -40,6 +41,7 @@ use Thelia\Model\Map\ProductSaleElementsTableMap; * @method ChildProductSaleElementsQuery groupByNewness() Group by the newness column * @method ChildProductSaleElementsQuery groupByWeight() Group by the weight column * @method ChildProductSaleElementsQuery groupByIsDefault() Group by the is_default column + * @method ChildProductSaleElementsQuery groupByEanCode() Group by the ean_code column * @method ChildProductSaleElementsQuery groupByCreatedAt() Group by the created_at column * @method ChildProductSaleElementsQuery groupByUpdatedAt() Group by the updated_at column * @@ -74,6 +76,7 @@ use Thelia\Model\Map\ProductSaleElementsTableMap; * @method ChildProductSaleElements findOneByNewness(int $newness) Return the first ChildProductSaleElements filtered by the newness column * @method ChildProductSaleElements findOneByWeight(double $weight) Return the first ChildProductSaleElements filtered by the weight column * @method ChildProductSaleElements findOneByIsDefault(boolean $is_default) Return the first ChildProductSaleElements filtered by the is_default column + * @method ChildProductSaleElements findOneByEanCode(string $ean_code) Return the first ChildProductSaleElements filtered by the ean_code column * @method ChildProductSaleElements findOneByCreatedAt(string $created_at) Return the first ChildProductSaleElements filtered by the created_at column * @method ChildProductSaleElements findOneByUpdatedAt(string $updated_at) Return the first ChildProductSaleElements filtered by the updated_at column * @@ -85,6 +88,7 @@ use Thelia\Model\Map\ProductSaleElementsTableMap; * @method array findByNewness(int $newness) Return ChildProductSaleElements objects filtered by the newness column * @method array findByWeight(double $weight) Return ChildProductSaleElements objects filtered by the weight column * @method array findByIsDefault(boolean $is_default) Return ChildProductSaleElements objects filtered by the is_default column + * @method array findByEanCode(string $ean_code) Return ChildProductSaleElements objects filtered by the ean_code column * @method array findByCreatedAt(string $created_at) Return ChildProductSaleElements objects filtered by the created_at column * @method array findByUpdatedAt(string $updated_at) Return ChildProductSaleElements objects filtered by the updated_at column * @@ -175,7 +179,7 @@ abstract class ProductSaleElementsQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, PRODUCT_ID, REF, QUANTITY, PROMO, NEWNESS, WEIGHT, IS_DEFAULT, CREATED_AT, UPDATED_AT FROM product_sale_elements WHERE ID = :p0'; + $sql = 'SELECT ID, PRODUCT_ID, REF, QUANTITY, PROMO, NEWNESS, WEIGHT, IS_DEFAULT, EAN_CODE, CREATED_AT, UPDATED_AT FROM product_sale_elements WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -568,6 +572,35 @@ abstract class ProductSaleElementsQuery extends ModelCriteria return $this->addUsingAlias(ProductSaleElementsTableMap::IS_DEFAULT, $isDefault, $comparison); } + /** + * Filter the query on the ean_code column + * + * Example usage: + * + * $query->filterByEanCode('fooValue'); // WHERE ean_code = 'fooValue' + * $query->filterByEanCode('%fooValue%'); // WHERE ean_code LIKE '%fooValue%' + * + * + * @param string $eanCode The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildProductSaleElementsQuery The current query, for fluid interface + */ + public function filterByEanCode($eanCode = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($eanCode)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $eanCode)) { + $eanCode = str_replace('*', '%', $eanCode); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(ProductSaleElementsTableMap::EAN_CODE, $eanCode, $comparison); + } + /** * Filter the query on the created_at column * diff --git a/core/lib/Thelia/Model/Base/Group.php b/core/lib/Thelia/Model/Base/Profile.php similarity index 62% rename from core/lib/Thelia/Model/Base/Group.php rename to core/lib/Thelia/Model/Base/Profile.php index 751111952..2f75899d2 100644 --- a/core/lib/Thelia/Model/Base/Group.php +++ b/core/lib/Thelia/Model/Base/Profile.php @@ -18,27 +18,25 @@ use Propel\Runtime\Map\TableMap; use Propel\Runtime\Parser\AbstractParser; use Propel\Runtime\Util\PropelDateTime; use Thelia\Model\Admin as ChildAdmin; -use Thelia\Model\AdminGroup as ChildAdminGroup; -use Thelia\Model\AdminGroupQuery as ChildAdminGroupQuery; use Thelia\Model\AdminQuery as ChildAdminQuery; -use Thelia\Model\Group as ChildGroup; -use Thelia\Model\GroupI18n as ChildGroupI18n; -use Thelia\Model\GroupI18nQuery as ChildGroupI18nQuery; -use Thelia\Model\GroupModule as ChildGroupModule; -use Thelia\Model\GroupModuleQuery as ChildGroupModuleQuery; -use Thelia\Model\GroupQuery as ChildGroupQuery; -use Thelia\Model\GroupResource as ChildGroupResource; -use Thelia\Model\GroupResourceQuery as ChildGroupResourceQuery; +use Thelia\Model\Profile as ChildProfile; +use Thelia\Model\ProfileI18n as ChildProfileI18n; +use Thelia\Model\ProfileI18nQuery as ChildProfileI18nQuery; +use Thelia\Model\ProfileModule as ChildProfileModule; +use Thelia\Model\ProfileModuleQuery as ChildProfileModuleQuery; +use Thelia\Model\ProfileQuery as ChildProfileQuery; +use Thelia\Model\ProfileResource as ChildProfileResource; +use Thelia\Model\ProfileResourceQuery as ChildProfileResourceQuery; use Thelia\Model\Resource as ChildResource; use Thelia\Model\ResourceQuery as ChildResourceQuery; -use Thelia\Model\Map\GroupTableMap; +use Thelia\Model\Map\ProfileTableMap; -abstract class Group implements ActiveRecordInterface +abstract class Profile implements ActiveRecordInterface { /** * TableMap class name */ - const TABLE_MAP = '\\Thelia\\Model\\Map\\GroupTableMap'; + const TABLE_MAP = '\\Thelia\\Model\\Map\\ProfileTableMap'; /** @@ -92,33 +90,28 @@ abstract class Group implements ActiveRecordInterface protected $updated_at; /** - * @var ObjectCollection|ChildAdminGroup[] Collection to store aggregation of ChildAdminGroup objects. - */ - protected $collAdminGroups; - protected $collAdminGroupsPartial; - - /** - * @var ObjectCollection|ChildGroupResource[] Collection to store aggregation of ChildGroupResource objects. - */ - protected $collGroupResources; - protected $collGroupResourcesPartial; - - /** - * @var ObjectCollection|ChildGroupModule[] Collection to store aggregation of ChildGroupModule objects. - */ - protected $collGroupModules; - protected $collGroupModulesPartial; - - /** - * @var ObjectCollection|ChildGroupI18n[] Collection to store aggregation of ChildGroupI18n objects. - */ - protected $collGroupI18ns; - protected $collGroupI18nsPartial; - - /** - * @var ChildAdmin[] Collection to store aggregation of ChildAdmin objects. + * @var ObjectCollection|ChildAdmin[] Collection to store aggregation of ChildAdmin objects. */ protected $collAdmins; + protected $collAdminsPartial; + + /** + * @var ObjectCollection|ChildProfileResource[] Collection to store aggregation of ChildProfileResource objects. + */ + protected $collProfileResources; + protected $collProfileResourcesPartial; + + /** + * @var ObjectCollection|ChildProfileModule[] Collection to store aggregation of ChildProfileModule objects. + */ + protected $collProfileModules; + protected $collProfileModulesPartial; + + /** + * @var ObjectCollection|ChildProfileI18n[] Collection to store aggregation of ChildProfileI18n objects. + */ + protected $collProfileI18ns; + protected $collProfileI18nsPartial; /** * @var ChildResource[] Collection to store aggregation of ChildResource objects. @@ -143,16 +136,10 @@ abstract class Group implements ActiveRecordInterface /** * Current translation objects - * @var array[ChildGroupI18n] + * @var array[ChildProfileI18n] */ protected $currentTranslations; - /** - * An array of objects scheduled for deletion. - * @var ObjectCollection - */ - protected $adminsScheduledForDeletion = null; - /** * An array of objects scheduled for deletion. * @var ObjectCollection @@ -163,28 +150,28 @@ abstract class Group implements ActiveRecordInterface * An array of objects scheduled for deletion. * @var ObjectCollection */ - protected $adminGroupsScheduledForDeletion = null; + protected $adminsScheduledForDeletion = null; /** * An array of objects scheduled for deletion. * @var ObjectCollection */ - protected $groupResourcesScheduledForDeletion = null; + protected $profileResourcesScheduledForDeletion = null; /** * An array of objects scheduled for deletion. * @var ObjectCollection */ - protected $groupModulesScheduledForDeletion = null; + protected $profileModulesScheduledForDeletion = null; /** * An array of objects scheduled for deletion. * @var ObjectCollection */ - protected $groupI18nsScheduledForDeletion = null; + protected $profileI18nsScheduledForDeletion = null; /** - * Initializes internal state of Thelia\Model\Base\Group object. + * Initializes internal state of Thelia\Model\Base\Profile object. */ public function __construct() { @@ -279,9 +266,9 @@ abstract class Group implements ActiveRecordInterface } /** - * Compares this with another Group instance. If - * obj is an instance of Group, delegates to - * equals(Group). Otherwise, returns false. + * Compares this with another Profile instance. If + * obj is an instance of Profile, delegates to + * equals(Profile). Otherwise, returns false. * * @param mixed $obj The object to compare to. * @return boolean Whether equal to the object specified. @@ -364,7 +351,7 @@ abstract class Group implements ActiveRecordInterface * @param string $name The virtual column name * @param mixed $value The value to give to the virtual column * - * @return Group The current object, for fluid interface + * @return Profile The current object, for fluid interface */ public function setVirtualColumn($name, $value) { @@ -396,7 +383,7 @@ abstract class Group implements ActiveRecordInterface * or a format name ('XML', 'YAML', 'JSON', 'CSV') * @param string $data The source data to import from * - * @return Group The current object, for fluid interface + * @return Profile The current object, for fluid interface */ public function importFrom($parser, $data) { @@ -507,7 +494,7 @@ abstract class Group implements ActiveRecordInterface * Set the value of [id] column. * * @param int $v new value - * @return \Thelia\Model\Group The current object (for fluent API support) + * @return \Thelia\Model\Profile The current object (for fluent API support) */ public function setId($v) { @@ -517,7 +504,7 @@ abstract class Group implements ActiveRecordInterface if ($this->id !== $v) { $this->id = $v; - $this->modifiedColumns[] = GroupTableMap::ID; + $this->modifiedColumns[] = ProfileTableMap::ID; } @@ -528,7 +515,7 @@ abstract class Group implements ActiveRecordInterface * Set the value of [code] column. * * @param string $v new value - * @return \Thelia\Model\Group The current object (for fluent API support) + * @return \Thelia\Model\Profile The current object (for fluent API support) */ public function setCode($v) { @@ -538,7 +525,7 @@ abstract class Group implements ActiveRecordInterface if ($this->code !== $v) { $this->code = $v; - $this->modifiedColumns[] = GroupTableMap::CODE; + $this->modifiedColumns[] = ProfileTableMap::CODE; } @@ -550,7 +537,7 @@ abstract class Group implements ActiveRecordInterface * * @param mixed $v string, integer (timestamp), or \DateTime value. * Empty strings are treated as NULL. - * @return \Thelia\Model\Group The current object (for fluent API support) + * @return \Thelia\Model\Profile The current object (for fluent API support) */ public function setCreatedAt($v) { @@ -558,7 +545,7 @@ abstract class Group implements ActiveRecordInterface if ($this->created_at !== null || $dt !== null) { if ($dt !== $this->created_at) { $this->created_at = $dt; - $this->modifiedColumns[] = GroupTableMap::CREATED_AT; + $this->modifiedColumns[] = ProfileTableMap::CREATED_AT; } } // if either are not null @@ -571,7 +558,7 @@ abstract class Group implements ActiveRecordInterface * * @param mixed $v string, integer (timestamp), or \DateTime value. * Empty strings are treated as NULL. - * @return \Thelia\Model\Group The current object (for fluent API support) + * @return \Thelia\Model\Profile The current object (for fluent API support) */ public function setUpdatedAt($v) { @@ -579,7 +566,7 @@ abstract class Group implements ActiveRecordInterface if ($this->updated_at !== null || $dt !== null) { if ($dt !== $this->updated_at) { $this->updated_at = $dt; - $this->modifiedColumns[] = GroupTableMap::UPDATED_AT; + $this->modifiedColumns[] = ProfileTableMap::UPDATED_AT; } } // if either are not null @@ -624,19 +611,19 @@ abstract class Group implements ActiveRecordInterface try { - $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : GroupTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : ProfileTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; $this->id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : GroupTableMap::translateFieldName('Code', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : ProfileTableMap::translateFieldName('Code', TableMap::TYPE_PHPNAME, $indexType)]; $this->code = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : GroupTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : ProfileTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : GroupTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : ProfileTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -649,10 +636,10 @@ abstract class Group implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 4; // 4 = GroupTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 4; // 4 = ProfileTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { - throw new PropelException("Error populating \Thelia\Model\Group object", 0, $e); + throw new PropelException("Error populating \Thelia\Model\Profile object", 0, $e); } } @@ -694,13 +681,13 @@ abstract class Group implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileTableMap::DATABASE_NAME); } // We don't need to alter the object instance pool; we're just modifying this instance // already in the pool. - $dataFetcher = ChildGroupQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $dataFetcher = ChildProfileQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); $row = $dataFetcher->fetch(); $dataFetcher->close(); if (!$row) { @@ -710,15 +697,14 @@ abstract class Group implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? - $this->collAdminGroups = null; - - $this->collGroupResources = null; - - $this->collGroupModules = null; - - $this->collGroupI18ns = null; - $this->collAdmins = null; + + $this->collProfileResources = null; + + $this->collProfileModules = null; + + $this->collProfileI18ns = null; + $this->collResources = null; } // if (deep) } @@ -729,8 +715,8 @@ abstract class Group implements ActiveRecordInterface * @param ConnectionInterface $con * @return void * @throws PropelException - * @see Group::setDeleted() - * @see Group::isDeleted() + * @see Profile::setDeleted() + * @see Profile::isDeleted() */ public function delete(ConnectionInterface $con = null) { @@ -739,12 +725,12 @@ abstract class Group implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileTableMap::DATABASE_NAME); } $con->beginTransaction(); try { - $deleteQuery = ChildGroupQuery::create() + $deleteQuery = ChildProfileQuery::create() ->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { @@ -781,7 +767,7 @@ abstract class Group implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileTableMap::DATABASE_NAME); } $con->beginTransaction(); @@ -791,16 +777,16 @@ abstract class Group implements ActiveRecordInterface if ($isInsert) { $ret = $ret && $this->preInsert($con); // timestampable behavior - if (!$this->isColumnModified(GroupTableMap::CREATED_AT)) { + if (!$this->isColumnModified(ProfileTableMap::CREATED_AT)) { $this->setCreatedAt(time()); } - if (!$this->isColumnModified(GroupTableMap::UPDATED_AT)) { + if (!$this->isColumnModified(ProfileTableMap::UPDATED_AT)) { $this->setUpdatedAt(time()); } } else { $ret = $ret && $this->preUpdate($con); // timestampable behavior - if ($this->isModified() && !$this->isColumnModified(GroupTableMap::UPDATED_AT)) { + if ($this->isModified() && !$this->isColumnModified(ProfileTableMap::UPDATED_AT)) { $this->setUpdatedAt(time()); } } @@ -812,7 +798,7 @@ abstract class Group implements ActiveRecordInterface $this->postUpdate($con); } $this->postSave($con); - GroupTableMap::addInstanceToPool($this); + ProfileTableMap::addInstanceToPool($this); } else { $affectedRows = 0; } @@ -853,33 +839,6 @@ abstract class Group implements ActiveRecordInterface $this->resetModified(); } - if ($this->adminsScheduledForDeletion !== null) { - if (!$this->adminsScheduledForDeletion->isEmpty()) { - $pks = array(); - $pk = $this->getPrimaryKey(); - foreach ($this->adminsScheduledForDeletion->getPrimaryKeys(false) as $remotePk) { - $pks[] = array($pk, $remotePk); - } - - AdminGroupQuery::create() - ->filterByPrimaryKeys($pks) - ->delete($con); - $this->adminsScheduledForDeletion = null; - } - - foreach ($this->getAdmins() as $admin) { - if ($admin->isModified()) { - $admin->save($con); - } - } - } elseif ($this->collAdmins) { - foreach ($this->collAdmins as $admin) { - if ($admin->isModified()) { - $admin->save($con); - } - } - } - if ($this->resourcesScheduledForDeletion !== null) { if (!$this->resourcesScheduledForDeletion->isEmpty()) { $pks = array(); @@ -888,7 +847,7 @@ abstract class Group implements ActiveRecordInterface $pks[] = array($pk, $remotePk); } - GroupResourceQuery::create() + ProfileResourceQuery::create() ->filterByPrimaryKeys($pks) ->delete($con); $this->resourcesScheduledForDeletion = null; @@ -907,68 +866,69 @@ abstract class Group implements ActiveRecordInterface } } - if ($this->adminGroupsScheduledForDeletion !== null) { - if (!$this->adminGroupsScheduledForDeletion->isEmpty()) { - \Thelia\Model\AdminGroupQuery::create() - ->filterByPrimaryKeys($this->adminGroupsScheduledForDeletion->getPrimaryKeys(false)) - ->delete($con); - $this->adminGroupsScheduledForDeletion = null; + if ($this->adminsScheduledForDeletion !== null) { + if (!$this->adminsScheduledForDeletion->isEmpty()) { + foreach ($this->adminsScheduledForDeletion as $admin) { + // need to save related object because we set the relation to null + $admin->save($con); + } + $this->adminsScheduledForDeletion = null; } } - if ($this->collAdminGroups !== null) { - foreach ($this->collAdminGroups as $referrerFK) { + if ($this->collAdmins !== null) { + foreach ($this->collAdmins as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } } } - if ($this->groupResourcesScheduledForDeletion !== null) { - if (!$this->groupResourcesScheduledForDeletion->isEmpty()) { - \Thelia\Model\GroupResourceQuery::create() - ->filterByPrimaryKeys($this->groupResourcesScheduledForDeletion->getPrimaryKeys(false)) + if ($this->profileResourcesScheduledForDeletion !== null) { + if (!$this->profileResourcesScheduledForDeletion->isEmpty()) { + \Thelia\Model\ProfileResourceQuery::create() + ->filterByPrimaryKeys($this->profileResourcesScheduledForDeletion->getPrimaryKeys(false)) ->delete($con); - $this->groupResourcesScheduledForDeletion = null; + $this->profileResourcesScheduledForDeletion = null; } } - if ($this->collGroupResources !== null) { - foreach ($this->collGroupResources as $referrerFK) { + if ($this->collProfileResources !== null) { + foreach ($this->collProfileResources as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } } } - if ($this->groupModulesScheduledForDeletion !== null) { - if (!$this->groupModulesScheduledForDeletion->isEmpty()) { - \Thelia\Model\GroupModuleQuery::create() - ->filterByPrimaryKeys($this->groupModulesScheduledForDeletion->getPrimaryKeys(false)) + if ($this->profileModulesScheduledForDeletion !== null) { + if (!$this->profileModulesScheduledForDeletion->isEmpty()) { + \Thelia\Model\ProfileModuleQuery::create() + ->filterByPrimaryKeys($this->profileModulesScheduledForDeletion->getPrimaryKeys(false)) ->delete($con); - $this->groupModulesScheduledForDeletion = null; + $this->profileModulesScheduledForDeletion = null; } } - if ($this->collGroupModules !== null) { - foreach ($this->collGroupModules as $referrerFK) { + if ($this->collProfileModules !== null) { + foreach ($this->collProfileModules as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } } } - if ($this->groupI18nsScheduledForDeletion !== null) { - if (!$this->groupI18nsScheduledForDeletion->isEmpty()) { - \Thelia\Model\GroupI18nQuery::create() - ->filterByPrimaryKeys($this->groupI18nsScheduledForDeletion->getPrimaryKeys(false)) + if ($this->profileI18nsScheduledForDeletion !== null) { + if (!$this->profileI18nsScheduledForDeletion->isEmpty()) { + \Thelia\Model\ProfileI18nQuery::create() + ->filterByPrimaryKeys($this->profileI18nsScheduledForDeletion->getPrimaryKeys(false)) ->delete($con); - $this->groupI18nsScheduledForDeletion = null; + $this->profileI18nsScheduledForDeletion = null; } } - if ($this->collGroupI18ns !== null) { - foreach ($this->collGroupI18ns as $referrerFK) { + if ($this->collProfileI18ns !== null) { + foreach ($this->collProfileI18ns as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } @@ -995,27 +955,27 @@ abstract class Group implements ActiveRecordInterface $modifiedColumns = array(); $index = 0; - $this->modifiedColumns[] = GroupTableMap::ID; + $this->modifiedColumns[] = ProfileTableMap::ID; if (null !== $this->id) { - throw new PropelException('Cannot insert a value for auto-increment primary key (' . GroupTableMap::ID . ')'); + throw new PropelException('Cannot insert a value for auto-increment primary key (' . ProfileTableMap::ID . ')'); } // check the columns in natural order for more readable SQL queries - if ($this->isColumnModified(GroupTableMap::ID)) { + if ($this->isColumnModified(ProfileTableMap::ID)) { $modifiedColumns[':p' . $index++] = 'ID'; } - if ($this->isColumnModified(GroupTableMap::CODE)) { + if ($this->isColumnModified(ProfileTableMap::CODE)) { $modifiedColumns[':p' . $index++] = 'CODE'; } - if ($this->isColumnModified(GroupTableMap::CREATED_AT)) { + if ($this->isColumnModified(ProfileTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = 'CREATED_AT'; } - if ($this->isColumnModified(GroupTableMap::UPDATED_AT)) { + if ($this->isColumnModified(ProfileTableMap::UPDATED_AT)) { $modifiedColumns[':p' . $index++] = 'UPDATED_AT'; } $sql = sprintf( - 'INSERT INTO group (%s) VALUES (%s)', + 'INSERT INTO profile (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)) ); @@ -1082,7 +1042,7 @@ abstract class Group implements ActiveRecordInterface */ public function getByName($name, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); $field = $this->getByPosition($pos); return $field; @@ -1133,11 +1093,11 @@ abstract class Group implements ActiveRecordInterface */ public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) { - if (isset($alreadyDumpedObjects['Group'][$this->getPrimaryKey()])) { + if (isset($alreadyDumpedObjects['Profile'][$this->getPrimaryKey()])) { return '*RECURSION*'; } - $alreadyDumpedObjects['Group'][$this->getPrimaryKey()] = true; - $keys = GroupTableMap::getFieldNames($keyType); + $alreadyDumpedObjects['Profile'][$this->getPrimaryKey()] = true; + $keys = ProfileTableMap::getFieldNames($keyType); $result = array( $keys[0] => $this->getId(), $keys[1] => $this->getCode(), @@ -1150,17 +1110,17 @@ abstract class Group implements ActiveRecordInterface } if ($includeForeignObjects) { - if (null !== $this->collAdminGroups) { - $result['AdminGroups'] = $this->collAdminGroups->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + if (null !== $this->collAdmins) { + $result['Admins'] = $this->collAdmins->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } - if (null !== $this->collGroupResources) { - $result['GroupResources'] = $this->collGroupResources->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + if (null !== $this->collProfileResources) { + $result['ProfileResources'] = $this->collProfileResources->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } - if (null !== $this->collGroupModules) { - $result['GroupModules'] = $this->collGroupModules->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + if (null !== $this->collProfileModules) { + $result['ProfileModules'] = $this->collProfileModules->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } - if (null !== $this->collGroupI18ns) { - $result['GroupI18ns'] = $this->collGroupI18ns->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + if (null !== $this->collProfileI18ns) { + $result['ProfileI18ns'] = $this->collProfileI18ns->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } } @@ -1180,7 +1140,7 @@ abstract class Group implements ActiveRecordInterface */ public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); return $this->setByPosition($pos, $value); } @@ -1230,7 +1190,7 @@ abstract class Group implements ActiveRecordInterface */ public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) { - $keys = GroupTableMap::getFieldNames($keyType); + $keys = ProfileTableMap::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); if (array_key_exists($keys[1], $arr)) $this->setCode($arr[$keys[1]]); @@ -1245,12 +1205,12 @@ abstract class Group implements ActiveRecordInterface */ public function buildCriteria() { - $criteria = new Criteria(GroupTableMap::DATABASE_NAME); + $criteria = new Criteria(ProfileTableMap::DATABASE_NAME); - if ($this->isColumnModified(GroupTableMap::ID)) $criteria->add(GroupTableMap::ID, $this->id); - if ($this->isColumnModified(GroupTableMap::CODE)) $criteria->add(GroupTableMap::CODE, $this->code); - if ($this->isColumnModified(GroupTableMap::CREATED_AT)) $criteria->add(GroupTableMap::CREATED_AT, $this->created_at); - if ($this->isColumnModified(GroupTableMap::UPDATED_AT)) $criteria->add(GroupTableMap::UPDATED_AT, $this->updated_at); + if ($this->isColumnModified(ProfileTableMap::ID)) $criteria->add(ProfileTableMap::ID, $this->id); + if ($this->isColumnModified(ProfileTableMap::CODE)) $criteria->add(ProfileTableMap::CODE, $this->code); + if ($this->isColumnModified(ProfileTableMap::CREATED_AT)) $criteria->add(ProfileTableMap::CREATED_AT, $this->created_at); + if ($this->isColumnModified(ProfileTableMap::UPDATED_AT)) $criteria->add(ProfileTableMap::UPDATED_AT, $this->updated_at); return $criteria; } @@ -1265,8 +1225,8 @@ abstract class Group implements ActiveRecordInterface */ public function buildPkeyCriteria() { - $criteria = new Criteria(GroupTableMap::DATABASE_NAME); - $criteria->add(GroupTableMap::ID, $this->id); + $criteria = new Criteria(ProfileTableMap::DATABASE_NAME); + $criteria->add(ProfileTableMap::ID, $this->id); return $criteria; } @@ -1307,7 +1267,7 @@ abstract class Group implements ActiveRecordInterface * If desired, this method can also make copies of all associated (fkey referrers) * objects. * - * @param object $copyObj An object of \Thelia\Model\Group (or compatible) type. + * @param object $copyObj An object of \Thelia\Model\Profile (or compatible) type. * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. * @throws PropelException @@ -1323,27 +1283,27 @@ abstract class Group implements ActiveRecordInterface // the getter/setter methods for fkey referrer objects. $copyObj->setNew(false); - foreach ($this->getAdminGroups() as $relObj) { + foreach ($this->getAdmins() as $relObj) { if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addAdminGroup($relObj->copy($deepCopy)); + $copyObj->addAdmin($relObj->copy($deepCopy)); } } - foreach ($this->getGroupResources() as $relObj) { + foreach ($this->getProfileResources() as $relObj) { if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addGroupResource($relObj->copy($deepCopy)); + $copyObj->addProfileResource($relObj->copy($deepCopy)); } } - foreach ($this->getGroupModules() as $relObj) { + foreach ($this->getProfileModules() as $relObj) { if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addGroupModule($relObj->copy($deepCopy)); + $copyObj->addProfileModule($relObj->copy($deepCopy)); } } - foreach ($this->getGroupI18ns() as $relObj) { + foreach ($this->getProfileI18ns() as $relObj) { if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addGroupI18n($relObj->copy($deepCopy)); + $copyObj->addProfileI18n($relObj->copy($deepCopy)); } } @@ -1364,7 +1324,7 @@ abstract class Group implements ActiveRecordInterface * objects. * * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. - * @return \Thelia\Model\Group Clone of current object. + * @return \Thelia\Model\Profile Clone of current object. * @throws PropelException */ public function copy($deepCopy = false) @@ -1388,980 +1348,20 @@ abstract class Group implements ActiveRecordInterface */ public function initRelation($relationName) { - if ('AdminGroup' == $relationName) { - return $this->initAdminGroups(); + if ('Admin' == $relationName) { + return $this->initAdmins(); } - if ('GroupResource' == $relationName) { - return $this->initGroupResources(); + if ('ProfileResource' == $relationName) { + return $this->initProfileResources(); } - if ('GroupModule' == $relationName) { - return $this->initGroupModules(); + if ('ProfileModule' == $relationName) { + return $this->initProfileModules(); } - if ('GroupI18n' == $relationName) { - return $this->initGroupI18ns(); + if ('ProfileI18n' == $relationName) { + return $this->initProfileI18ns(); } } - /** - * Clears out the collAdminGroups collection - * - * This does not modify the database; however, it will remove any associated objects, causing - * them to be refetched by subsequent calls to accessor method. - * - * @return void - * @see addAdminGroups() - */ - public function clearAdminGroups() - { - $this->collAdminGroups = null; // important to set this to NULL since that means it is uninitialized - } - - /** - * Reset is the collAdminGroups collection loaded partially. - */ - public function resetPartialAdminGroups($v = true) - { - $this->collAdminGroupsPartial = $v; - } - - /** - * Initializes the collAdminGroups collection. - * - * By default this just sets the collAdminGroups collection to an empty array (like clearcollAdminGroups()); - * however, you may wish to override this method in your stub class to provide setting appropriate - * to your application -- for example, setting the initial array to the values stored in database. - * - * @param boolean $overrideExisting If set to true, the method call initializes - * the collection even if it is not empty - * - * @return void - */ - public function initAdminGroups($overrideExisting = true) - { - if (null !== $this->collAdminGroups && !$overrideExisting) { - return; - } - $this->collAdminGroups = new ObjectCollection(); - $this->collAdminGroups->setModel('\Thelia\Model\AdminGroup'); - } - - /** - * Gets an array of ChildAdminGroup objects which contain a foreign key that references this object. - * - * If the $criteria is not null, it is used to always fetch the results from the database. - * Otherwise the results are fetched from the database the first time, then cached. - * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildGroup is new, it will return - * an empty collection or the current collection; the criteria is ignored on a new object. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @return Collection|ChildAdminGroup[] List of ChildAdminGroup objects - * @throws PropelException - */ - public function getAdminGroups($criteria = null, ConnectionInterface $con = null) - { - $partial = $this->collAdminGroupsPartial && !$this->isNew(); - if (null === $this->collAdminGroups || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collAdminGroups) { - // return empty collection - $this->initAdminGroups(); - } else { - $collAdminGroups = ChildAdminGroupQuery::create(null, $criteria) - ->filterByGroup($this) - ->find($con); - - if (null !== $criteria) { - if (false !== $this->collAdminGroupsPartial && count($collAdminGroups)) { - $this->initAdminGroups(false); - - foreach ($collAdminGroups as $obj) { - if (false == $this->collAdminGroups->contains($obj)) { - $this->collAdminGroups->append($obj); - } - } - - $this->collAdminGroupsPartial = true; - } - - $collAdminGroups->getInternalIterator()->rewind(); - - return $collAdminGroups; - } - - if ($partial && $this->collAdminGroups) { - foreach ($this->collAdminGroups as $obj) { - if ($obj->isNew()) { - $collAdminGroups[] = $obj; - } - } - } - - $this->collAdminGroups = $collAdminGroups; - $this->collAdminGroupsPartial = false; - } - } - - return $this->collAdminGroups; - } - - /** - * Sets a collection of AdminGroup objects related by a one-to-many relationship - * to the current object. - * It will also schedule objects for deletion based on a diff between old objects (aka persisted) - * and new objects from the given Propel collection. - * - * @param Collection $adminGroups A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildGroup The current object (for fluent API support) - */ - public function setAdminGroups(Collection $adminGroups, ConnectionInterface $con = null) - { - $adminGroupsToDelete = $this->getAdminGroups(new Criteria(), $con)->diff($adminGroups); - - - //since at least one column in the foreign key is at the same time a PK - //we can not just set a PK to NULL in the lines below. We have to store - //a backup of all values, so we are able to manipulate these items based on the onDelete value later. - $this->adminGroupsScheduledForDeletion = clone $adminGroupsToDelete; - - foreach ($adminGroupsToDelete as $adminGroupRemoved) { - $adminGroupRemoved->setGroup(null); - } - - $this->collAdminGroups = null; - foreach ($adminGroups as $adminGroup) { - $this->addAdminGroup($adminGroup); - } - - $this->collAdminGroups = $adminGroups; - $this->collAdminGroupsPartial = false; - - return $this; - } - - /** - * Returns the number of related AdminGroup objects. - * - * @param Criteria $criteria - * @param boolean $distinct - * @param ConnectionInterface $con - * @return int Count of related AdminGroup objects. - * @throws PropelException - */ - public function countAdminGroups(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) - { - $partial = $this->collAdminGroupsPartial && !$this->isNew(); - if (null === $this->collAdminGroups || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collAdminGroups) { - return 0; - } - - if ($partial && !$criteria) { - return count($this->getAdminGroups()); - } - - $query = ChildAdminGroupQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByGroup($this) - ->count($con); - } - - return count($this->collAdminGroups); - } - - /** - * Method called to associate a ChildAdminGroup object to this object - * through the ChildAdminGroup foreign key attribute. - * - * @param ChildAdminGroup $l ChildAdminGroup - * @return \Thelia\Model\Group The current object (for fluent API support) - */ - public function addAdminGroup(ChildAdminGroup $l) - { - if ($this->collAdminGroups === null) { - $this->initAdminGroups(); - $this->collAdminGroupsPartial = true; - } - - if (!in_array($l, $this->collAdminGroups->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddAdminGroup($l); - } - - return $this; - } - - /** - * @param AdminGroup $adminGroup The adminGroup object to add. - */ - protected function doAddAdminGroup($adminGroup) - { - $this->collAdminGroups[]= $adminGroup; - $adminGroup->setGroup($this); - } - - /** - * @param AdminGroup $adminGroup The adminGroup object to remove. - * @return ChildGroup The current object (for fluent API support) - */ - public function removeAdminGroup($adminGroup) - { - if ($this->getAdminGroups()->contains($adminGroup)) { - $this->collAdminGroups->remove($this->collAdminGroups->search($adminGroup)); - if (null === $this->adminGroupsScheduledForDeletion) { - $this->adminGroupsScheduledForDeletion = clone $this->collAdminGroups; - $this->adminGroupsScheduledForDeletion->clear(); - } - $this->adminGroupsScheduledForDeletion[]= clone $adminGroup; - $adminGroup->setGroup(null); - } - - return $this; - } - - - /** - * If this collection has already been initialized with - * an identical criteria, it returns the collection. - * Otherwise if this Group is new, it will return - * an empty collection; or if this Group has previously - * been saved, it will retrieve related AdminGroups from storage. - * - * This method is protected by default in order to keep the public - * api reasonable. You can provide public methods for those you - * actually need in Group. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildAdminGroup[] List of ChildAdminGroup objects - */ - public function getAdminGroupsJoinAdmin($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) - { - $query = ChildAdminGroupQuery::create(null, $criteria); - $query->joinWith('Admin', $joinBehavior); - - return $this->getAdminGroups($query, $con); - } - - /** - * Clears out the collGroupResources collection - * - * This does not modify the database; however, it will remove any associated objects, causing - * them to be refetched by subsequent calls to accessor method. - * - * @return void - * @see addGroupResources() - */ - public function clearGroupResources() - { - $this->collGroupResources = null; // important to set this to NULL since that means it is uninitialized - } - - /** - * Reset is the collGroupResources collection loaded partially. - */ - public function resetPartialGroupResources($v = true) - { - $this->collGroupResourcesPartial = $v; - } - - /** - * Initializes the collGroupResources collection. - * - * By default this just sets the collGroupResources collection to an empty array (like clearcollGroupResources()); - * however, you may wish to override this method in your stub class to provide setting appropriate - * to your application -- for example, setting the initial array to the values stored in database. - * - * @param boolean $overrideExisting If set to true, the method call initializes - * the collection even if it is not empty - * - * @return void - */ - public function initGroupResources($overrideExisting = true) - { - if (null !== $this->collGroupResources && !$overrideExisting) { - return; - } - $this->collGroupResources = new ObjectCollection(); - $this->collGroupResources->setModel('\Thelia\Model\GroupResource'); - } - - /** - * Gets an array of ChildGroupResource objects which contain a foreign key that references this object. - * - * If the $criteria is not null, it is used to always fetch the results from the database. - * Otherwise the results are fetched from the database the first time, then cached. - * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildGroup is new, it will return - * an empty collection or the current collection; the criteria is ignored on a new object. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @return Collection|ChildGroupResource[] List of ChildGroupResource objects - * @throws PropelException - */ - public function getGroupResources($criteria = null, ConnectionInterface $con = null) - { - $partial = $this->collGroupResourcesPartial && !$this->isNew(); - if (null === $this->collGroupResources || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupResources) { - // return empty collection - $this->initGroupResources(); - } else { - $collGroupResources = ChildGroupResourceQuery::create(null, $criteria) - ->filterByGroup($this) - ->find($con); - - if (null !== $criteria) { - if (false !== $this->collGroupResourcesPartial && count($collGroupResources)) { - $this->initGroupResources(false); - - foreach ($collGroupResources as $obj) { - if (false == $this->collGroupResources->contains($obj)) { - $this->collGroupResources->append($obj); - } - } - - $this->collGroupResourcesPartial = true; - } - - $collGroupResources->getInternalIterator()->rewind(); - - return $collGroupResources; - } - - if ($partial && $this->collGroupResources) { - foreach ($this->collGroupResources as $obj) { - if ($obj->isNew()) { - $collGroupResources[] = $obj; - } - } - } - - $this->collGroupResources = $collGroupResources; - $this->collGroupResourcesPartial = false; - } - } - - return $this->collGroupResources; - } - - /** - * Sets a collection of GroupResource objects related by a one-to-many relationship - * to the current object. - * It will also schedule objects for deletion based on a diff between old objects (aka persisted) - * and new objects from the given Propel collection. - * - * @param Collection $groupResources A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildGroup The current object (for fluent API support) - */ - public function setGroupResources(Collection $groupResources, ConnectionInterface $con = null) - { - $groupResourcesToDelete = $this->getGroupResources(new Criteria(), $con)->diff($groupResources); - - - //since at least one column in the foreign key is at the same time a PK - //we can not just set a PK to NULL in the lines below. We have to store - //a backup of all values, so we are able to manipulate these items based on the onDelete value later. - $this->groupResourcesScheduledForDeletion = clone $groupResourcesToDelete; - - foreach ($groupResourcesToDelete as $groupResourceRemoved) { - $groupResourceRemoved->setGroup(null); - } - - $this->collGroupResources = null; - foreach ($groupResources as $groupResource) { - $this->addGroupResource($groupResource); - } - - $this->collGroupResources = $groupResources; - $this->collGroupResourcesPartial = false; - - return $this; - } - - /** - * Returns the number of related GroupResource objects. - * - * @param Criteria $criteria - * @param boolean $distinct - * @param ConnectionInterface $con - * @return int Count of related GroupResource objects. - * @throws PropelException - */ - public function countGroupResources(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) - { - $partial = $this->collGroupResourcesPartial && !$this->isNew(); - if (null === $this->collGroupResources || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupResources) { - return 0; - } - - if ($partial && !$criteria) { - return count($this->getGroupResources()); - } - - $query = ChildGroupResourceQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByGroup($this) - ->count($con); - } - - return count($this->collGroupResources); - } - - /** - * Method called to associate a ChildGroupResource object to this object - * through the ChildGroupResource foreign key attribute. - * - * @param ChildGroupResource $l ChildGroupResource - * @return \Thelia\Model\Group The current object (for fluent API support) - */ - public function addGroupResource(ChildGroupResource $l) - { - if ($this->collGroupResources === null) { - $this->initGroupResources(); - $this->collGroupResourcesPartial = true; - } - - if (!in_array($l, $this->collGroupResources->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddGroupResource($l); - } - - return $this; - } - - /** - * @param GroupResource $groupResource The groupResource object to add. - */ - protected function doAddGroupResource($groupResource) - { - $this->collGroupResources[]= $groupResource; - $groupResource->setGroup($this); - } - - /** - * @param GroupResource $groupResource The groupResource object to remove. - * @return ChildGroup The current object (for fluent API support) - */ - public function removeGroupResource($groupResource) - { - if ($this->getGroupResources()->contains($groupResource)) { - $this->collGroupResources->remove($this->collGroupResources->search($groupResource)); - if (null === $this->groupResourcesScheduledForDeletion) { - $this->groupResourcesScheduledForDeletion = clone $this->collGroupResources; - $this->groupResourcesScheduledForDeletion->clear(); - } - $this->groupResourcesScheduledForDeletion[]= clone $groupResource; - $groupResource->setGroup(null); - } - - return $this; - } - - - /** - * If this collection has already been initialized with - * an identical criteria, it returns the collection. - * Otherwise if this Group is new, it will return - * an empty collection; or if this Group has previously - * been saved, it will retrieve related GroupResources from storage. - * - * This method is protected by default in order to keep the public - * api reasonable. You can provide public methods for those you - * actually need in Group. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildGroupResource[] List of ChildGroupResource objects - */ - public function getGroupResourcesJoinResource($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) - { - $query = ChildGroupResourceQuery::create(null, $criteria); - $query->joinWith('Resource', $joinBehavior); - - return $this->getGroupResources($query, $con); - } - - /** - * Clears out the collGroupModules collection - * - * This does not modify the database; however, it will remove any associated objects, causing - * them to be refetched by subsequent calls to accessor method. - * - * @return void - * @see addGroupModules() - */ - public function clearGroupModules() - { - $this->collGroupModules = null; // important to set this to NULL since that means it is uninitialized - } - - /** - * Reset is the collGroupModules collection loaded partially. - */ - public function resetPartialGroupModules($v = true) - { - $this->collGroupModulesPartial = $v; - } - - /** - * Initializes the collGroupModules collection. - * - * By default this just sets the collGroupModules collection to an empty array (like clearcollGroupModules()); - * however, you may wish to override this method in your stub class to provide setting appropriate - * to your application -- for example, setting the initial array to the values stored in database. - * - * @param boolean $overrideExisting If set to true, the method call initializes - * the collection even if it is not empty - * - * @return void - */ - public function initGroupModules($overrideExisting = true) - { - if (null !== $this->collGroupModules && !$overrideExisting) { - return; - } - $this->collGroupModules = new ObjectCollection(); - $this->collGroupModules->setModel('\Thelia\Model\GroupModule'); - } - - /** - * Gets an array of ChildGroupModule objects which contain a foreign key that references this object. - * - * If the $criteria is not null, it is used to always fetch the results from the database. - * Otherwise the results are fetched from the database the first time, then cached. - * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildGroup is new, it will return - * an empty collection or the current collection; the criteria is ignored on a new object. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @return Collection|ChildGroupModule[] List of ChildGroupModule objects - * @throws PropelException - */ - public function getGroupModules($criteria = null, ConnectionInterface $con = null) - { - $partial = $this->collGroupModulesPartial && !$this->isNew(); - if (null === $this->collGroupModules || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupModules) { - // return empty collection - $this->initGroupModules(); - } else { - $collGroupModules = ChildGroupModuleQuery::create(null, $criteria) - ->filterByGroup($this) - ->find($con); - - if (null !== $criteria) { - if (false !== $this->collGroupModulesPartial && count($collGroupModules)) { - $this->initGroupModules(false); - - foreach ($collGroupModules as $obj) { - if (false == $this->collGroupModules->contains($obj)) { - $this->collGroupModules->append($obj); - } - } - - $this->collGroupModulesPartial = true; - } - - $collGroupModules->getInternalIterator()->rewind(); - - return $collGroupModules; - } - - if ($partial && $this->collGroupModules) { - foreach ($this->collGroupModules as $obj) { - if ($obj->isNew()) { - $collGroupModules[] = $obj; - } - } - } - - $this->collGroupModules = $collGroupModules; - $this->collGroupModulesPartial = false; - } - } - - return $this->collGroupModules; - } - - /** - * Sets a collection of GroupModule objects related by a one-to-many relationship - * to the current object. - * It will also schedule objects for deletion based on a diff between old objects (aka persisted) - * and new objects from the given Propel collection. - * - * @param Collection $groupModules A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildGroup The current object (for fluent API support) - */ - public function setGroupModules(Collection $groupModules, ConnectionInterface $con = null) - { - $groupModulesToDelete = $this->getGroupModules(new Criteria(), $con)->diff($groupModules); - - - $this->groupModulesScheduledForDeletion = $groupModulesToDelete; - - foreach ($groupModulesToDelete as $groupModuleRemoved) { - $groupModuleRemoved->setGroup(null); - } - - $this->collGroupModules = null; - foreach ($groupModules as $groupModule) { - $this->addGroupModule($groupModule); - } - - $this->collGroupModules = $groupModules; - $this->collGroupModulesPartial = false; - - return $this; - } - - /** - * Returns the number of related GroupModule objects. - * - * @param Criteria $criteria - * @param boolean $distinct - * @param ConnectionInterface $con - * @return int Count of related GroupModule objects. - * @throws PropelException - */ - public function countGroupModules(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) - { - $partial = $this->collGroupModulesPartial && !$this->isNew(); - if (null === $this->collGroupModules || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupModules) { - return 0; - } - - if ($partial && !$criteria) { - return count($this->getGroupModules()); - } - - $query = ChildGroupModuleQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByGroup($this) - ->count($con); - } - - return count($this->collGroupModules); - } - - /** - * Method called to associate a ChildGroupModule object to this object - * through the ChildGroupModule foreign key attribute. - * - * @param ChildGroupModule $l ChildGroupModule - * @return \Thelia\Model\Group The current object (for fluent API support) - */ - public function addGroupModule(ChildGroupModule $l) - { - if ($this->collGroupModules === null) { - $this->initGroupModules(); - $this->collGroupModulesPartial = true; - } - - if (!in_array($l, $this->collGroupModules->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddGroupModule($l); - } - - return $this; - } - - /** - * @param GroupModule $groupModule The groupModule object to add. - */ - protected function doAddGroupModule($groupModule) - { - $this->collGroupModules[]= $groupModule; - $groupModule->setGroup($this); - } - - /** - * @param GroupModule $groupModule The groupModule object to remove. - * @return ChildGroup The current object (for fluent API support) - */ - public function removeGroupModule($groupModule) - { - if ($this->getGroupModules()->contains($groupModule)) { - $this->collGroupModules->remove($this->collGroupModules->search($groupModule)); - if (null === $this->groupModulesScheduledForDeletion) { - $this->groupModulesScheduledForDeletion = clone $this->collGroupModules; - $this->groupModulesScheduledForDeletion->clear(); - } - $this->groupModulesScheduledForDeletion[]= clone $groupModule; - $groupModule->setGroup(null); - } - - return $this; - } - - - /** - * If this collection has already been initialized with - * an identical criteria, it returns the collection. - * Otherwise if this Group is new, it will return - * an empty collection; or if this Group has previously - * been saved, it will retrieve related GroupModules from storage. - * - * This method is protected by default in order to keep the public - * api reasonable. You can provide public methods for those you - * actually need in Group. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildGroupModule[] List of ChildGroupModule objects - */ - public function getGroupModulesJoinModule($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) - { - $query = ChildGroupModuleQuery::create(null, $criteria); - $query->joinWith('Module', $joinBehavior); - - return $this->getGroupModules($query, $con); - } - - /** - * Clears out the collGroupI18ns collection - * - * This does not modify the database; however, it will remove any associated objects, causing - * them to be refetched by subsequent calls to accessor method. - * - * @return void - * @see addGroupI18ns() - */ - public function clearGroupI18ns() - { - $this->collGroupI18ns = null; // important to set this to NULL since that means it is uninitialized - } - - /** - * Reset is the collGroupI18ns collection loaded partially. - */ - public function resetPartialGroupI18ns($v = true) - { - $this->collGroupI18nsPartial = $v; - } - - /** - * Initializes the collGroupI18ns collection. - * - * By default this just sets the collGroupI18ns collection to an empty array (like clearcollGroupI18ns()); - * however, you may wish to override this method in your stub class to provide setting appropriate - * to your application -- for example, setting the initial array to the values stored in database. - * - * @param boolean $overrideExisting If set to true, the method call initializes - * the collection even if it is not empty - * - * @return void - */ - public function initGroupI18ns($overrideExisting = true) - { - if (null !== $this->collGroupI18ns && !$overrideExisting) { - return; - } - $this->collGroupI18ns = new ObjectCollection(); - $this->collGroupI18ns->setModel('\Thelia\Model\GroupI18n'); - } - - /** - * Gets an array of ChildGroupI18n objects which contain a foreign key that references this object. - * - * If the $criteria is not null, it is used to always fetch the results from the database. - * Otherwise the results are fetched from the database the first time, then cached. - * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildGroup is new, it will return - * an empty collection or the current collection; the criteria is ignored on a new object. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @return Collection|ChildGroupI18n[] List of ChildGroupI18n objects - * @throws PropelException - */ - public function getGroupI18ns($criteria = null, ConnectionInterface $con = null) - { - $partial = $this->collGroupI18nsPartial && !$this->isNew(); - if (null === $this->collGroupI18ns || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupI18ns) { - // return empty collection - $this->initGroupI18ns(); - } else { - $collGroupI18ns = ChildGroupI18nQuery::create(null, $criteria) - ->filterByGroup($this) - ->find($con); - - if (null !== $criteria) { - if (false !== $this->collGroupI18nsPartial && count($collGroupI18ns)) { - $this->initGroupI18ns(false); - - foreach ($collGroupI18ns as $obj) { - if (false == $this->collGroupI18ns->contains($obj)) { - $this->collGroupI18ns->append($obj); - } - } - - $this->collGroupI18nsPartial = true; - } - - $collGroupI18ns->getInternalIterator()->rewind(); - - return $collGroupI18ns; - } - - if ($partial && $this->collGroupI18ns) { - foreach ($this->collGroupI18ns as $obj) { - if ($obj->isNew()) { - $collGroupI18ns[] = $obj; - } - } - } - - $this->collGroupI18ns = $collGroupI18ns; - $this->collGroupI18nsPartial = false; - } - } - - return $this->collGroupI18ns; - } - - /** - * Sets a collection of GroupI18n objects related by a one-to-many relationship - * to the current object. - * It will also schedule objects for deletion based on a diff between old objects (aka persisted) - * and new objects from the given Propel collection. - * - * @param Collection $groupI18ns A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildGroup The current object (for fluent API support) - */ - public function setGroupI18ns(Collection $groupI18ns, ConnectionInterface $con = null) - { - $groupI18nsToDelete = $this->getGroupI18ns(new Criteria(), $con)->diff($groupI18ns); - - - //since at least one column in the foreign key is at the same time a PK - //we can not just set a PK to NULL in the lines below. We have to store - //a backup of all values, so we are able to manipulate these items based on the onDelete value later. - $this->groupI18nsScheduledForDeletion = clone $groupI18nsToDelete; - - foreach ($groupI18nsToDelete as $groupI18nRemoved) { - $groupI18nRemoved->setGroup(null); - } - - $this->collGroupI18ns = null; - foreach ($groupI18ns as $groupI18n) { - $this->addGroupI18n($groupI18n); - } - - $this->collGroupI18ns = $groupI18ns; - $this->collGroupI18nsPartial = false; - - return $this; - } - - /** - * Returns the number of related GroupI18n objects. - * - * @param Criteria $criteria - * @param boolean $distinct - * @param ConnectionInterface $con - * @return int Count of related GroupI18n objects. - * @throws PropelException - */ - public function countGroupI18ns(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) - { - $partial = $this->collGroupI18nsPartial && !$this->isNew(); - if (null === $this->collGroupI18ns || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupI18ns) { - return 0; - } - - if ($partial && !$criteria) { - return count($this->getGroupI18ns()); - } - - $query = ChildGroupI18nQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByGroup($this) - ->count($con); - } - - return count($this->collGroupI18ns); - } - - /** - * Method called to associate a ChildGroupI18n object to this object - * through the ChildGroupI18n foreign key attribute. - * - * @param ChildGroupI18n $l ChildGroupI18n - * @return \Thelia\Model\Group The current object (for fluent API support) - */ - public function addGroupI18n(ChildGroupI18n $l) - { - if ($l && $locale = $l->getLocale()) { - $this->setLocale($locale); - $this->currentTranslations[$locale] = $l; - } - if ($this->collGroupI18ns === null) { - $this->initGroupI18ns(); - $this->collGroupI18nsPartial = true; - } - - if (!in_array($l, $this->collGroupI18ns->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddGroupI18n($l); - } - - return $this; - } - - /** - * @param GroupI18n $groupI18n The groupI18n object to add. - */ - protected function doAddGroupI18n($groupI18n) - { - $this->collGroupI18ns[]= $groupI18n; - $groupI18n->setGroup($this); - } - - /** - * @param GroupI18n $groupI18n The groupI18n object to remove. - * @return ChildGroup The current object (for fluent API support) - */ - public function removeGroupI18n($groupI18n) - { - if ($this->getGroupI18ns()->contains($groupI18n)) { - $this->collGroupI18ns->remove($this->collGroupI18ns->search($groupI18n)); - if (null === $this->groupI18nsScheduledForDeletion) { - $this->groupI18nsScheduledForDeletion = clone $this->collGroupI18ns; - $this->groupI18nsScheduledForDeletion->clear(); - } - $this->groupI18nsScheduledForDeletion[]= clone $groupI18n; - $groupI18n->setGroup(null); - } - - return $this; - } - /** * Clears out the collAdmins collection * @@ -2374,53 +1374,91 @@ abstract class Group implements ActiveRecordInterface public function clearAdmins() { $this->collAdmins = null; // important to set this to NULL since that means it is uninitialized - $this->collAdminsPartial = null; + } + + /** + * Reset is the collAdmins collection loaded partially. + */ + public function resetPartialAdmins($v = true) + { + $this->collAdminsPartial = $v; } /** * Initializes the collAdmins collection. * - * By default this just sets the collAdmins collection to an empty collection (like clearAdmins()); + * By default this just sets the collAdmins collection to an empty array (like clearcollAdmins()); * however, you may wish to override this method in your stub class to provide setting appropriate * to your application -- for example, setting the initial array to the values stored in database. * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * * @return void */ - public function initAdmins() + public function initAdmins($overrideExisting = true) { + if (null !== $this->collAdmins && !$overrideExisting) { + return; + } $this->collAdmins = new ObjectCollection(); $this->collAdmins->setModel('\Thelia\Model\Admin'); } /** - * Gets a collection of ChildAdmin objects related by a many-to-many relationship - * to the current object by way of the admin_group cross-reference table. + * Gets an array of ChildAdmin objects which contain a foreign key that references this object. * * If the $criteria is not null, it is used to always fetch the results from the database. * Otherwise the results are fetched from the database the first time, then cached. * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildGroup is new, it will return + * If this ChildProfile is new, it will return * an empty collection or the current collection; the criteria is ignored on a new object. * - * @param Criteria $criteria Optional query object to filter the query - * @param ConnectionInterface $con Optional connection object - * - * @return ObjectCollection|ChildAdmin[] List of ChildAdmin objects + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return Collection|ChildAdmin[] List of ChildAdmin objects + * @throws PropelException */ public function getAdmins($criteria = null, ConnectionInterface $con = null) { - if (null === $this->collAdmins || null !== $criteria) { + $partial = $this->collAdminsPartial && !$this->isNew(); + if (null === $this->collAdmins || null !== $criteria || $partial) { if ($this->isNew() && null === $this->collAdmins) { // return empty collection $this->initAdmins(); } else { $collAdmins = ChildAdminQuery::create(null, $criteria) - ->filterByGroup($this) + ->filterByProfile($this) ->find($con); + if (null !== $criteria) { + if (false !== $this->collAdminsPartial && count($collAdmins)) { + $this->initAdmins(false); + + foreach ($collAdmins as $obj) { + if (false == $this->collAdmins->contains($obj)) { + $this->collAdmins->append($obj); + } + } + + $this->collAdminsPartial = true; + } + + $collAdmins->getInternalIterator()->rewind(); + return $collAdmins; } + + if ($partial && $this->collAdmins) { + foreach ($this->collAdmins as $obj) { + if ($obj->isNew()) { + $collAdmins[] = $obj; + } + } + } + $this->collAdmins = $collAdmins; + $this->collAdminsPartial = false; } } @@ -2428,118 +1466,829 @@ abstract class Group implements ActiveRecordInterface } /** - * Sets a collection of Admin objects related by a many-to-many relationship - * to the current object by way of the admin_group cross-reference table. + * Sets a collection of Admin objects related by a one-to-many relationship + * to the current object. * It will also schedule objects for deletion based on a diff between old objects (aka persisted) * and new objects from the given Propel collection. * - * @param Collection $admins A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildGroup The current object (for fluent API support) + * @param Collection $admins A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return ChildProfile The current object (for fluent API support) */ public function setAdmins(Collection $admins, ConnectionInterface $con = null) { - $this->clearAdmins(); - $currentAdmins = $this->getAdmins(); + $adminsToDelete = $this->getAdmins(new Criteria(), $con)->diff($admins); - $this->adminsScheduledForDeletion = $currentAdmins->diff($admins); + $this->adminsScheduledForDeletion = $adminsToDelete; + + foreach ($adminsToDelete as $adminRemoved) { + $adminRemoved->setProfile(null); + } + + $this->collAdmins = null; foreach ($admins as $admin) { - if (!$currentAdmins->contains($admin)) { - $this->doAddAdmin($admin); - } + $this->addAdmin($admin); } $this->collAdmins = $admins; + $this->collAdminsPartial = false; return $this; } /** - * Gets the number of ChildAdmin objects related by a many-to-many relationship - * to the current object by way of the admin_group cross-reference table. + * Returns the number of related Admin objects. * - * @param Criteria $criteria Optional query object to filter the query - * @param boolean $distinct Set to true to force count distinct - * @param ConnectionInterface $con Optional connection object - * - * @return int the number of related ChildAdmin objects + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related Admin objects. + * @throws PropelException */ - public function countAdmins($criteria = null, $distinct = false, ConnectionInterface $con = null) + public function countAdmins(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) { - if (null === $this->collAdmins || null !== $criteria) { + $partial = $this->collAdminsPartial && !$this->isNew(); + if (null === $this->collAdmins || null !== $criteria || $partial) { if ($this->isNew() && null === $this->collAdmins) { return 0; - } else { - $query = ChildAdminQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByGroup($this) - ->count($con); } - } else { - return count($this->collAdmins); + + if ($partial && !$criteria) { + return count($this->getAdmins()); + } + + $query = ChildAdminQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByProfile($this) + ->count($con); } + + return count($this->collAdmins); } /** - * Associate a ChildAdmin object to this object - * through the admin_group cross reference table. + * Method called to associate a ChildAdmin object to this object + * through the ChildAdmin foreign key attribute. * - * @param ChildAdmin $admin The ChildAdminGroup object to relate - * @return ChildGroup The current object (for fluent API support) + * @param ChildAdmin $l ChildAdmin + * @return \Thelia\Model\Profile The current object (for fluent API support) */ - public function addAdmin(ChildAdmin $admin) + public function addAdmin(ChildAdmin $l) { if ($this->collAdmins === null) { $this->initAdmins(); + $this->collAdminsPartial = true; } - if (!$this->collAdmins->contains($admin)) { // only add it if the **same** object is not already associated - $this->doAddAdmin($admin); - $this->collAdmins[] = $admin; + if (!in_array($l, $this->collAdmins->getArrayCopy(), true)) { // only add it if the **same** object is not already associated + $this->doAddAdmin($l); } return $this; } /** - * @param Admin $admin The admin object to add. + * @param Admin $admin The admin object to add. */ protected function doAddAdmin($admin) { - $adminGroup = new ChildAdminGroup(); - $adminGroup->setAdmin($admin); - $this->addAdminGroup($adminGroup); - // set the back reference to this object directly as using provided method either results - // in endless loop or in multiple relations - if (!$admin->getGroups()->contains($this)) { - $foreignCollection = $admin->getGroups(); - $foreignCollection[] = $this; - } + $this->collAdmins[]= $admin; + $admin->setProfile($this); } /** - * Remove a ChildAdmin object to this object - * through the admin_group cross reference table. - * - * @param ChildAdmin $admin The ChildAdminGroup object to relate - * @return ChildGroup The current object (for fluent API support) + * @param Admin $admin The admin object to remove. + * @return ChildProfile The current object (for fluent API support) */ - public function removeAdmin(ChildAdmin $admin) + public function removeAdmin($admin) { if ($this->getAdmins()->contains($admin)) { $this->collAdmins->remove($this->collAdmins->search($admin)); - if (null === $this->adminsScheduledForDeletion) { $this->adminsScheduledForDeletion = clone $this->collAdmins; $this->adminsScheduledForDeletion->clear(); } + $this->adminsScheduledForDeletion[]= $admin; + $admin->setProfile(null); + } - $this->adminsScheduledForDeletion[] = $admin; + return $this; + } + + /** + * Clears out the collProfileResources collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addProfileResources() + */ + public function clearProfileResources() + { + $this->collProfileResources = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collProfileResources collection loaded partially. + */ + public function resetPartialProfileResources($v = true) + { + $this->collProfileResourcesPartial = $v; + } + + /** + * Initializes the collProfileResources collection. + * + * By default this just sets the collProfileResources collection to an empty array (like clearcollProfileResources()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initProfileResources($overrideExisting = true) + { + if (null !== $this->collProfileResources && !$overrideExisting) { + return; + } + $this->collProfileResources = new ObjectCollection(); + $this->collProfileResources->setModel('\Thelia\Model\ProfileResource'); + } + + /** + * Gets an array of ChildProfileResource objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildProfile is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return Collection|ChildProfileResource[] List of ChildProfileResource objects + * @throws PropelException + */ + public function getProfileResources($criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collProfileResourcesPartial && !$this->isNew(); + if (null === $this->collProfileResources || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileResources) { + // return empty collection + $this->initProfileResources(); + } else { + $collProfileResources = ChildProfileResourceQuery::create(null, $criteria) + ->filterByProfile($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collProfileResourcesPartial && count($collProfileResources)) { + $this->initProfileResources(false); + + foreach ($collProfileResources as $obj) { + if (false == $this->collProfileResources->contains($obj)) { + $this->collProfileResources->append($obj); + } + } + + $this->collProfileResourcesPartial = true; + } + + $collProfileResources->getInternalIterator()->rewind(); + + return $collProfileResources; + } + + if ($partial && $this->collProfileResources) { + foreach ($this->collProfileResources as $obj) { + if ($obj->isNew()) { + $collProfileResources[] = $obj; + } + } + } + + $this->collProfileResources = $collProfileResources; + $this->collProfileResourcesPartial = false; + } + } + + return $this->collProfileResources; + } + + /** + * Sets a collection of ProfileResource objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $profileResources A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return ChildProfile The current object (for fluent API support) + */ + public function setProfileResources(Collection $profileResources, ConnectionInterface $con = null) + { + $profileResourcesToDelete = $this->getProfileResources(new Criteria(), $con)->diff($profileResources); + + + //since at least one column in the foreign key is at the same time a PK + //we can not just set a PK to NULL in the lines below. We have to store + //a backup of all values, so we are able to manipulate these items based on the onDelete value later. + $this->profileResourcesScheduledForDeletion = clone $profileResourcesToDelete; + + foreach ($profileResourcesToDelete as $profileResourceRemoved) { + $profileResourceRemoved->setProfile(null); + } + + $this->collProfileResources = null; + foreach ($profileResources as $profileResource) { + $this->addProfileResource($profileResource); + } + + $this->collProfileResources = $profileResources; + $this->collProfileResourcesPartial = false; + + return $this; + } + + /** + * Returns the number of related ProfileResource objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related ProfileResource objects. + * @throws PropelException + */ + public function countProfileResources(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collProfileResourcesPartial && !$this->isNew(); + if (null === $this->collProfileResources || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileResources) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getProfileResources()); + } + + $query = ChildProfileResourceQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByProfile($this) + ->count($con); + } + + return count($this->collProfileResources); + } + + /** + * Method called to associate a ChildProfileResource object to this object + * through the ChildProfileResource foreign key attribute. + * + * @param ChildProfileResource $l ChildProfileResource + * @return \Thelia\Model\Profile The current object (for fluent API support) + */ + public function addProfileResource(ChildProfileResource $l) + { + if ($this->collProfileResources === null) { + $this->initProfileResources(); + $this->collProfileResourcesPartial = true; + } + + if (!in_array($l, $this->collProfileResources->getArrayCopy(), true)) { // only add it if the **same** object is not already associated + $this->doAddProfileResource($l); + } + + return $this; + } + + /** + * @param ProfileResource $profileResource The profileResource object to add. + */ + protected function doAddProfileResource($profileResource) + { + $this->collProfileResources[]= $profileResource; + $profileResource->setProfile($this); + } + + /** + * @param ProfileResource $profileResource The profileResource object to remove. + * @return ChildProfile The current object (for fluent API support) + */ + public function removeProfileResource($profileResource) + { + if ($this->getProfileResources()->contains($profileResource)) { + $this->collProfileResources->remove($this->collProfileResources->search($profileResource)); + if (null === $this->profileResourcesScheduledForDeletion) { + $this->profileResourcesScheduledForDeletion = clone $this->collProfileResources; + $this->profileResourcesScheduledForDeletion->clear(); + } + $this->profileResourcesScheduledForDeletion[]= clone $profileResource; + $profileResource->setProfile(null); + } + + return $this; + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Profile is new, it will return + * an empty collection; or if this Profile has previously + * been saved, it will retrieve related ProfileResources from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Profile. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return Collection|ChildProfileResource[] List of ChildProfileResource objects + */ + public function getProfileResourcesJoinResource($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildProfileResourceQuery::create(null, $criteria); + $query->joinWith('Resource', $joinBehavior); + + return $this->getProfileResources($query, $con); + } + + /** + * Clears out the collProfileModules collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addProfileModules() + */ + public function clearProfileModules() + { + $this->collProfileModules = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collProfileModules collection loaded partially. + */ + public function resetPartialProfileModules($v = true) + { + $this->collProfileModulesPartial = $v; + } + + /** + * Initializes the collProfileModules collection. + * + * By default this just sets the collProfileModules collection to an empty array (like clearcollProfileModules()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initProfileModules($overrideExisting = true) + { + if (null !== $this->collProfileModules && !$overrideExisting) { + return; + } + $this->collProfileModules = new ObjectCollection(); + $this->collProfileModules->setModel('\Thelia\Model\ProfileModule'); + } + + /** + * Gets an array of ChildProfileModule objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildProfile is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return Collection|ChildProfileModule[] List of ChildProfileModule objects + * @throws PropelException + */ + public function getProfileModules($criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collProfileModulesPartial && !$this->isNew(); + if (null === $this->collProfileModules || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileModules) { + // return empty collection + $this->initProfileModules(); + } else { + $collProfileModules = ChildProfileModuleQuery::create(null, $criteria) + ->filterByProfile($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collProfileModulesPartial && count($collProfileModules)) { + $this->initProfileModules(false); + + foreach ($collProfileModules as $obj) { + if (false == $this->collProfileModules->contains($obj)) { + $this->collProfileModules->append($obj); + } + } + + $this->collProfileModulesPartial = true; + } + + $collProfileModules->getInternalIterator()->rewind(); + + return $collProfileModules; + } + + if ($partial && $this->collProfileModules) { + foreach ($this->collProfileModules as $obj) { + if ($obj->isNew()) { + $collProfileModules[] = $obj; + } + } + } + + $this->collProfileModules = $collProfileModules; + $this->collProfileModulesPartial = false; + } + } + + return $this->collProfileModules; + } + + /** + * Sets a collection of ProfileModule objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $profileModules A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return ChildProfile The current object (for fluent API support) + */ + public function setProfileModules(Collection $profileModules, ConnectionInterface $con = null) + { + $profileModulesToDelete = $this->getProfileModules(new Criteria(), $con)->diff($profileModules); + + + $this->profileModulesScheduledForDeletion = $profileModulesToDelete; + + foreach ($profileModulesToDelete as $profileModuleRemoved) { + $profileModuleRemoved->setProfile(null); + } + + $this->collProfileModules = null; + foreach ($profileModules as $profileModule) { + $this->addProfileModule($profileModule); + } + + $this->collProfileModules = $profileModules; + $this->collProfileModulesPartial = false; + + return $this; + } + + /** + * Returns the number of related ProfileModule objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related ProfileModule objects. + * @throws PropelException + */ + public function countProfileModules(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collProfileModulesPartial && !$this->isNew(); + if (null === $this->collProfileModules || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileModules) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getProfileModules()); + } + + $query = ChildProfileModuleQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByProfile($this) + ->count($con); + } + + return count($this->collProfileModules); + } + + /** + * Method called to associate a ChildProfileModule object to this object + * through the ChildProfileModule foreign key attribute. + * + * @param ChildProfileModule $l ChildProfileModule + * @return \Thelia\Model\Profile The current object (for fluent API support) + */ + public function addProfileModule(ChildProfileModule $l) + { + if ($this->collProfileModules === null) { + $this->initProfileModules(); + $this->collProfileModulesPartial = true; + } + + if (!in_array($l, $this->collProfileModules->getArrayCopy(), true)) { // only add it if the **same** object is not already associated + $this->doAddProfileModule($l); + } + + return $this; + } + + /** + * @param ProfileModule $profileModule The profileModule object to add. + */ + protected function doAddProfileModule($profileModule) + { + $this->collProfileModules[]= $profileModule; + $profileModule->setProfile($this); + } + + /** + * @param ProfileModule $profileModule The profileModule object to remove. + * @return ChildProfile The current object (for fluent API support) + */ + public function removeProfileModule($profileModule) + { + if ($this->getProfileModules()->contains($profileModule)) { + $this->collProfileModules->remove($this->collProfileModules->search($profileModule)); + if (null === $this->profileModulesScheduledForDeletion) { + $this->profileModulesScheduledForDeletion = clone $this->collProfileModules; + $this->profileModulesScheduledForDeletion->clear(); + } + $this->profileModulesScheduledForDeletion[]= clone $profileModule; + $profileModule->setProfile(null); + } + + return $this; + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Profile is new, it will return + * an empty collection; or if this Profile has previously + * been saved, it will retrieve related ProfileModules from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Profile. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return Collection|ChildProfileModule[] List of ChildProfileModule objects + */ + public function getProfileModulesJoinModule($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildProfileModuleQuery::create(null, $criteria); + $query->joinWith('Module', $joinBehavior); + + return $this->getProfileModules($query, $con); + } + + /** + * Clears out the collProfileI18ns collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addProfileI18ns() + */ + public function clearProfileI18ns() + { + $this->collProfileI18ns = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collProfileI18ns collection loaded partially. + */ + public function resetPartialProfileI18ns($v = true) + { + $this->collProfileI18nsPartial = $v; + } + + /** + * Initializes the collProfileI18ns collection. + * + * By default this just sets the collProfileI18ns collection to an empty array (like clearcollProfileI18ns()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initProfileI18ns($overrideExisting = true) + { + if (null !== $this->collProfileI18ns && !$overrideExisting) { + return; + } + $this->collProfileI18ns = new ObjectCollection(); + $this->collProfileI18ns->setModel('\Thelia\Model\ProfileI18n'); + } + + /** + * Gets an array of ChildProfileI18n objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildProfile is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return Collection|ChildProfileI18n[] List of ChildProfileI18n objects + * @throws PropelException + */ + public function getProfileI18ns($criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collProfileI18nsPartial && !$this->isNew(); + if (null === $this->collProfileI18ns || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileI18ns) { + // return empty collection + $this->initProfileI18ns(); + } else { + $collProfileI18ns = ChildProfileI18nQuery::create(null, $criteria) + ->filterByProfile($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collProfileI18nsPartial && count($collProfileI18ns)) { + $this->initProfileI18ns(false); + + foreach ($collProfileI18ns as $obj) { + if (false == $this->collProfileI18ns->contains($obj)) { + $this->collProfileI18ns->append($obj); + } + } + + $this->collProfileI18nsPartial = true; + } + + $collProfileI18ns->getInternalIterator()->rewind(); + + return $collProfileI18ns; + } + + if ($partial && $this->collProfileI18ns) { + foreach ($this->collProfileI18ns as $obj) { + if ($obj->isNew()) { + $collProfileI18ns[] = $obj; + } + } + } + + $this->collProfileI18ns = $collProfileI18ns; + $this->collProfileI18nsPartial = false; + } + } + + return $this->collProfileI18ns; + } + + /** + * Sets a collection of ProfileI18n objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $profileI18ns A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return ChildProfile The current object (for fluent API support) + */ + public function setProfileI18ns(Collection $profileI18ns, ConnectionInterface $con = null) + { + $profileI18nsToDelete = $this->getProfileI18ns(new Criteria(), $con)->diff($profileI18ns); + + + //since at least one column in the foreign key is at the same time a PK + //we can not just set a PK to NULL in the lines below. We have to store + //a backup of all values, so we are able to manipulate these items based on the onDelete value later. + $this->profileI18nsScheduledForDeletion = clone $profileI18nsToDelete; + + foreach ($profileI18nsToDelete as $profileI18nRemoved) { + $profileI18nRemoved->setProfile(null); + } + + $this->collProfileI18ns = null; + foreach ($profileI18ns as $profileI18n) { + $this->addProfileI18n($profileI18n); + } + + $this->collProfileI18ns = $profileI18ns; + $this->collProfileI18nsPartial = false; + + return $this; + } + + /** + * Returns the number of related ProfileI18n objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related ProfileI18n objects. + * @throws PropelException + */ + public function countProfileI18ns(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collProfileI18nsPartial && !$this->isNew(); + if (null === $this->collProfileI18ns || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileI18ns) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getProfileI18ns()); + } + + $query = ChildProfileI18nQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByProfile($this) + ->count($con); + } + + return count($this->collProfileI18ns); + } + + /** + * Method called to associate a ChildProfileI18n object to this object + * through the ChildProfileI18n foreign key attribute. + * + * @param ChildProfileI18n $l ChildProfileI18n + * @return \Thelia\Model\Profile The current object (for fluent API support) + */ + public function addProfileI18n(ChildProfileI18n $l) + { + if ($l && $locale = $l->getLocale()) { + $this->setLocale($locale); + $this->currentTranslations[$locale] = $l; + } + if ($this->collProfileI18ns === null) { + $this->initProfileI18ns(); + $this->collProfileI18nsPartial = true; + } + + if (!in_array($l, $this->collProfileI18ns->getArrayCopy(), true)) { // only add it if the **same** object is not already associated + $this->doAddProfileI18n($l); + } + + return $this; + } + + /** + * @param ProfileI18n $profileI18n The profileI18n object to add. + */ + protected function doAddProfileI18n($profileI18n) + { + $this->collProfileI18ns[]= $profileI18n; + $profileI18n->setProfile($this); + } + + /** + * @param ProfileI18n $profileI18n The profileI18n object to remove. + * @return ChildProfile The current object (for fluent API support) + */ + public function removeProfileI18n($profileI18n) + { + if ($this->getProfileI18ns()->contains($profileI18n)) { + $this->collProfileI18ns->remove($this->collProfileI18ns->search($profileI18n)); + if (null === $this->profileI18nsScheduledForDeletion) { + $this->profileI18nsScheduledForDeletion = clone $this->collProfileI18ns; + $this->profileI18nsScheduledForDeletion->clear(); + } + $this->profileI18nsScheduledForDeletion[]= clone $profileI18n; + $profileI18n->setProfile(null); } return $this; @@ -2577,12 +2326,12 @@ abstract class Group implements ActiveRecordInterface /** * Gets a collection of ChildResource objects related by a many-to-many relationship - * to the current object by way of the group_resource cross-reference table. + * to the current object by way of the profile_resource cross-reference table. * * If the $criteria is not null, it is used to always fetch the results from the database. * Otherwise the results are fetched from the database the first time, then cached. * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildGroup is new, it will return + * If this ChildProfile is new, it will return * an empty collection or the current collection; the criteria is ignored on a new object. * * @param Criteria $criteria Optional query object to filter the query @@ -2598,7 +2347,7 @@ abstract class Group implements ActiveRecordInterface $this->initResources(); } else { $collResources = ChildResourceQuery::create(null, $criteria) - ->filterByGroup($this) + ->filterByProfile($this) ->find($con); if (null !== $criteria) { return $collResources; @@ -2612,13 +2361,13 @@ abstract class Group implements ActiveRecordInterface /** * Sets a collection of Resource objects related by a many-to-many relationship - * to the current object by way of the group_resource cross-reference table. + * to the current object by way of the profile_resource cross-reference table. * It will also schedule objects for deletion based on a diff between old objects (aka persisted) * and new objects from the given Propel collection. * * @param Collection $resources A Propel collection. * @param ConnectionInterface $con Optional connection object - * @return ChildGroup The current object (for fluent API support) + * @return ChildProfile The current object (for fluent API support) */ public function setResources(Collection $resources, ConnectionInterface $con = null) { @@ -2640,7 +2389,7 @@ abstract class Group implements ActiveRecordInterface /** * Gets the number of ChildResource objects related by a many-to-many relationship - * to the current object by way of the group_resource cross-reference table. + * to the current object by way of the profile_resource cross-reference table. * * @param Criteria $criteria Optional query object to filter the query * @param boolean $distinct Set to true to force count distinct @@ -2660,7 +2409,7 @@ abstract class Group implements ActiveRecordInterface } return $query - ->filterByGroup($this) + ->filterByProfile($this) ->count($con); } } else { @@ -2670,10 +2419,10 @@ abstract class Group implements ActiveRecordInterface /** * Associate a ChildResource object to this object - * through the group_resource cross reference table. + * through the profile_resource cross reference table. * - * @param ChildResource $resource The ChildGroupResource object to relate - * @return ChildGroup The current object (for fluent API support) + * @param ChildResource $resource The ChildProfileResource object to relate + * @return ChildProfile The current object (for fluent API support) */ public function addResource(ChildResource $resource) { @@ -2694,23 +2443,23 @@ abstract class Group implements ActiveRecordInterface */ protected function doAddResource($resource) { - $groupResource = new ChildGroupResource(); - $groupResource->setResource($resource); - $this->addGroupResource($groupResource); + $profileResource = new ChildProfileResource(); + $profileResource->setResource($resource); + $this->addProfileResource($profileResource); // set the back reference to this object directly as using provided method either results // in endless loop or in multiple relations - if (!$resource->getGroups()->contains($this)) { - $foreignCollection = $resource->getGroups(); + if (!$resource->getProfiles()->contains($this)) { + $foreignCollection = $resource->getProfiles(); $foreignCollection[] = $this; } } /** * Remove a ChildResource object to this object - * through the group_resource cross reference table. + * through the profile_resource cross reference table. * - * @param ChildResource $resource The ChildGroupResource object to relate - * @return ChildGroup The current object (for fluent API support) + * @param ChildResource $resource The ChildProfileResource object to relate + * @return ChildProfile The current object (for fluent API support) */ public function removeResource(ChildResource $resource) { @@ -2756,31 +2505,26 @@ abstract class Group implements ActiveRecordInterface public function clearAllReferences($deep = false) { if ($deep) { - if ($this->collAdminGroups) { - foreach ($this->collAdminGroups as $o) { - $o->clearAllReferences($deep); - } - } - if ($this->collGroupResources) { - foreach ($this->collGroupResources as $o) { - $o->clearAllReferences($deep); - } - } - if ($this->collGroupModules) { - foreach ($this->collGroupModules as $o) { - $o->clearAllReferences($deep); - } - } - if ($this->collGroupI18ns) { - foreach ($this->collGroupI18ns as $o) { - $o->clearAllReferences($deep); - } - } if ($this->collAdmins) { foreach ($this->collAdmins as $o) { $o->clearAllReferences($deep); } } + if ($this->collProfileResources) { + foreach ($this->collProfileResources as $o) { + $o->clearAllReferences($deep); + } + } + if ($this->collProfileModules) { + foreach ($this->collProfileModules as $o) { + $o->clearAllReferences($deep); + } + } + if ($this->collProfileI18ns) { + foreach ($this->collProfileI18ns as $o) { + $o->clearAllReferences($deep); + } + } if ($this->collResources) { foreach ($this->collResources as $o) { $o->clearAllReferences($deep); @@ -2792,26 +2536,22 @@ abstract class Group implements ActiveRecordInterface $this->currentLocale = 'en_US'; $this->currentTranslations = null; - if ($this->collAdminGroups instanceof Collection) { - $this->collAdminGroups->clearIterator(); - } - $this->collAdminGroups = null; - if ($this->collGroupResources instanceof Collection) { - $this->collGroupResources->clearIterator(); - } - $this->collGroupResources = null; - if ($this->collGroupModules instanceof Collection) { - $this->collGroupModules->clearIterator(); - } - $this->collGroupModules = null; - if ($this->collGroupI18ns instanceof Collection) { - $this->collGroupI18ns->clearIterator(); - } - $this->collGroupI18ns = null; if ($this->collAdmins instanceof Collection) { $this->collAdmins->clearIterator(); } $this->collAdmins = null; + if ($this->collProfileResources instanceof Collection) { + $this->collProfileResources->clearIterator(); + } + $this->collProfileResources = null; + if ($this->collProfileModules instanceof Collection) { + $this->collProfileModules->clearIterator(); + } + $this->collProfileModules = null; + if ($this->collProfileI18ns instanceof Collection) { + $this->collProfileI18ns->clearIterator(); + } + $this->collProfileI18ns = null; if ($this->collResources instanceof Collection) { $this->collResources->clearIterator(); } @@ -2825,7 +2565,7 @@ abstract class Group implements ActiveRecordInterface */ public function __toString() { - return (string) $this->exportTo(GroupTableMap::DEFAULT_STRING_FORMAT); + return (string) $this->exportTo(ProfileTableMap::DEFAULT_STRING_FORMAT); } // timestampable behavior @@ -2833,11 +2573,11 @@ abstract class Group implements ActiveRecordInterface /** * Mark the current object so that the update date doesn't get updated during next save * - * @return ChildGroup The current object (for fluent API support) + * @return ChildProfile The current object (for fluent API support) */ public function keepUpdateDateUnchanged() { - $this->modifiedColumns[] = GroupTableMap::UPDATED_AT; + $this->modifiedColumns[] = ProfileTableMap::UPDATED_AT; return $this; } @@ -2849,7 +2589,7 @@ abstract class Group implements ActiveRecordInterface * * @param string $locale Locale to use for the translation, e.g. 'fr_FR' * - * @return ChildGroup The current object (for fluent API support) + * @return ChildProfile The current object (for fluent API support) */ public function setLocale($locale = 'en_US') { @@ -2874,12 +2614,12 @@ abstract class Group implements ActiveRecordInterface * @param string $locale Locale to use for the translation, e.g. 'fr_FR' * @param ConnectionInterface $con an optional connection object * - * @return ChildGroupI18n */ + * @return ChildProfileI18n */ public function getTranslation($locale = 'en_US', ConnectionInterface $con = null) { if (!isset($this->currentTranslations[$locale])) { - if (null !== $this->collGroupI18ns) { - foreach ($this->collGroupI18ns as $translation) { + if (null !== $this->collProfileI18ns) { + foreach ($this->collProfileI18ns as $translation) { if ($translation->getLocale() == $locale) { $this->currentTranslations[$locale] = $translation; @@ -2888,15 +2628,15 @@ abstract class Group implements ActiveRecordInterface } } if ($this->isNew()) { - $translation = new ChildGroupI18n(); + $translation = new ChildProfileI18n(); $translation->setLocale($locale); } else { - $translation = ChildGroupI18nQuery::create() + $translation = ChildProfileI18nQuery::create() ->filterByPrimaryKey(array($this->getPrimaryKey(), $locale)) ->findOneOrCreate($con); $this->currentTranslations[$locale] = $translation; } - $this->addGroupI18n($translation); + $this->addProfileI18n($translation); } return $this->currentTranslations[$locale]; @@ -2908,21 +2648,21 @@ abstract class Group implements ActiveRecordInterface * @param string $locale Locale to use for the translation, e.g. 'fr_FR' * @param ConnectionInterface $con an optional connection object * - * @return ChildGroup The current object (for fluent API support) + * @return ChildProfile The current object (for fluent API support) */ public function removeTranslation($locale = 'en_US', ConnectionInterface $con = null) { if (!$this->isNew()) { - ChildGroupI18nQuery::create() + ChildProfileI18nQuery::create() ->filterByPrimaryKey(array($this->getPrimaryKey(), $locale)) ->delete($con); } if (isset($this->currentTranslations[$locale])) { unset($this->currentTranslations[$locale]); } - foreach ($this->collGroupI18ns as $key => $translation) { + foreach ($this->collProfileI18ns as $key => $translation) { if ($translation->getLocale() == $locale) { - unset($this->collGroupI18ns[$key]); + unset($this->collProfileI18ns[$key]); break; } } @@ -2935,7 +2675,7 @@ abstract class Group implements ActiveRecordInterface * * @param ConnectionInterface $con an optional connection object * - * @return ChildGroupI18n */ + * @return ChildProfileI18n */ public function getCurrentTranslation(ConnectionInterface $con = null) { return $this->getTranslation($this->getLocale(), $con); @@ -2957,7 +2697,7 @@ abstract class Group implements ActiveRecordInterface * Set the value of [title] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setTitle($v) { $this->getCurrentTranslation()->setTitle($v); @@ -2981,7 +2721,7 @@ abstract class Group implements ActiveRecordInterface * Set the value of [description] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setDescription($v) { $this->getCurrentTranslation()->setDescription($v); @@ -3005,7 +2745,7 @@ abstract class Group implements ActiveRecordInterface * Set the value of [chapo] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setChapo($v) { $this->getCurrentTranslation()->setChapo($v); @@ -3029,7 +2769,7 @@ abstract class Group implements ActiveRecordInterface * Set the value of [postscriptum] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setPostscriptum($v) { $this->getCurrentTranslation()->setPostscriptum($v); diff --git a/core/lib/Thelia/Model/Base/GroupI18n.php b/core/lib/Thelia/Model/Base/ProfileI18n.php similarity index 85% rename from core/lib/Thelia/Model/Base/GroupI18n.php rename to core/lib/Thelia/Model/Base/ProfileI18n.php index 07274e969..e9f026d6d 100644 --- a/core/lib/Thelia/Model/Base/GroupI18n.php +++ b/core/lib/Thelia/Model/Base/ProfileI18n.php @@ -14,17 +14,17 @@ use Propel\Runtime\Exception\BadMethodCallException; use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Parser\AbstractParser; -use Thelia\Model\Group as ChildGroup; -use Thelia\Model\GroupI18nQuery as ChildGroupI18nQuery; -use Thelia\Model\GroupQuery as ChildGroupQuery; -use Thelia\Model\Map\GroupI18nTableMap; +use Thelia\Model\Profile as ChildProfile; +use Thelia\Model\ProfileI18nQuery as ChildProfileI18nQuery; +use Thelia\Model\ProfileQuery as ChildProfileQuery; +use Thelia\Model\Map\ProfileI18nTableMap; -abstract class GroupI18n implements ActiveRecordInterface +abstract class ProfileI18n implements ActiveRecordInterface { /** * TableMap class name */ - const TABLE_MAP = '\\Thelia\\Model\\Map\\GroupI18nTableMap'; + const TABLE_MAP = '\\Thelia\\Model\\Map\\ProfileI18nTableMap'; /** @@ -91,9 +91,9 @@ abstract class GroupI18n implements ActiveRecordInterface protected $postscriptum; /** - * @var Group + * @var Profile */ - protected $aGroup; + protected $aProfile; /** * Flag to prevent endless save loop, if this object is referenced @@ -115,7 +115,7 @@ abstract class GroupI18n implements ActiveRecordInterface } /** - * Initializes internal state of Thelia\Model\Base\GroupI18n object. + * Initializes internal state of Thelia\Model\Base\ProfileI18n object. * @see applyDefaults() */ public function __construct() @@ -212,9 +212,9 @@ abstract class GroupI18n implements ActiveRecordInterface } /** - * Compares this with another GroupI18n instance. If - * obj is an instance of GroupI18n, delegates to - * equals(GroupI18n). Otherwise, returns false. + * Compares this with another ProfileI18n instance. If + * obj is an instance of ProfileI18n, delegates to + * equals(ProfileI18n). Otherwise, returns false. * * @param mixed $obj The object to compare to. * @return boolean Whether equal to the object specified. @@ -297,7 +297,7 @@ abstract class GroupI18n implements ActiveRecordInterface * @param string $name The virtual column name * @param mixed $value The value to give to the virtual column * - * @return GroupI18n The current object, for fluid interface + * @return ProfileI18n The current object, for fluid interface */ public function setVirtualColumn($name, $value) { @@ -329,7 +329,7 @@ abstract class GroupI18n implements ActiveRecordInterface * or a format name ('XML', 'YAML', 'JSON', 'CSV') * @param string $data The source data to import from * - * @return GroupI18n The current object, for fluid interface + * @return ProfileI18n The current object, for fluid interface */ public function importFrom($parser, $data) { @@ -444,7 +444,7 @@ abstract class GroupI18n implements ActiveRecordInterface * Set the value of [id] column. * * @param int $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setId($v) { @@ -454,11 +454,11 @@ abstract class GroupI18n implements ActiveRecordInterface if ($this->id !== $v) { $this->id = $v; - $this->modifiedColumns[] = GroupI18nTableMap::ID; + $this->modifiedColumns[] = ProfileI18nTableMap::ID; } - if ($this->aGroup !== null && $this->aGroup->getId() !== $v) { - $this->aGroup = null; + if ($this->aProfile !== null && $this->aProfile->getId() !== $v) { + $this->aProfile = null; } @@ -469,7 +469,7 @@ abstract class GroupI18n implements ActiveRecordInterface * Set the value of [locale] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setLocale($v) { @@ -479,7 +479,7 @@ abstract class GroupI18n implements ActiveRecordInterface if ($this->locale !== $v) { $this->locale = $v; - $this->modifiedColumns[] = GroupI18nTableMap::LOCALE; + $this->modifiedColumns[] = ProfileI18nTableMap::LOCALE; } @@ -490,7 +490,7 @@ abstract class GroupI18n implements ActiveRecordInterface * Set the value of [title] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setTitle($v) { @@ -500,7 +500,7 @@ abstract class GroupI18n implements ActiveRecordInterface if ($this->title !== $v) { $this->title = $v; - $this->modifiedColumns[] = GroupI18nTableMap::TITLE; + $this->modifiedColumns[] = ProfileI18nTableMap::TITLE; } @@ -511,7 +511,7 @@ abstract class GroupI18n implements ActiveRecordInterface * Set the value of [description] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setDescription($v) { @@ -521,7 +521,7 @@ abstract class GroupI18n implements ActiveRecordInterface if ($this->description !== $v) { $this->description = $v; - $this->modifiedColumns[] = GroupI18nTableMap::DESCRIPTION; + $this->modifiedColumns[] = ProfileI18nTableMap::DESCRIPTION; } @@ -532,7 +532,7 @@ abstract class GroupI18n implements ActiveRecordInterface * Set the value of [chapo] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setChapo($v) { @@ -542,7 +542,7 @@ abstract class GroupI18n implements ActiveRecordInterface if ($this->chapo !== $v) { $this->chapo = $v; - $this->modifiedColumns[] = GroupI18nTableMap::CHAPO; + $this->modifiedColumns[] = ProfileI18nTableMap::CHAPO; } @@ -553,7 +553,7 @@ abstract class GroupI18n implements ActiveRecordInterface * Set the value of [postscriptum] column. * * @param string $v new value - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) */ public function setPostscriptum($v) { @@ -563,7 +563,7 @@ abstract class GroupI18n implements ActiveRecordInterface if ($this->postscriptum !== $v) { $this->postscriptum = $v; - $this->modifiedColumns[] = GroupI18nTableMap::POSTSCRIPTUM; + $this->modifiedColumns[] = ProfileI18nTableMap::POSTSCRIPTUM; } @@ -611,22 +611,22 @@ abstract class GroupI18n implements ActiveRecordInterface try { - $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : GroupI18nTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : ProfileI18nTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; $this->id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : GroupI18nTableMap::translateFieldName('Locale', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : ProfileI18nTableMap::translateFieldName('Locale', TableMap::TYPE_PHPNAME, $indexType)]; $this->locale = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : GroupI18nTableMap::translateFieldName('Title', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : ProfileI18nTableMap::translateFieldName('Title', TableMap::TYPE_PHPNAME, $indexType)]; $this->title = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : GroupI18nTableMap::translateFieldName('Description', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : ProfileI18nTableMap::translateFieldName('Description', TableMap::TYPE_PHPNAME, $indexType)]; $this->description = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : GroupI18nTableMap::translateFieldName('Chapo', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : ProfileI18nTableMap::translateFieldName('Chapo', TableMap::TYPE_PHPNAME, $indexType)]; $this->chapo = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : GroupI18nTableMap::translateFieldName('Postscriptum', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : ProfileI18nTableMap::translateFieldName('Postscriptum', TableMap::TYPE_PHPNAME, $indexType)]; $this->postscriptum = (null !== $col) ? (string) $col : null; $this->resetModified(); @@ -636,10 +636,10 @@ abstract class GroupI18n implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 6; // 6 = GroupI18nTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 6; // 6 = ProfileI18nTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { - throw new PropelException("Error populating \Thelia\Model\GroupI18n object", 0, $e); + throw new PropelException("Error populating \Thelia\Model\ProfileI18n object", 0, $e); } } @@ -658,8 +658,8 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function ensureConsistency() { - if ($this->aGroup !== null && $this->id !== $this->aGroup->getId()) { - $this->aGroup = null; + if ($this->aProfile !== null && $this->id !== $this->aProfile->getId()) { + $this->aProfile = null; } } // ensureConsistency @@ -684,13 +684,13 @@ abstract class GroupI18n implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileI18nTableMap::DATABASE_NAME); } // We don't need to alter the object instance pool; we're just modifying this instance // already in the pool. - $dataFetcher = ChildGroupI18nQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $dataFetcher = ChildProfileI18nQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); $row = $dataFetcher->fetch(); $dataFetcher->close(); if (!$row) { @@ -700,7 +700,7 @@ abstract class GroupI18n implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? - $this->aGroup = null; + $this->aProfile = null; } // if (deep) } @@ -710,8 +710,8 @@ abstract class GroupI18n implements ActiveRecordInterface * @param ConnectionInterface $con * @return void * @throws PropelException - * @see GroupI18n::setDeleted() - * @see GroupI18n::isDeleted() + * @see ProfileI18n::setDeleted() + * @see ProfileI18n::isDeleted() */ public function delete(ConnectionInterface $con = null) { @@ -720,12 +720,12 @@ abstract class GroupI18n implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileI18nTableMap::DATABASE_NAME); } $con->beginTransaction(); try { - $deleteQuery = ChildGroupI18nQuery::create() + $deleteQuery = ChildProfileI18nQuery::create() ->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { @@ -762,7 +762,7 @@ abstract class GroupI18n implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileI18nTableMap::DATABASE_NAME); } $con->beginTransaction(); @@ -782,7 +782,7 @@ abstract class GroupI18n implements ActiveRecordInterface $this->postUpdate($con); } $this->postSave($con); - GroupI18nTableMap::addInstanceToPool($this); + ProfileI18nTableMap::addInstanceToPool($this); } else { $affectedRows = 0; } @@ -817,11 +817,11 @@ abstract class GroupI18n implements ActiveRecordInterface // method. This object relates to these object(s) by a // foreign key reference. - if ($this->aGroup !== null) { - if ($this->aGroup->isModified() || $this->aGroup->isNew()) { - $affectedRows += $this->aGroup->save($con); + if ($this->aProfile !== null) { + if ($this->aProfile->isModified() || $this->aProfile->isNew()) { + $affectedRows += $this->aProfile->save($con); } - $this->setGroup($this->aGroup); + $this->setProfile($this->aProfile); } if ($this->isNew() || $this->isModified()) { @@ -857,27 +857,27 @@ abstract class GroupI18n implements ActiveRecordInterface // check the columns in natural order for more readable SQL queries - if ($this->isColumnModified(GroupI18nTableMap::ID)) { + if ($this->isColumnModified(ProfileI18nTableMap::ID)) { $modifiedColumns[':p' . $index++] = 'ID'; } - if ($this->isColumnModified(GroupI18nTableMap::LOCALE)) { + if ($this->isColumnModified(ProfileI18nTableMap::LOCALE)) { $modifiedColumns[':p' . $index++] = 'LOCALE'; } - if ($this->isColumnModified(GroupI18nTableMap::TITLE)) { + if ($this->isColumnModified(ProfileI18nTableMap::TITLE)) { $modifiedColumns[':p' . $index++] = 'TITLE'; } - if ($this->isColumnModified(GroupI18nTableMap::DESCRIPTION)) { + if ($this->isColumnModified(ProfileI18nTableMap::DESCRIPTION)) { $modifiedColumns[':p' . $index++] = 'DESCRIPTION'; } - if ($this->isColumnModified(GroupI18nTableMap::CHAPO)) { + if ($this->isColumnModified(ProfileI18nTableMap::CHAPO)) { $modifiedColumns[':p' . $index++] = 'CHAPO'; } - if ($this->isColumnModified(GroupI18nTableMap::POSTSCRIPTUM)) { + if ($this->isColumnModified(ProfileI18nTableMap::POSTSCRIPTUM)) { $modifiedColumns[':p' . $index++] = 'POSTSCRIPTUM'; } $sql = sprintf( - 'INSERT INTO group_i18n (%s) VALUES (%s)', + 'INSERT INTO profile_i18n (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)) ); @@ -943,7 +943,7 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function getByName($name, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupI18nTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileI18nTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); $field = $this->getByPosition($pos); return $field; @@ -1000,11 +1000,11 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) { - if (isset($alreadyDumpedObjects['GroupI18n'][serialize($this->getPrimaryKey())])) { + if (isset($alreadyDumpedObjects['ProfileI18n'][serialize($this->getPrimaryKey())])) { return '*RECURSION*'; } - $alreadyDumpedObjects['GroupI18n'][serialize($this->getPrimaryKey())] = true; - $keys = GroupI18nTableMap::getFieldNames($keyType); + $alreadyDumpedObjects['ProfileI18n'][serialize($this->getPrimaryKey())] = true; + $keys = ProfileI18nTableMap::getFieldNames($keyType); $result = array( $keys[0] => $this->getId(), $keys[1] => $this->getLocale(), @@ -1019,8 +1019,8 @@ abstract class GroupI18n implements ActiveRecordInterface } if ($includeForeignObjects) { - if (null !== $this->aGroup) { - $result['Group'] = $this->aGroup->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + if (null !== $this->aProfile) { + $result['Profile'] = $this->aProfile->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); } } @@ -1040,7 +1040,7 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupI18nTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileI18nTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); return $this->setByPosition($pos, $value); } @@ -1096,7 +1096,7 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) { - $keys = GroupI18nTableMap::getFieldNames($keyType); + $keys = ProfileI18nTableMap::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); if (array_key_exists($keys[1], $arr)) $this->setLocale($arr[$keys[1]]); @@ -1113,14 +1113,14 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function buildCriteria() { - $criteria = new Criteria(GroupI18nTableMap::DATABASE_NAME); + $criteria = new Criteria(ProfileI18nTableMap::DATABASE_NAME); - if ($this->isColumnModified(GroupI18nTableMap::ID)) $criteria->add(GroupI18nTableMap::ID, $this->id); - if ($this->isColumnModified(GroupI18nTableMap::LOCALE)) $criteria->add(GroupI18nTableMap::LOCALE, $this->locale); - if ($this->isColumnModified(GroupI18nTableMap::TITLE)) $criteria->add(GroupI18nTableMap::TITLE, $this->title); - if ($this->isColumnModified(GroupI18nTableMap::DESCRIPTION)) $criteria->add(GroupI18nTableMap::DESCRIPTION, $this->description); - if ($this->isColumnModified(GroupI18nTableMap::CHAPO)) $criteria->add(GroupI18nTableMap::CHAPO, $this->chapo); - if ($this->isColumnModified(GroupI18nTableMap::POSTSCRIPTUM)) $criteria->add(GroupI18nTableMap::POSTSCRIPTUM, $this->postscriptum); + if ($this->isColumnModified(ProfileI18nTableMap::ID)) $criteria->add(ProfileI18nTableMap::ID, $this->id); + if ($this->isColumnModified(ProfileI18nTableMap::LOCALE)) $criteria->add(ProfileI18nTableMap::LOCALE, $this->locale); + if ($this->isColumnModified(ProfileI18nTableMap::TITLE)) $criteria->add(ProfileI18nTableMap::TITLE, $this->title); + if ($this->isColumnModified(ProfileI18nTableMap::DESCRIPTION)) $criteria->add(ProfileI18nTableMap::DESCRIPTION, $this->description); + if ($this->isColumnModified(ProfileI18nTableMap::CHAPO)) $criteria->add(ProfileI18nTableMap::CHAPO, $this->chapo); + if ($this->isColumnModified(ProfileI18nTableMap::POSTSCRIPTUM)) $criteria->add(ProfileI18nTableMap::POSTSCRIPTUM, $this->postscriptum); return $criteria; } @@ -1135,9 +1135,9 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function buildPkeyCriteria() { - $criteria = new Criteria(GroupI18nTableMap::DATABASE_NAME); - $criteria->add(GroupI18nTableMap::ID, $this->id); - $criteria->add(GroupI18nTableMap::LOCALE, $this->locale); + $criteria = new Criteria(ProfileI18nTableMap::DATABASE_NAME); + $criteria->add(ProfileI18nTableMap::ID, $this->id); + $criteria->add(ProfileI18nTableMap::LOCALE, $this->locale); return $criteria; } @@ -1184,7 +1184,7 @@ abstract class GroupI18n implements ActiveRecordInterface * If desired, this method can also make copies of all associated (fkey referrers) * objects. * - * @param object $copyObj An object of \Thelia\Model\GroupI18n (or compatible) type. + * @param object $copyObj An object of \Thelia\Model\ProfileI18n (or compatible) type. * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. * @throws PropelException @@ -1211,7 +1211,7 @@ abstract class GroupI18n implements ActiveRecordInterface * objects. * * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. - * @return \Thelia\Model\GroupI18n Clone of current object. + * @return \Thelia\Model\ProfileI18n Clone of current object. * @throws PropelException */ public function copy($deepCopy = false) @@ -1225,13 +1225,13 @@ abstract class GroupI18n implements ActiveRecordInterface } /** - * Declares an association between this object and a ChildGroup object. + * Declares an association between this object and a ChildProfile object. * - * @param ChildGroup $v - * @return \Thelia\Model\GroupI18n The current object (for fluent API support) + * @param ChildProfile $v + * @return \Thelia\Model\ProfileI18n The current object (for fluent API support) * @throws PropelException */ - public function setGroup(ChildGroup $v = null) + public function setProfile(ChildProfile $v = null) { if ($v === null) { $this->setId(NULL); @@ -1239,12 +1239,12 @@ abstract class GroupI18n implements ActiveRecordInterface $this->setId($v->getId()); } - $this->aGroup = $v; + $this->aProfile = $v; // Add binding for other direction of this n:n relationship. - // If this object has already been added to the ChildGroup object, it will not be re-added. + // If this object has already been added to the ChildProfile object, it will not be re-added. if ($v !== null) { - $v->addGroupI18n($this); + $v->addProfileI18n($this); } @@ -1253,26 +1253,26 @@ abstract class GroupI18n implements ActiveRecordInterface /** - * Get the associated ChildGroup object + * Get the associated ChildProfile object * * @param ConnectionInterface $con Optional Connection object. - * @return ChildGroup The associated ChildGroup object. + * @return ChildProfile The associated ChildProfile object. * @throws PropelException */ - public function getGroup(ConnectionInterface $con = null) + public function getProfile(ConnectionInterface $con = null) { - if ($this->aGroup === null && ($this->id !== null)) { - $this->aGroup = ChildGroupQuery::create()->findPk($this->id, $con); + if ($this->aProfile === null && ($this->id !== null)) { + $this->aProfile = ChildProfileQuery::create()->findPk($this->id, $con); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. - $this->aGroup->addGroupI18ns($this); + $this->aProfile->addProfileI18ns($this); */ } - return $this->aGroup; + return $this->aProfile; } /** @@ -1308,7 +1308,7 @@ abstract class GroupI18n implements ActiveRecordInterface if ($deep) { } // if ($deep) - $this->aGroup = null; + $this->aProfile = null; } /** @@ -1318,7 +1318,7 @@ abstract class GroupI18n implements ActiveRecordInterface */ public function __toString() { - return (string) $this->exportTo(GroupI18nTableMap::DEFAULT_STRING_FORMAT); + return (string) $this->exportTo(ProfileI18nTableMap::DEFAULT_STRING_FORMAT); } /** diff --git a/core/lib/Thelia/Model/Base/GroupI18nQuery.php b/core/lib/Thelia/Model/Base/ProfileI18nQuery.php similarity index 63% rename from core/lib/Thelia/Model/Base/GroupI18nQuery.php rename to core/lib/Thelia/Model/Base/ProfileI18nQuery.php index 8dc7b44ec..3c9367fb4 100644 --- a/core/lib/Thelia/Model/Base/GroupI18nQuery.php +++ b/core/lib/Thelia/Model/Base/ProfileI18nQuery.php @@ -12,84 +12,84 @@ use Propel\Runtime\Collection\Collection; use Propel\Runtime\Collection\ObjectCollection; use Propel\Runtime\Connection\ConnectionInterface; use Propel\Runtime\Exception\PropelException; -use Thelia\Model\GroupI18n as ChildGroupI18n; -use Thelia\Model\GroupI18nQuery as ChildGroupI18nQuery; -use Thelia\Model\Map\GroupI18nTableMap; +use Thelia\Model\ProfileI18n as ChildProfileI18n; +use Thelia\Model\ProfileI18nQuery as ChildProfileI18nQuery; +use Thelia\Model\Map\ProfileI18nTableMap; /** - * Base class that represents a query for the 'group_i18n' table. + * Base class that represents a query for the 'profile_i18n' table. * * * - * @method ChildGroupI18nQuery orderById($order = Criteria::ASC) Order by the id column - * @method ChildGroupI18nQuery orderByLocale($order = Criteria::ASC) Order by the locale column - * @method ChildGroupI18nQuery orderByTitle($order = Criteria::ASC) Order by the title column - * @method ChildGroupI18nQuery orderByDescription($order = Criteria::ASC) Order by the description column - * @method ChildGroupI18nQuery orderByChapo($order = Criteria::ASC) Order by the chapo column - * @method ChildGroupI18nQuery orderByPostscriptum($order = Criteria::ASC) Order by the postscriptum column + * @method ChildProfileI18nQuery orderById($order = Criteria::ASC) Order by the id column + * @method ChildProfileI18nQuery orderByLocale($order = Criteria::ASC) Order by the locale column + * @method ChildProfileI18nQuery orderByTitle($order = Criteria::ASC) Order by the title column + * @method ChildProfileI18nQuery orderByDescription($order = Criteria::ASC) Order by the description column + * @method ChildProfileI18nQuery orderByChapo($order = Criteria::ASC) Order by the chapo column + * @method ChildProfileI18nQuery orderByPostscriptum($order = Criteria::ASC) Order by the postscriptum column * - * @method ChildGroupI18nQuery groupById() Group by the id column - * @method ChildGroupI18nQuery groupByLocale() Group by the locale column - * @method ChildGroupI18nQuery groupByTitle() Group by the title column - * @method ChildGroupI18nQuery groupByDescription() Group by the description column - * @method ChildGroupI18nQuery groupByChapo() Group by the chapo column - * @method ChildGroupI18nQuery groupByPostscriptum() Group by the postscriptum column + * @method ChildProfileI18nQuery groupById() Group by the id column + * @method ChildProfileI18nQuery groupByLocale() Group by the locale column + * @method ChildProfileI18nQuery groupByTitle() Group by the title column + * @method ChildProfileI18nQuery groupByDescription() Group by the description column + * @method ChildProfileI18nQuery groupByChapo() Group by the chapo column + * @method ChildProfileI18nQuery groupByPostscriptum() Group by the postscriptum column * - * @method ChildGroupI18nQuery leftJoin($relation) Adds a LEFT JOIN clause to the query - * @method ChildGroupI18nQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query - * @method ChildGroupI18nQuery innerJoin($relation) Adds a INNER JOIN clause to the query + * @method ChildProfileI18nQuery leftJoin($relation) Adds a LEFT JOIN clause to the query + * @method ChildProfileI18nQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query + * @method ChildProfileI18nQuery innerJoin($relation) Adds a INNER JOIN clause to the query * - * @method ChildGroupI18nQuery leftJoinGroup($relationAlias = null) Adds a LEFT JOIN clause to the query using the Group relation - * @method ChildGroupI18nQuery rightJoinGroup($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Group relation - * @method ChildGroupI18nQuery innerJoinGroup($relationAlias = null) Adds a INNER JOIN clause to the query using the Group relation + * @method ChildProfileI18nQuery leftJoinProfile($relationAlias = null) Adds a LEFT JOIN clause to the query using the Profile relation + * @method ChildProfileI18nQuery rightJoinProfile($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Profile relation + * @method ChildProfileI18nQuery innerJoinProfile($relationAlias = null) Adds a INNER JOIN clause to the query using the Profile relation * - * @method ChildGroupI18n findOne(ConnectionInterface $con = null) Return the first ChildGroupI18n matching the query - * @method ChildGroupI18n findOneOrCreate(ConnectionInterface $con = null) Return the first ChildGroupI18n matching the query, or a new ChildGroupI18n object populated from the query conditions when no match is found + * @method ChildProfileI18n findOne(ConnectionInterface $con = null) Return the first ChildProfileI18n matching the query + * @method ChildProfileI18n findOneOrCreate(ConnectionInterface $con = null) Return the first ChildProfileI18n matching the query, or a new ChildProfileI18n object populated from the query conditions when no match is found * - * @method ChildGroupI18n findOneById(int $id) Return the first ChildGroupI18n filtered by the id column - * @method ChildGroupI18n findOneByLocale(string $locale) Return the first ChildGroupI18n filtered by the locale column - * @method ChildGroupI18n findOneByTitle(string $title) Return the first ChildGroupI18n filtered by the title column - * @method ChildGroupI18n findOneByDescription(string $description) Return the first ChildGroupI18n filtered by the description column - * @method ChildGroupI18n findOneByChapo(string $chapo) Return the first ChildGroupI18n filtered by the chapo column - * @method ChildGroupI18n findOneByPostscriptum(string $postscriptum) Return the first ChildGroupI18n filtered by the postscriptum column + * @method ChildProfileI18n findOneById(int $id) Return the first ChildProfileI18n filtered by the id column + * @method ChildProfileI18n findOneByLocale(string $locale) Return the first ChildProfileI18n filtered by the locale column + * @method ChildProfileI18n findOneByTitle(string $title) Return the first ChildProfileI18n filtered by the title column + * @method ChildProfileI18n findOneByDescription(string $description) Return the first ChildProfileI18n filtered by the description column + * @method ChildProfileI18n findOneByChapo(string $chapo) Return the first ChildProfileI18n filtered by the chapo column + * @method ChildProfileI18n findOneByPostscriptum(string $postscriptum) Return the first ChildProfileI18n filtered by the postscriptum column * - * @method array findById(int $id) Return ChildGroupI18n objects filtered by the id column - * @method array findByLocale(string $locale) Return ChildGroupI18n objects filtered by the locale column - * @method array findByTitle(string $title) Return ChildGroupI18n objects filtered by the title column - * @method array findByDescription(string $description) Return ChildGroupI18n objects filtered by the description column - * @method array findByChapo(string $chapo) Return ChildGroupI18n objects filtered by the chapo column - * @method array findByPostscriptum(string $postscriptum) Return ChildGroupI18n objects filtered by the postscriptum column + * @method array findById(int $id) Return ChildProfileI18n objects filtered by the id column + * @method array findByLocale(string $locale) Return ChildProfileI18n objects filtered by the locale column + * @method array findByTitle(string $title) Return ChildProfileI18n objects filtered by the title column + * @method array findByDescription(string $description) Return ChildProfileI18n objects filtered by the description column + * @method array findByChapo(string $chapo) Return ChildProfileI18n objects filtered by the chapo column + * @method array findByPostscriptum(string $postscriptum) Return ChildProfileI18n objects filtered by the postscriptum column * */ -abstract class GroupI18nQuery extends ModelCriteria +abstract class ProfileI18nQuery extends ModelCriteria { /** - * Initializes internal state of \Thelia\Model\Base\GroupI18nQuery object. + * Initializes internal state of \Thelia\Model\Base\ProfileI18nQuery object. * * @param string $dbName The database name * @param string $modelName The phpName of a model, e.g. 'Book' * @param string $modelAlias The alias for the model in this query, e.g. 'b' */ - public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\GroupI18n', $modelAlias = null) + public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\ProfileI18n', $modelAlias = null) { parent::__construct($dbName, $modelName, $modelAlias); } /** - * Returns a new ChildGroupI18nQuery object. + * Returns a new ChildProfileI18nQuery object. * * @param string $modelAlias The alias of a model in the query * @param Criteria $criteria Optional Criteria to build the query from * - * @return ChildGroupI18nQuery + * @return ChildProfileI18nQuery */ public static function create($modelAlias = null, $criteria = null) { - if ($criteria instanceof \Thelia\Model\GroupI18nQuery) { + if ($criteria instanceof \Thelia\Model\ProfileI18nQuery) { return $criteria; } - $query = new \Thelia\Model\GroupI18nQuery(); + $query = new \Thelia\Model\ProfileI18nQuery(); if (null !== $modelAlias) { $query->setModelAlias($modelAlias); } @@ -112,19 +112,19 @@ abstract class GroupI18nQuery extends ModelCriteria * @param array[$id, $locale] $key Primary key to use for the query * @param ConnectionInterface $con an optional connection object * - * @return ChildGroupI18n|array|mixed the result, formatted by the current formatter + * @return ChildProfileI18n|array|mixed the result, formatted by the current formatter */ public function findPk($key, $con = null) { if ($key === null) { return null; } - if ((null !== ($obj = GroupI18nTableMap::getInstanceFromPool(serialize(array((string) $key[0], (string) $key[1]))))) && !$this->formatter) { + if ((null !== ($obj = ProfileI18nTableMap::getInstanceFromPool(serialize(array((string) $key[0], (string) $key[1]))))) && !$this->formatter) { // the object is already in the instance pool return $obj; } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileI18nTableMap::DATABASE_NAME); } $this->basePreSelect($con); if ($this->formatter || $this->modelAlias || $this->with || $this->select @@ -143,11 +143,11 @@ abstract class GroupI18nQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroupI18n A model object, or null if the key is not found + * @return ChildProfileI18n A model object, or null if the key is not found */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM FROM group_i18n WHERE ID = :p0 AND LOCALE = :p1'; + $sql = 'SELECT ID, LOCALE, TITLE, DESCRIPTION, CHAPO, POSTSCRIPTUM FROM profile_i18n WHERE ID = :p0 AND LOCALE = :p1'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key[0], PDO::PARAM_INT); @@ -159,9 +159,9 @@ abstract class GroupI18nQuery extends ModelCriteria } $obj = null; if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { - $obj = new ChildGroupI18n(); + $obj = new ChildProfileI18n(); $obj->hydrate($row); - GroupI18nTableMap::addInstanceToPool($obj, serialize(array((string) $key[0], (string) $key[1]))); + ProfileI18nTableMap::addInstanceToPool($obj, serialize(array((string) $key[0], (string) $key[1]))); } $stmt->closeCursor(); @@ -174,7 +174,7 @@ abstract class GroupI18nQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroupI18n|array|mixed the result, formatted by the current formatter + * @return ChildProfileI18n|array|mixed the result, formatted by the current formatter */ protected function findPkComplex($key, $con) { @@ -216,12 +216,12 @@ abstract class GroupI18nQuery extends ModelCriteria * * @param mixed $key Primary key to use for the query * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterByPrimaryKey($key) { - $this->addUsingAlias(GroupI18nTableMap::ID, $key[0], Criteria::EQUAL); - $this->addUsingAlias(GroupI18nTableMap::LOCALE, $key[1], Criteria::EQUAL); + $this->addUsingAlias(ProfileI18nTableMap::ID, $key[0], Criteria::EQUAL); + $this->addUsingAlias(ProfileI18nTableMap::LOCALE, $key[1], Criteria::EQUAL); return $this; } @@ -231,7 +231,7 @@ abstract class GroupI18nQuery extends ModelCriteria * * @param array $keys The list of primary key to use for the query * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterByPrimaryKeys($keys) { @@ -239,8 +239,8 @@ abstract class GroupI18nQuery extends ModelCriteria return $this->add(null, '1<>1', Criteria::CUSTOM); } foreach ($keys as $key) { - $cton0 = $this->getNewCriterion(GroupI18nTableMap::ID, $key[0], Criteria::EQUAL); - $cton1 = $this->getNewCriterion(GroupI18nTableMap::LOCALE, $key[1], Criteria::EQUAL); + $cton0 = $this->getNewCriterion(ProfileI18nTableMap::ID, $key[0], Criteria::EQUAL); + $cton1 = $this->getNewCriterion(ProfileI18nTableMap::LOCALE, $key[1], Criteria::EQUAL); $cton0->addAnd($cton1); $this->addOr($cton0); } @@ -258,7 +258,7 @@ abstract class GroupI18nQuery extends ModelCriteria * $query->filterById(array('min' => 12)); // WHERE id > 12 * * - * @see filterByGroup() + * @see filterByProfile() * * @param mixed $id The value to use as filter. * Use scalar values for equality. @@ -266,18 +266,18 @@ abstract class GroupI18nQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterById($id = null, $comparison = null) { if (is_array($id)) { $useMinMax = false; if (isset($id['min'])) { - $this->addUsingAlias(GroupI18nTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileI18nTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($id['max'])) { - $this->addUsingAlias(GroupI18nTableMap::ID, $id['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileI18nTableMap::ID, $id['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -288,7 +288,7 @@ abstract class GroupI18nQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupI18nTableMap::ID, $id, $comparison); + return $this->addUsingAlias(ProfileI18nTableMap::ID, $id, $comparison); } /** @@ -304,7 +304,7 @@ abstract class GroupI18nQuery extends ModelCriteria * Accepts wildcards (* and % trigger a LIKE) * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterByLocale($locale = null, $comparison = null) { @@ -317,7 +317,7 @@ abstract class GroupI18nQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupI18nTableMap::LOCALE, $locale, $comparison); + return $this->addUsingAlias(ProfileI18nTableMap::LOCALE, $locale, $comparison); } /** @@ -333,7 +333,7 @@ abstract class GroupI18nQuery extends ModelCriteria * Accepts wildcards (* and % trigger a LIKE) * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterByTitle($title = null, $comparison = null) { @@ -346,7 +346,7 @@ abstract class GroupI18nQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupI18nTableMap::TITLE, $title, $comparison); + return $this->addUsingAlias(ProfileI18nTableMap::TITLE, $title, $comparison); } /** @@ -362,7 +362,7 @@ abstract class GroupI18nQuery extends ModelCriteria * Accepts wildcards (* and % trigger a LIKE) * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterByDescription($description = null, $comparison = null) { @@ -375,7 +375,7 @@ abstract class GroupI18nQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupI18nTableMap::DESCRIPTION, $description, $comparison); + return $this->addUsingAlias(ProfileI18nTableMap::DESCRIPTION, $description, $comparison); } /** @@ -391,7 +391,7 @@ abstract class GroupI18nQuery extends ModelCriteria * Accepts wildcards (* and % trigger a LIKE) * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterByChapo($chapo = null, $comparison = null) { @@ -404,7 +404,7 @@ abstract class GroupI18nQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupI18nTableMap::CHAPO, $chapo, $comparison); + return $this->addUsingAlias(ProfileI18nTableMap::CHAPO, $chapo, $comparison); } /** @@ -420,7 +420,7 @@ abstract class GroupI18nQuery extends ModelCriteria * Accepts wildcards (* and % trigger a LIKE) * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ public function filterByPostscriptum($postscriptum = null, $comparison = null) { @@ -433,46 +433,46 @@ abstract class GroupI18nQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupI18nTableMap::POSTSCRIPTUM, $postscriptum, $comparison); + return $this->addUsingAlias(ProfileI18nTableMap::POSTSCRIPTUM, $postscriptum, $comparison); } /** - * Filter the query by a related \Thelia\Model\Group object + * Filter the query by a related \Thelia\Model\Profile object * - * @param \Thelia\Model\Group|ObjectCollection $group The related object(s) to use as filter + * @param \Thelia\Model\Profile|ObjectCollection $profile The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ - public function filterByGroup($group, $comparison = null) + public function filterByProfile($profile, $comparison = null) { - if ($group instanceof \Thelia\Model\Group) { + if ($profile instanceof \Thelia\Model\Profile) { return $this - ->addUsingAlias(GroupI18nTableMap::ID, $group->getId(), $comparison); - } elseif ($group instanceof ObjectCollection) { + ->addUsingAlias(ProfileI18nTableMap::ID, $profile->getId(), $comparison); + } elseif ($profile instanceof ObjectCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this - ->addUsingAlias(GroupI18nTableMap::ID, $group->toKeyValue('PrimaryKey', 'Id'), $comparison); + ->addUsingAlias(ProfileI18nTableMap::ID, $profile->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { - throw new PropelException('filterByGroup() only accepts arguments of type \Thelia\Model\Group or Collection'); + throw new PropelException('filterByProfile() only accepts arguments of type \Thelia\Model\Profile or Collection'); } } /** - * Adds a JOIN clause to the query using the Group relation + * Adds a JOIN clause to the query using the Profile relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ - public function joinGroup($relationAlias = null, $joinType = 'LEFT JOIN') + public function joinProfile($relationAlias = null, $joinType = 'LEFT JOIN') { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('Group'); + $relationMap = $tableMap->getRelation('Profile'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -487,14 +487,14 @@ abstract class GroupI18nQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'Group'); + $this->addJoinObject($join, 'Profile'); } return $this; } /** - * Use the Group relation Group object + * Use the Profile relation Profile object * * @see useQuery() * @@ -502,27 +502,27 @@ abstract class GroupI18nQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileQuery A secondary query class using the current class as primary query */ - public function useGroupQuery($relationAlias = null, $joinType = 'LEFT JOIN') + public function useProfileQuery($relationAlias = null, $joinType = 'LEFT JOIN') { return $this - ->joinGroup($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'Group', '\Thelia\Model\GroupQuery'); + ->joinProfile($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Profile', '\Thelia\Model\ProfileQuery'); } /** * Exclude object from result * - * @param ChildGroupI18n $groupI18n Object to remove from the list of results + * @param ChildProfileI18n $profileI18n Object to remove from the list of results * - * @return ChildGroupI18nQuery The current query, for fluid interface + * @return ChildProfileI18nQuery The current query, for fluid interface */ - public function prune($groupI18n = null) + public function prune($profileI18n = null) { - if ($groupI18n) { - $this->addCond('pruneCond0', $this->getAliasedColName(GroupI18nTableMap::ID), $groupI18n->getId(), Criteria::NOT_EQUAL); - $this->addCond('pruneCond1', $this->getAliasedColName(GroupI18nTableMap::LOCALE), $groupI18n->getLocale(), Criteria::NOT_EQUAL); + if ($profileI18n) { + $this->addCond('pruneCond0', $this->getAliasedColName(ProfileI18nTableMap::ID), $profileI18n->getId(), Criteria::NOT_EQUAL); + $this->addCond('pruneCond1', $this->getAliasedColName(ProfileI18nTableMap::LOCALE), $profileI18n->getLocale(), Criteria::NOT_EQUAL); $this->combine(array('pruneCond0', 'pruneCond1'), Criteria::LOGICAL_OR); } @@ -530,7 +530,7 @@ abstract class GroupI18nQuery extends ModelCriteria } /** - * Deletes all rows from the group_i18n table. + * Deletes all rows from the profile_i18n table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). @@ -538,7 +538,7 @@ abstract class GroupI18nQuery extends ModelCriteria public function doDeleteAll(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileI18nTableMap::DATABASE_NAME); } $affectedRows = 0; // initialize var to track total num of affected rows try { @@ -549,8 +549,8 @@ abstract class GroupI18nQuery extends ModelCriteria // Because this db requires some delete cascade/set null emulation, we have to // clear the cached instance *after* the emulation has happened (since // instances get re-added by the select statement contained therein). - GroupI18nTableMap::clearInstancePool(); - GroupI18nTableMap::clearRelatedInstancePool(); + ProfileI18nTableMap::clearInstancePool(); + ProfileI18nTableMap::clearRelatedInstancePool(); $con->commit(); } catch (PropelException $e) { @@ -562,9 +562,9 @@ abstract class GroupI18nQuery extends ModelCriteria } /** - * Performs a DELETE on the database, given a ChildGroupI18n or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a ChildProfileI18n or Criteria object OR a primary key value. * - * @param mixed $values Criteria or ChildGroupI18n object or primary key or array of primary keys + * @param mixed $values Criteria or ChildProfileI18n object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -575,13 +575,13 @@ abstract class GroupI18nQuery extends ModelCriteria public function delete(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileI18nTableMap::DATABASE_NAME); } $criteria = $this; // Set the correct dbName - $criteria->setDbName(GroupI18nTableMap::DATABASE_NAME); + $criteria->setDbName(ProfileI18nTableMap::DATABASE_NAME); $affectedRows = 0; // initialize var to track total num of affected rows @@ -591,10 +591,10 @@ abstract class GroupI18nQuery extends ModelCriteria $con->beginTransaction(); - GroupI18nTableMap::removeInstanceFromPool($criteria); + ProfileI18nTableMap::removeInstanceFromPool($criteria); $affectedRows += ModelCriteria::delete($con); - GroupI18nTableMap::clearRelatedInstancePool(); + ProfileI18nTableMap::clearRelatedInstancePool(); $con->commit(); return $affectedRows; @@ -604,4 +604,4 @@ abstract class GroupI18nQuery extends ModelCriteria } } -} // GroupI18nQuery +} // ProfileI18nQuery diff --git a/core/lib/Thelia/Model/Base/GroupModule.php b/core/lib/Thelia/Model/Base/ProfileModule.php similarity index 83% rename from core/lib/Thelia/Model/Base/GroupModule.php rename to core/lib/Thelia/Model/Base/ProfileModule.php index e3f9d9e15..acd54b534 100644 --- a/core/lib/Thelia/Model/Base/GroupModule.php +++ b/core/lib/Thelia/Model/Base/ProfileModule.php @@ -16,20 +16,20 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Parser\AbstractParser; use Propel\Runtime\Util\PropelDateTime; -use Thelia\Model\Group as ChildGroup; -use Thelia\Model\GroupModule as ChildGroupModule; -use Thelia\Model\GroupModuleQuery as ChildGroupModuleQuery; -use Thelia\Model\GroupQuery as ChildGroupQuery; use Thelia\Model\Module as ChildModule; use Thelia\Model\ModuleQuery as ChildModuleQuery; -use Thelia\Model\Map\GroupModuleTableMap; +use Thelia\Model\Profile as ChildProfile; +use Thelia\Model\ProfileModule as ChildProfileModule; +use Thelia\Model\ProfileModuleQuery as ChildProfileModuleQuery; +use Thelia\Model\ProfileQuery as ChildProfileQuery; +use Thelia\Model\Map\ProfileModuleTableMap; -abstract class GroupModule implements ActiveRecordInterface +abstract class ProfileModule implements ActiveRecordInterface { /** * TableMap class name */ - const TABLE_MAP = '\\Thelia\\Model\\Map\\GroupModuleTableMap'; + const TABLE_MAP = '\\Thelia\\Model\\Map\\ProfileModuleTableMap'; /** @@ -65,10 +65,10 @@ abstract class GroupModule implements ActiveRecordInterface protected $id; /** - * The value for the group_id field. + * The value for the profile_id field. * @var int */ - protected $group_id; + protected $profile_id; /** * The value for the module_id field. @@ -96,9 +96,9 @@ abstract class GroupModule implements ActiveRecordInterface protected $updated_at; /** - * @var Group + * @var Profile */ - protected $aGroup; + protected $aProfile; /** * @var Module @@ -125,7 +125,7 @@ abstract class GroupModule implements ActiveRecordInterface } /** - * Initializes internal state of Thelia\Model\Base\GroupModule object. + * Initializes internal state of Thelia\Model\Base\ProfileModule object. * @see applyDefaults() */ public function __construct() @@ -222,9 +222,9 @@ abstract class GroupModule implements ActiveRecordInterface } /** - * Compares this with another GroupModule instance. If - * obj is an instance of GroupModule, delegates to - * equals(GroupModule). Otherwise, returns false. + * Compares this with another ProfileModule instance. If + * obj is an instance of ProfileModule, delegates to + * equals(ProfileModule). Otherwise, returns false. * * @param mixed $obj The object to compare to. * @return boolean Whether equal to the object specified. @@ -307,7 +307,7 @@ abstract class GroupModule implements ActiveRecordInterface * @param string $name The virtual column name * @param mixed $value The value to give to the virtual column * - * @return GroupModule The current object, for fluid interface + * @return ProfileModule The current object, for fluid interface */ public function setVirtualColumn($name, $value) { @@ -339,7 +339,7 @@ abstract class GroupModule implements ActiveRecordInterface * or a format name ('XML', 'YAML', 'JSON', 'CSV') * @param string $data The source data to import from * - * @return GroupModule The current object, for fluid interface + * @return ProfileModule The current object, for fluid interface */ public function importFrom($parser, $data) { @@ -396,14 +396,14 @@ abstract class GroupModule implements ActiveRecordInterface } /** - * Get the [group_id] column value. + * Get the [profile_id] column value. * * @return int */ - public function getGroupId() + public function getProfileId() { - return $this->group_id; + return $this->profile_id; } /** @@ -472,7 +472,7 @@ abstract class GroupModule implements ActiveRecordInterface * Set the value of [id] column. * * @param int $v new value - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) */ public function setId($v) { @@ -482,7 +482,7 @@ abstract class GroupModule implements ActiveRecordInterface if ($this->id !== $v) { $this->id = $v; - $this->modifiedColumns[] = GroupModuleTableMap::ID; + $this->modifiedColumns[] = ProfileModuleTableMap::ID; } @@ -490,35 +490,35 @@ abstract class GroupModule implements ActiveRecordInterface } // setId() /** - * Set the value of [group_id] column. + * Set the value of [profile_id] column. * * @param int $v new value - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) */ - public function setGroupId($v) + public function setProfileId($v) { if ($v !== null) { $v = (int) $v; } - if ($this->group_id !== $v) { - $this->group_id = $v; - $this->modifiedColumns[] = GroupModuleTableMap::GROUP_ID; + if ($this->profile_id !== $v) { + $this->profile_id = $v; + $this->modifiedColumns[] = ProfileModuleTableMap::PROFILE_ID; } - if ($this->aGroup !== null && $this->aGroup->getId() !== $v) { - $this->aGroup = null; + if ($this->aProfile !== null && $this->aProfile->getId() !== $v) { + $this->aProfile = null; } return $this; - } // setGroupId() + } // setProfileId() /** * Set the value of [module_id] column. * * @param int $v new value - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) */ public function setModuleId($v) { @@ -528,7 +528,7 @@ abstract class GroupModule implements ActiveRecordInterface if ($this->module_id !== $v) { $this->module_id = $v; - $this->modifiedColumns[] = GroupModuleTableMap::MODULE_ID; + $this->modifiedColumns[] = ProfileModuleTableMap::MODULE_ID; } if ($this->aModule !== null && $this->aModule->getId() !== $v) { @@ -543,7 +543,7 @@ abstract class GroupModule implements ActiveRecordInterface * Set the value of [access] column. * * @param int $v new value - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) */ public function setAccess($v) { @@ -553,7 +553,7 @@ abstract class GroupModule implements ActiveRecordInterface if ($this->access !== $v) { $this->access = $v; - $this->modifiedColumns[] = GroupModuleTableMap::ACCESS; + $this->modifiedColumns[] = ProfileModuleTableMap::ACCESS; } @@ -565,7 +565,7 @@ abstract class GroupModule implements ActiveRecordInterface * * @param mixed $v string, integer (timestamp), or \DateTime value. * Empty strings are treated as NULL. - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) */ public function setCreatedAt($v) { @@ -573,7 +573,7 @@ abstract class GroupModule implements ActiveRecordInterface if ($this->created_at !== null || $dt !== null) { if ($dt !== $this->created_at) { $this->created_at = $dt; - $this->modifiedColumns[] = GroupModuleTableMap::CREATED_AT; + $this->modifiedColumns[] = ProfileModuleTableMap::CREATED_AT; } } // if either are not null @@ -586,7 +586,7 @@ abstract class GroupModule implements ActiveRecordInterface * * @param mixed $v string, integer (timestamp), or \DateTime value. * Empty strings are treated as NULL. - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) */ public function setUpdatedAt($v) { @@ -594,7 +594,7 @@ abstract class GroupModule implements ActiveRecordInterface if ($this->updated_at !== null || $dt !== null) { if ($dt !== $this->updated_at) { $this->updated_at = $dt; - $this->modifiedColumns[] = GroupModuleTableMap::UPDATED_AT; + $this->modifiedColumns[] = ProfileModuleTableMap::UPDATED_AT; } } // if either are not null @@ -643,25 +643,25 @@ abstract class GroupModule implements ActiveRecordInterface try { - $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : GroupModuleTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : ProfileModuleTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; $this->id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : GroupModuleTableMap::translateFieldName('GroupId', TableMap::TYPE_PHPNAME, $indexType)]; - $this->group_id = (null !== $col) ? (int) $col : null; + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : ProfileModuleTableMap::translateFieldName('ProfileId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->profile_id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : GroupModuleTableMap::translateFieldName('ModuleId', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : ProfileModuleTableMap::translateFieldName('ModuleId', TableMap::TYPE_PHPNAME, $indexType)]; $this->module_id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : GroupModuleTableMap::translateFieldName('Access', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : ProfileModuleTableMap::translateFieldName('Access', TableMap::TYPE_PHPNAME, $indexType)]; $this->access = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : GroupModuleTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : ProfileModuleTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : GroupModuleTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : ProfileModuleTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -674,10 +674,10 @@ abstract class GroupModule implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 6; // 6 = GroupModuleTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 6; // 6 = ProfileModuleTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { - throw new PropelException("Error populating \Thelia\Model\GroupModule object", 0, $e); + throw new PropelException("Error populating \Thelia\Model\ProfileModule object", 0, $e); } } @@ -696,8 +696,8 @@ abstract class GroupModule implements ActiveRecordInterface */ public function ensureConsistency() { - if ($this->aGroup !== null && $this->group_id !== $this->aGroup->getId()) { - $this->aGroup = null; + if ($this->aProfile !== null && $this->profile_id !== $this->aProfile->getId()) { + $this->aProfile = null; } if ($this->aModule !== null && $this->module_id !== $this->aModule->getId()) { $this->aModule = null; @@ -725,13 +725,13 @@ abstract class GroupModule implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileModuleTableMap::DATABASE_NAME); } // We don't need to alter the object instance pool; we're just modifying this instance // already in the pool. - $dataFetcher = ChildGroupModuleQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $dataFetcher = ChildProfileModuleQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); $row = $dataFetcher->fetch(); $dataFetcher->close(); if (!$row) { @@ -741,7 +741,7 @@ abstract class GroupModule implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? - $this->aGroup = null; + $this->aProfile = null; $this->aModule = null; } // if (deep) } @@ -752,8 +752,8 @@ abstract class GroupModule implements ActiveRecordInterface * @param ConnectionInterface $con * @return void * @throws PropelException - * @see GroupModule::setDeleted() - * @see GroupModule::isDeleted() + * @see ProfileModule::setDeleted() + * @see ProfileModule::isDeleted() */ public function delete(ConnectionInterface $con = null) { @@ -762,12 +762,12 @@ abstract class GroupModule implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileModuleTableMap::DATABASE_NAME); } $con->beginTransaction(); try { - $deleteQuery = ChildGroupModuleQuery::create() + $deleteQuery = ChildProfileModuleQuery::create() ->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { @@ -804,7 +804,7 @@ abstract class GroupModule implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileModuleTableMap::DATABASE_NAME); } $con->beginTransaction(); @@ -814,16 +814,16 @@ abstract class GroupModule implements ActiveRecordInterface if ($isInsert) { $ret = $ret && $this->preInsert($con); // timestampable behavior - if (!$this->isColumnModified(GroupModuleTableMap::CREATED_AT)) { + if (!$this->isColumnModified(ProfileModuleTableMap::CREATED_AT)) { $this->setCreatedAt(time()); } - if (!$this->isColumnModified(GroupModuleTableMap::UPDATED_AT)) { + if (!$this->isColumnModified(ProfileModuleTableMap::UPDATED_AT)) { $this->setUpdatedAt(time()); } } else { $ret = $ret && $this->preUpdate($con); // timestampable behavior - if ($this->isModified() && !$this->isColumnModified(GroupModuleTableMap::UPDATED_AT)) { + if ($this->isModified() && !$this->isColumnModified(ProfileModuleTableMap::UPDATED_AT)) { $this->setUpdatedAt(time()); } } @@ -835,7 +835,7 @@ abstract class GroupModule implements ActiveRecordInterface $this->postUpdate($con); } $this->postSave($con); - GroupModuleTableMap::addInstanceToPool($this); + ProfileModuleTableMap::addInstanceToPool($this); } else { $affectedRows = 0; } @@ -870,11 +870,11 @@ abstract class GroupModule implements ActiveRecordInterface // method. This object relates to these object(s) by a // foreign key reference. - if ($this->aGroup !== null) { - if ($this->aGroup->isModified() || $this->aGroup->isNew()) { - $affectedRows += $this->aGroup->save($con); + if ($this->aProfile !== null) { + if ($this->aProfile->isModified() || $this->aProfile->isNew()) { + $affectedRows += $this->aProfile->save($con); } - $this->setGroup($this->aGroup); + $this->setProfile($this->aProfile); } if ($this->aModule !== null) { @@ -915,33 +915,33 @@ abstract class GroupModule implements ActiveRecordInterface $modifiedColumns = array(); $index = 0; - $this->modifiedColumns[] = GroupModuleTableMap::ID; + $this->modifiedColumns[] = ProfileModuleTableMap::ID; if (null !== $this->id) { - throw new PropelException('Cannot insert a value for auto-increment primary key (' . GroupModuleTableMap::ID . ')'); + throw new PropelException('Cannot insert a value for auto-increment primary key (' . ProfileModuleTableMap::ID . ')'); } // check the columns in natural order for more readable SQL queries - if ($this->isColumnModified(GroupModuleTableMap::ID)) { + if ($this->isColumnModified(ProfileModuleTableMap::ID)) { $modifiedColumns[':p' . $index++] = 'ID'; } - if ($this->isColumnModified(GroupModuleTableMap::GROUP_ID)) { - $modifiedColumns[':p' . $index++] = 'GROUP_ID'; + if ($this->isColumnModified(ProfileModuleTableMap::PROFILE_ID)) { + $modifiedColumns[':p' . $index++] = 'PROFILE_ID'; } - if ($this->isColumnModified(GroupModuleTableMap::MODULE_ID)) { + if ($this->isColumnModified(ProfileModuleTableMap::MODULE_ID)) { $modifiedColumns[':p' . $index++] = 'MODULE_ID'; } - if ($this->isColumnModified(GroupModuleTableMap::ACCESS)) { + if ($this->isColumnModified(ProfileModuleTableMap::ACCESS)) { $modifiedColumns[':p' . $index++] = 'ACCESS'; } - if ($this->isColumnModified(GroupModuleTableMap::CREATED_AT)) { + if ($this->isColumnModified(ProfileModuleTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = 'CREATED_AT'; } - if ($this->isColumnModified(GroupModuleTableMap::UPDATED_AT)) { + if ($this->isColumnModified(ProfileModuleTableMap::UPDATED_AT)) { $modifiedColumns[':p' . $index++] = 'UPDATED_AT'; } $sql = sprintf( - 'INSERT INTO group_module (%s) VALUES (%s)', + 'INSERT INTO profile_module (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)) ); @@ -953,8 +953,8 @@ abstract class GroupModule implements ActiveRecordInterface case 'ID': $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); break; - case 'GROUP_ID': - $stmt->bindValue($identifier, $this->group_id, PDO::PARAM_INT); + case 'PROFILE_ID': + $stmt->bindValue($identifier, $this->profile_id, PDO::PARAM_INT); break; case 'MODULE_ID': $stmt->bindValue($identifier, $this->module_id, PDO::PARAM_INT); @@ -1014,7 +1014,7 @@ abstract class GroupModule implements ActiveRecordInterface */ public function getByName($name, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupModuleTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileModuleTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); $field = $this->getByPosition($pos); return $field; @@ -1034,7 +1034,7 @@ abstract class GroupModule implements ActiveRecordInterface return $this->getId(); break; case 1: - return $this->getGroupId(); + return $this->getProfileId(); break; case 2: return $this->getModuleId(); @@ -1071,14 +1071,14 @@ abstract class GroupModule implements ActiveRecordInterface */ public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) { - if (isset($alreadyDumpedObjects['GroupModule'][$this->getPrimaryKey()])) { + if (isset($alreadyDumpedObjects['ProfileModule'][$this->getPrimaryKey()])) { return '*RECURSION*'; } - $alreadyDumpedObjects['GroupModule'][$this->getPrimaryKey()] = true; - $keys = GroupModuleTableMap::getFieldNames($keyType); + $alreadyDumpedObjects['ProfileModule'][$this->getPrimaryKey()] = true; + $keys = ProfileModuleTableMap::getFieldNames($keyType); $result = array( $keys[0] => $this->getId(), - $keys[1] => $this->getGroupId(), + $keys[1] => $this->getProfileId(), $keys[2] => $this->getModuleId(), $keys[3] => $this->getAccess(), $keys[4] => $this->getCreatedAt(), @@ -1090,8 +1090,8 @@ abstract class GroupModule implements ActiveRecordInterface } if ($includeForeignObjects) { - if (null !== $this->aGroup) { - $result['Group'] = $this->aGroup->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + if (null !== $this->aProfile) { + $result['Profile'] = $this->aProfile->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); } if (null !== $this->aModule) { $result['Module'] = $this->aModule->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); @@ -1114,7 +1114,7 @@ abstract class GroupModule implements ActiveRecordInterface */ public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupModuleTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileModuleTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); return $this->setByPosition($pos, $value); } @@ -1134,7 +1134,7 @@ abstract class GroupModule implements ActiveRecordInterface $this->setId($value); break; case 1: - $this->setGroupId($value); + $this->setProfileId($value); break; case 2: $this->setModuleId($value); @@ -1170,10 +1170,10 @@ abstract class GroupModule implements ActiveRecordInterface */ public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) { - $keys = GroupModuleTableMap::getFieldNames($keyType); + $keys = ProfileModuleTableMap::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); - if (array_key_exists($keys[1], $arr)) $this->setGroupId($arr[$keys[1]]); + if (array_key_exists($keys[1], $arr)) $this->setProfileId($arr[$keys[1]]); if (array_key_exists($keys[2], $arr)) $this->setModuleId($arr[$keys[2]]); if (array_key_exists($keys[3], $arr)) $this->setAccess($arr[$keys[3]]); if (array_key_exists($keys[4], $arr)) $this->setCreatedAt($arr[$keys[4]]); @@ -1187,14 +1187,14 @@ abstract class GroupModule implements ActiveRecordInterface */ public function buildCriteria() { - $criteria = new Criteria(GroupModuleTableMap::DATABASE_NAME); + $criteria = new Criteria(ProfileModuleTableMap::DATABASE_NAME); - if ($this->isColumnModified(GroupModuleTableMap::ID)) $criteria->add(GroupModuleTableMap::ID, $this->id); - if ($this->isColumnModified(GroupModuleTableMap::GROUP_ID)) $criteria->add(GroupModuleTableMap::GROUP_ID, $this->group_id); - if ($this->isColumnModified(GroupModuleTableMap::MODULE_ID)) $criteria->add(GroupModuleTableMap::MODULE_ID, $this->module_id); - if ($this->isColumnModified(GroupModuleTableMap::ACCESS)) $criteria->add(GroupModuleTableMap::ACCESS, $this->access); - if ($this->isColumnModified(GroupModuleTableMap::CREATED_AT)) $criteria->add(GroupModuleTableMap::CREATED_AT, $this->created_at); - if ($this->isColumnModified(GroupModuleTableMap::UPDATED_AT)) $criteria->add(GroupModuleTableMap::UPDATED_AT, $this->updated_at); + if ($this->isColumnModified(ProfileModuleTableMap::ID)) $criteria->add(ProfileModuleTableMap::ID, $this->id); + if ($this->isColumnModified(ProfileModuleTableMap::PROFILE_ID)) $criteria->add(ProfileModuleTableMap::PROFILE_ID, $this->profile_id); + if ($this->isColumnModified(ProfileModuleTableMap::MODULE_ID)) $criteria->add(ProfileModuleTableMap::MODULE_ID, $this->module_id); + if ($this->isColumnModified(ProfileModuleTableMap::ACCESS)) $criteria->add(ProfileModuleTableMap::ACCESS, $this->access); + if ($this->isColumnModified(ProfileModuleTableMap::CREATED_AT)) $criteria->add(ProfileModuleTableMap::CREATED_AT, $this->created_at); + if ($this->isColumnModified(ProfileModuleTableMap::UPDATED_AT)) $criteria->add(ProfileModuleTableMap::UPDATED_AT, $this->updated_at); return $criteria; } @@ -1209,8 +1209,8 @@ abstract class GroupModule implements ActiveRecordInterface */ public function buildPkeyCriteria() { - $criteria = new Criteria(GroupModuleTableMap::DATABASE_NAME); - $criteria->add(GroupModuleTableMap::ID, $this->id); + $criteria = new Criteria(ProfileModuleTableMap::DATABASE_NAME); + $criteria->add(ProfileModuleTableMap::ID, $this->id); return $criteria; } @@ -1251,14 +1251,14 @@ abstract class GroupModule implements ActiveRecordInterface * If desired, this method can also make copies of all associated (fkey referrers) * objects. * - * @param object $copyObj An object of \Thelia\Model\GroupModule (or compatible) type. + * @param object $copyObj An object of \Thelia\Model\ProfileModule (or compatible) type. * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. * @throws PropelException */ public function copyInto($copyObj, $deepCopy = false, $makeNew = true) { - $copyObj->setGroupId($this->getGroupId()); + $copyObj->setProfileId($this->getProfileId()); $copyObj->setModuleId($this->getModuleId()); $copyObj->setAccess($this->getAccess()); $copyObj->setCreatedAt($this->getCreatedAt()); @@ -1278,7 +1278,7 @@ abstract class GroupModule implements ActiveRecordInterface * objects. * * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. - * @return \Thelia\Model\GroupModule Clone of current object. + * @return \Thelia\Model\ProfileModule Clone of current object. * @throws PropelException */ public function copy($deepCopy = false) @@ -1292,26 +1292,26 @@ abstract class GroupModule implements ActiveRecordInterface } /** - * Declares an association between this object and a ChildGroup object. + * Declares an association between this object and a ChildProfile object. * - * @param ChildGroup $v - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @param ChildProfile $v + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) * @throws PropelException */ - public function setGroup(ChildGroup $v = null) + public function setProfile(ChildProfile $v = null) { if ($v === null) { - $this->setGroupId(NULL); + $this->setProfileId(NULL); } else { - $this->setGroupId($v->getId()); + $this->setProfileId($v->getId()); } - $this->aGroup = $v; + $this->aProfile = $v; // Add binding for other direction of this n:n relationship. - // If this object has already been added to the ChildGroup object, it will not be re-added. + // If this object has already been added to the ChildProfile object, it will not be re-added. if ($v !== null) { - $v->addGroupModule($this); + $v->addProfileModule($this); } @@ -1320,33 +1320,33 @@ abstract class GroupModule implements ActiveRecordInterface /** - * Get the associated ChildGroup object + * Get the associated ChildProfile object * * @param ConnectionInterface $con Optional Connection object. - * @return ChildGroup The associated ChildGroup object. + * @return ChildProfile The associated ChildProfile object. * @throws PropelException */ - public function getGroup(ConnectionInterface $con = null) + public function getProfile(ConnectionInterface $con = null) { - if ($this->aGroup === null && ($this->group_id !== null)) { - $this->aGroup = ChildGroupQuery::create()->findPk($this->group_id, $con); + if ($this->aProfile === null && ($this->profile_id !== null)) { + $this->aProfile = ChildProfileQuery::create()->findPk($this->profile_id, $con); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. - $this->aGroup->addGroupModules($this); + $this->aProfile->addProfileModules($this); */ } - return $this->aGroup; + return $this->aProfile; } /** * Declares an association between this object and a ChildModule object. * * @param ChildModule $v - * @return \Thelia\Model\GroupModule The current object (for fluent API support) + * @return \Thelia\Model\ProfileModule The current object (for fluent API support) * @throws PropelException */ public function setModule(ChildModule $v = null) @@ -1362,7 +1362,7 @@ abstract class GroupModule implements ActiveRecordInterface // Add binding for other direction of this n:n relationship. // If this object has already been added to the ChildModule object, it will not be re-added. if ($v !== null) { - $v->addGroupModule($this); + $v->addProfileModule($this); } @@ -1386,7 +1386,7 @@ abstract class GroupModule implements ActiveRecordInterface to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. - $this->aModule->addGroupModules($this); + $this->aModule->addProfileModules($this); */ } @@ -1399,7 +1399,7 @@ abstract class GroupModule implements ActiveRecordInterface public function clear() { $this->id = null; - $this->group_id = null; + $this->profile_id = null; $this->module_id = null; $this->access = null; $this->created_at = null; @@ -1426,7 +1426,7 @@ abstract class GroupModule implements ActiveRecordInterface if ($deep) { } // if ($deep) - $this->aGroup = null; + $this->aProfile = null; $this->aModule = null; } @@ -1437,7 +1437,7 @@ abstract class GroupModule implements ActiveRecordInterface */ public function __toString() { - return (string) $this->exportTo(GroupModuleTableMap::DEFAULT_STRING_FORMAT); + return (string) $this->exportTo(ProfileModuleTableMap::DEFAULT_STRING_FORMAT); } // timestampable behavior @@ -1445,11 +1445,11 @@ abstract class GroupModule implements ActiveRecordInterface /** * Mark the current object so that the update date doesn't get updated during next save * - * @return ChildGroupModule The current object (for fluent API support) + * @return ChildProfileModule The current object (for fluent API support) */ public function keepUpdateDateUnchanged() { - $this->modifiedColumns[] = GroupModuleTableMap::UPDATED_AT; + $this->modifiedColumns[] = ProfileModuleTableMap::UPDATED_AT; return $this; } diff --git a/core/lib/Thelia/Model/Base/GroupModuleQuery.php b/core/lib/Thelia/Model/Base/ProfileModuleQuery.php similarity index 61% rename from core/lib/Thelia/Model/Base/GroupModuleQuery.php rename to core/lib/Thelia/Model/Base/ProfileModuleQuery.php index 531342ec9..f375b969b 100644 --- a/core/lib/Thelia/Model/Base/GroupModuleQuery.php +++ b/core/lib/Thelia/Model/Base/ProfileModuleQuery.php @@ -12,88 +12,88 @@ use Propel\Runtime\Collection\Collection; use Propel\Runtime\Collection\ObjectCollection; use Propel\Runtime\Connection\ConnectionInterface; use Propel\Runtime\Exception\PropelException; -use Thelia\Model\GroupModule as ChildGroupModule; -use Thelia\Model\GroupModuleQuery as ChildGroupModuleQuery; -use Thelia\Model\Map\GroupModuleTableMap; +use Thelia\Model\ProfileModule as ChildProfileModule; +use Thelia\Model\ProfileModuleQuery as ChildProfileModuleQuery; +use Thelia\Model\Map\ProfileModuleTableMap; /** - * Base class that represents a query for the 'group_module' table. + * Base class that represents a query for the 'profile_module' table. * * * - * @method ChildGroupModuleQuery orderById($order = Criteria::ASC) Order by the id column - * @method ChildGroupModuleQuery orderByGroupId($order = Criteria::ASC) Order by the group_id column - * @method ChildGroupModuleQuery orderByModuleId($order = Criteria::ASC) Order by the module_id column - * @method ChildGroupModuleQuery orderByAccess($order = Criteria::ASC) Order by the access column - * @method ChildGroupModuleQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column - * @method ChildGroupModuleQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column + * @method ChildProfileModuleQuery orderById($order = Criteria::ASC) Order by the id column + * @method ChildProfileModuleQuery orderByProfileId($order = Criteria::ASC) Order by the profile_id column + * @method ChildProfileModuleQuery orderByModuleId($order = Criteria::ASC) Order by the module_id column + * @method ChildProfileModuleQuery orderByAccess($order = Criteria::ASC) Order by the access column + * @method ChildProfileModuleQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column + * @method ChildProfileModuleQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * - * @method ChildGroupModuleQuery groupById() Group by the id column - * @method ChildGroupModuleQuery groupByGroupId() Group by the group_id column - * @method ChildGroupModuleQuery groupByModuleId() Group by the module_id column - * @method ChildGroupModuleQuery groupByAccess() Group by the access column - * @method ChildGroupModuleQuery groupByCreatedAt() Group by the created_at column - * @method ChildGroupModuleQuery groupByUpdatedAt() Group by the updated_at column + * @method ChildProfileModuleQuery groupById() Group by the id column + * @method ChildProfileModuleQuery groupByProfileId() Group by the profile_id column + * @method ChildProfileModuleQuery groupByModuleId() Group by the module_id column + * @method ChildProfileModuleQuery groupByAccess() Group by the access column + * @method ChildProfileModuleQuery groupByCreatedAt() Group by the created_at column + * @method ChildProfileModuleQuery groupByUpdatedAt() Group by the updated_at column * - * @method ChildGroupModuleQuery leftJoin($relation) Adds a LEFT JOIN clause to the query - * @method ChildGroupModuleQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query - * @method ChildGroupModuleQuery innerJoin($relation) Adds a INNER JOIN clause to the query + * @method ChildProfileModuleQuery leftJoin($relation) Adds a LEFT JOIN clause to the query + * @method ChildProfileModuleQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query + * @method ChildProfileModuleQuery innerJoin($relation) Adds a INNER JOIN clause to the query * - * @method ChildGroupModuleQuery leftJoinGroup($relationAlias = null) Adds a LEFT JOIN clause to the query using the Group relation - * @method ChildGroupModuleQuery rightJoinGroup($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Group relation - * @method ChildGroupModuleQuery innerJoinGroup($relationAlias = null) Adds a INNER JOIN clause to the query using the Group relation + * @method ChildProfileModuleQuery leftJoinProfile($relationAlias = null) Adds a LEFT JOIN clause to the query using the Profile relation + * @method ChildProfileModuleQuery rightJoinProfile($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Profile relation + * @method ChildProfileModuleQuery innerJoinProfile($relationAlias = null) Adds a INNER JOIN clause to the query using the Profile relation * - * @method ChildGroupModuleQuery leftJoinModule($relationAlias = null) Adds a LEFT JOIN clause to the query using the Module relation - * @method ChildGroupModuleQuery rightJoinModule($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Module relation - * @method ChildGroupModuleQuery innerJoinModule($relationAlias = null) Adds a INNER JOIN clause to the query using the Module relation + * @method ChildProfileModuleQuery leftJoinModule($relationAlias = null) Adds a LEFT JOIN clause to the query using the Module relation + * @method ChildProfileModuleQuery rightJoinModule($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Module relation + * @method ChildProfileModuleQuery innerJoinModule($relationAlias = null) Adds a INNER JOIN clause to the query using the Module relation * - * @method ChildGroupModule findOne(ConnectionInterface $con = null) Return the first ChildGroupModule matching the query - * @method ChildGroupModule findOneOrCreate(ConnectionInterface $con = null) Return the first ChildGroupModule matching the query, or a new ChildGroupModule object populated from the query conditions when no match is found + * @method ChildProfileModule findOne(ConnectionInterface $con = null) Return the first ChildProfileModule matching the query + * @method ChildProfileModule findOneOrCreate(ConnectionInterface $con = null) Return the first ChildProfileModule matching the query, or a new ChildProfileModule object populated from the query conditions when no match is found * - * @method ChildGroupModule findOneById(int $id) Return the first ChildGroupModule filtered by the id column - * @method ChildGroupModule findOneByGroupId(int $group_id) Return the first ChildGroupModule filtered by the group_id column - * @method ChildGroupModule findOneByModuleId(int $module_id) Return the first ChildGroupModule filtered by the module_id column - * @method ChildGroupModule findOneByAccess(int $access) Return the first ChildGroupModule filtered by the access column - * @method ChildGroupModule findOneByCreatedAt(string $created_at) Return the first ChildGroupModule filtered by the created_at column - * @method ChildGroupModule findOneByUpdatedAt(string $updated_at) Return the first ChildGroupModule filtered by the updated_at column + * @method ChildProfileModule findOneById(int $id) Return the first ChildProfileModule filtered by the id column + * @method ChildProfileModule findOneByProfileId(int $profile_id) Return the first ChildProfileModule filtered by the profile_id column + * @method ChildProfileModule findOneByModuleId(int $module_id) Return the first ChildProfileModule filtered by the module_id column + * @method ChildProfileModule findOneByAccess(int $access) Return the first ChildProfileModule filtered by the access column + * @method ChildProfileModule findOneByCreatedAt(string $created_at) Return the first ChildProfileModule filtered by the created_at column + * @method ChildProfileModule findOneByUpdatedAt(string $updated_at) Return the first ChildProfileModule filtered by the updated_at column * - * @method array findById(int $id) Return ChildGroupModule objects filtered by the id column - * @method array findByGroupId(int $group_id) Return ChildGroupModule objects filtered by the group_id column - * @method array findByModuleId(int $module_id) Return ChildGroupModule objects filtered by the module_id column - * @method array findByAccess(int $access) Return ChildGroupModule objects filtered by the access column - * @method array findByCreatedAt(string $created_at) Return ChildGroupModule objects filtered by the created_at column - * @method array findByUpdatedAt(string $updated_at) Return ChildGroupModule objects filtered by the updated_at column + * @method array findById(int $id) Return ChildProfileModule objects filtered by the id column + * @method array findByProfileId(int $profile_id) Return ChildProfileModule objects filtered by the profile_id column + * @method array findByModuleId(int $module_id) Return ChildProfileModule objects filtered by the module_id column + * @method array findByAccess(int $access) Return ChildProfileModule objects filtered by the access column + * @method array findByCreatedAt(string $created_at) Return ChildProfileModule objects filtered by the created_at column + * @method array findByUpdatedAt(string $updated_at) Return ChildProfileModule objects filtered by the updated_at column * */ -abstract class GroupModuleQuery extends ModelCriteria +abstract class ProfileModuleQuery extends ModelCriteria { /** - * Initializes internal state of \Thelia\Model\Base\GroupModuleQuery object. + * Initializes internal state of \Thelia\Model\Base\ProfileModuleQuery object. * * @param string $dbName The database name * @param string $modelName The phpName of a model, e.g. 'Book' * @param string $modelAlias The alias for the model in this query, e.g. 'b' */ - public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\GroupModule', $modelAlias = null) + public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\ProfileModule', $modelAlias = null) { parent::__construct($dbName, $modelName, $modelAlias); } /** - * Returns a new ChildGroupModuleQuery object. + * Returns a new ChildProfileModuleQuery object. * * @param string $modelAlias The alias of a model in the query * @param Criteria $criteria Optional Criteria to build the query from * - * @return ChildGroupModuleQuery + * @return ChildProfileModuleQuery */ public static function create($modelAlias = null, $criteria = null) { - if ($criteria instanceof \Thelia\Model\GroupModuleQuery) { + if ($criteria instanceof \Thelia\Model\ProfileModuleQuery) { return $criteria; } - $query = new \Thelia\Model\GroupModuleQuery(); + $query = new \Thelia\Model\ProfileModuleQuery(); if (null !== $modelAlias) { $query->setModelAlias($modelAlias); } @@ -116,19 +116,19 @@ abstract class GroupModuleQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con an optional connection object * - * @return ChildGroupModule|array|mixed the result, formatted by the current formatter + * @return ChildProfileModule|array|mixed the result, formatted by the current formatter */ public function findPk($key, $con = null) { if ($key === null) { return null; } - if ((null !== ($obj = GroupModuleTableMap::getInstanceFromPool((string) $key))) && !$this->formatter) { + if ((null !== ($obj = ProfileModuleTableMap::getInstanceFromPool((string) $key))) && !$this->formatter) { // the object is already in the instance pool return $obj; } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileModuleTableMap::DATABASE_NAME); } $this->basePreSelect($con); if ($this->formatter || $this->modelAlias || $this->with || $this->select @@ -147,11 +147,11 @@ abstract class GroupModuleQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroupModule A model object, or null if the key is not found + * @return ChildProfileModule A model object, or null if the key is not found */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, GROUP_ID, MODULE_ID, ACCESS, CREATED_AT, UPDATED_AT FROM group_module WHERE ID = :p0'; + $sql = 'SELECT ID, PROFILE_ID, MODULE_ID, ACCESS, CREATED_AT, UPDATED_AT FROM profile_module WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -162,9 +162,9 @@ abstract class GroupModuleQuery extends ModelCriteria } $obj = null; if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { - $obj = new ChildGroupModule(); + $obj = new ChildProfileModule(); $obj->hydrate($row); - GroupModuleTableMap::addInstanceToPool($obj, (string) $key); + ProfileModuleTableMap::addInstanceToPool($obj, (string) $key); } $stmt->closeCursor(); @@ -177,7 +177,7 @@ abstract class GroupModuleQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroupModule|array|mixed the result, formatted by the current formatter + * @return ChildProfileModule|array|mixed the result, formatted by the current formatter */ protected function findPkComplex($key, $con) { @@ -219,12 +219,12 @@ abstract class GroupModuleQuery extends ModelCriteria * * @param mixed $key Primary key to use for the query * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterByPrimaryKey($key) { - return $this->addUsingAlias(GroupModuleTableMap::ID, $key, Criteria::EQUAL); + return $this->addUsingAlias(ProfileModuleTableMap::ID, $key, Criteria::EQUAL); } /** @@ -232,12 +232,12 @@ abstract class GroupModuleQuery extends ModelCriteria * * @param array $keys The list of primary key to use for the query * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterByPrimaryKeys($keys) { - return $this->addUsingAlias(GroupModuleTableMap::ID, $keys, Criteria::IN); + return $this->addUsingAlias(ProfileModuleTableMap::ID, $keys, Criteria::IN); } /** @@ -256,18 +256,18 @@ abstract class GroupModuleQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterById($id = null, $comparison = null) { if (is_array($id)) { $useMinMax = false; if (isset($id['min'])) { - $this->addUsingAlias(GroupModuleTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($id['max'])) { - $this->addUsingAlias(GroupModuleTableMap::ID, $id['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::ID, $id['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -278,39 +278,39 @@ abstract class GroupModuleQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupModuleTableMap::ID, $id, $comparison); + return $this->addUsingAlias(ProfileModuleTableMap::ID, $id, $comparison); } /** - * Filter the query on the group_id column + * Filter the query on the profile_id column * * Example usage: * - * $query->filterByGroupId(1234); // WHERE group_id = 1234 - * $query->filterByGroupId(array(12, 34)); // WHERE group_id IN (12, 34) - * $query->filterByGroupId(array('min' => 12)); // WHERE group_id > 12 + * $query->filterByProfileId(1234); // WHERE profile_id = 1234 + * $query->filterByProfileId(array(12, 34)); // WHERE profile_id IN (12, 34) + * $query->filterByProfileId(array('min' => 12)); // WHERE profile_id > 12 * * - * @see filterByGroup() + * @see filterByProfile() * - * @param mixed $groupId The value to use as filter. + * @param mixed $profileId The value to use as filter. * Use scalar values for equality. * Use array values for in_array() equivalent. * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ - public function filterByGroupId($groupId = null, $comparison = null) + public function filterByProfileId($profileId = null, $comparison = null) { - if (is_array($groupId)) { + if (is_array($profileId)) { $useMinMax = false; - if (isset($groupId['min'])) { - $this->addUsingAlias(GroupModuleTableMap::GROUP_ID, $groupId['min'], Criteria::GREATER_EQUAL); + if (isset($profileId['min'])) { + $this->addUsingAlias(ProfileModuleTableMap::PROFILE_ID, $profileId['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } - if (isset($groupId['max'])) { - $this->addUsingAlias(GroupModuleTableMap::GROUP_ID, $groupId['max'], Criteria::LESS_EQUAL); + if (isset($profileId['max'])) { + $this->addUsingAlias(ProfileModuleTableMap::PROFILE_ID, $profileId['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -321,7 +321,7 @@ abstract class GroupModuleQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupModuleTableMap::GROUP_ID, $groupId, $comparison); + return $this->addUsingAlias(ProfileModuleTableMap::PROFILE_ID, $profileId, $comparison); } /** @@ -342,18 +342,18 @@ abstract class GroupModuleQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterByModuleId($moduleId = null, $comparison = null) { if (is_array($moduleId)) { $useMinMax = false; if (isset($moduleId['min'])) { - $this->addUsingAlias(GroupModuleTableMap::MODULE_ID, $moduleId['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::MODULE_ID, $moduleId['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($moduleId['max'])) { - $this->addUsingAlias(GroupModuleTableMap::MODULE_ID, $moduleId['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::MODULE_ID, $moduleId['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -364,7 +364,7 @@ abstract class GroupModuleQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupModuleTableMap::MODULE_ID, $moduleId, $comparison); + return $this->addUsingAlias(ProfileModuleTableMap::MODULE_ID, $moduleId, $comparison); } /** @@ -383,18 +383,18 @@ abstract class GroupModuleQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterByAccess($access = null, $comparison = null) { if (is_array($access)) { $useMinMax = false; if (isset($access['min'])) { - $this->addUsingAlias(GroupModuleTableMap::ACCESS, $access['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::ACCESS, $access['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($access['max'])) { - $this->addUsingAlias(GroupModuleTableMap::ACCESS, $access['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::ACCESS, $access['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -405,7 +405,7 @@ abstract class GroupModuleQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupModuleTableMap::ACCESS, $access, $comparison); + return $this->addUsingAlias(ProfileModuleTableMap::ACCESS, $access, $comparison); } /** @@ -426,18 +426,18 @@ abstract class GroupModuleQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterByCreatedAt($createdAt = null, $comparison = null) { if (is_array($createdAt)) { $useMinMax = false; if (isset($createdAt['min'])) { - $this->addUsingAlias(GroupModuleTableMap::CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($createdAt['max'])) { - $this->addUsingAlias(GroupModuleTableMap::CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -448,7 +448,7 @@ abstract class GroupModuleQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupModuleTableMap::CREATED_AT, $createdAt, $comparison); + return $this->addUsingAlias(ProfileModuleTableMap::CREATED_AT, $createdAt, $comparison); } /** @@ -469,18 +469,18 @@ abstract class GroupModuleQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterByUpdatedAt($updatedAt = null, $comparison = null) { if (is_array($updatedAt)) { $useMinMax = false; if (isset($updatedAt['min'])) { - $this->addUsingAlias(GroupModuleTableMap::UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($updatedAt['max'])) { - $this->addUsingAlias(GroupModuleTableMap::UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileModuleTableMap::UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -491,46 +491,46 @@ abstract class GroupModuleQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupModuleTableMap::UPDATED_AT, $updatedAt, $comparison); + return $this->addUsingAlias(ProfileModuleTableMap::UPDATED_AT, $updatedAt, $comparison); } /** - * Filter the query by a related \Thelia\Model\Group object + * Filter the query by a related \Thelia\Model\Profile object * - * @param \Thelia\Model\Group|ObjectCollection $group The related object(s) to use as filter + * @param \Thelia\Model\Profile|ObjectCollection $profile The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ - public function filterByGroup($group, $comparison = null) + public function filterByProfile($profile, $comparison = null) { - if ($group instanceof \Thelia\Model\Group) { + if ($profile instanceof \Thelia\Model\Profile) { return $this - ->addUsingAlias(GroupModuleTableMap::GROUP_ID, $group->getId(), $comparison); - } elseif ($group instanceof ObjectCollection) { + ->addUsingAlias(ProfileModuleTableMap::PROFILE_ID, $profile->getId(), $comparison); + } elseif ($profile instanceof ObjectCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this - ->addUsingAlias(GroupModuleTableMap::GROUP_ID, $group->toKeyValue('PrimaryKey', 'Id'), $comparison); + ->addUsingAlias(ProfileModuleTableMap::PROFILE_ID, $profile->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { - throw new PropelException('filterByGroup() only accepts arguments of type \Thelia\Model\Group or Collection'); + throw new PropelException('filterByProfile() only accepts arguments of type \Thelia\Model\Profile or Collection'); } } /** - * Adds a JOIN clause to the query using the Group relation + * Adds a JOIN clause to the query using the Profile relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ - public function joinGroup($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function joinProfile($relationAlias = null, $joinType = Criteria::INNER_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('Group'); + $relationMap = $tableMap->getRelation('Profile'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -545,14 +545,14 @@ abstract class GroupModuleQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'Group'); + $this->addJoinObject($join, 'Profile'); } return $this; } /** - * Use the Group relation Group object + * Use the Profile relation Profile object * * @see useQuery() * @@ -560,13 +560,13 @@ abstract class GroupModuleQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileQuery A secondary query class using the current class as primary query */ - public function useGroupQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function useProfileQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) { return $this - ->joinGroup($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'Group', '\Thelia\Model\GroupQuery'); + ->joinProfile($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Profile', '\Thelia\Model\ProfileQuery'); } /** @@ -575,20 +575,20 @@ abstract class GroupModuleQuery extends ModelCriteria * @param \Thelia\Model\Module|ObjectCollection $module The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function filterByModule($module, $comparison = null) { if ($module instanceof \Thelia\Model\Module) { return $this - ->addUsingAlias(GroupModuleTableMap::MODULE_ID, $module->getId(), $comparison); + ->addUsingAlias(ProfileModuleTableMap::MODULE_ID, $module->getId(), $comparison); } elseif ($module instanceof ObjectCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this - ->addUsingAlias(GroupModuleTableMap::MODULE_ID, $module->toKeyValue('PrimaryKey', 'Id'), $comparison); + ->addUsingAlias(ProfileModuleTableMap::MODULE_ID, $module->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { throw new PropelException('filterByModule() only accepts arguments of type \Thelia\Model\Module or Collection'); } @@ -600,7 +600,7 @@ abstract class GroupModuleQuery extends ModelCriteria * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function joinModule($relationAlias = null, $joinType = Criteria::LEFT_JOIN) { @@ -647,21 +647,21 @@ abstract class GroupModuleQuery extends ModelCriteria /** * Exclude object from result * - * @param ChildGroupModule $groupModule Object to remove from the list of results + * @param ChildProfileModule $profileModule Object to remove from the list of results * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ - public function prune($groupModule = null) + public function prune($profileModule = null) { - if ($groupModule) { - $this->addUsingAlias(GroupModuleTableMap::ID, $groupModule->getId(), Criteria::NOT_EQUAL); + if ($profileModule) { + $this->addUsingAlias(ProfileModuleTableMap::ID, $profileModule->getId(), Criteria::NOT_EQUAL); } return $this; } /** - * Deletes all rows from the group_module table. + * Deletes all rows from the profile_module table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). @@ -669,7 +669,7 @@ abstract class GroupModuleQuery extends ModelCriteria public function doDeleteAll(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileModuleTableMap::DATABASE_NAME); } $affectedRows = 0; // initialize var to track total num of affected rows try { @@ -680,8 +680,8 @@ abstract class GroupModuleQuery extends ModelCriteria // Because this db requires some delete cascade/set null emulation, we have to // clear the cached instance *after* the emulation has happened (since // instances get re-added by the select statement contained therein). - GroupModuleTableMap::clearInstancePool(); - GroupModuleTableMap::clearRelatedInstancePool(); + ProfileModuleTableMap::clearInstancePool(); + ProfileModuleTableMap::clearRelatedInstancePool(); $con->commit(); } catch (PropelException $e) { @@ -693,9 +693,9 @@ abstract class GroupModuleQuery extends ModelCriteria } /** - * Performs a DELETE on the database, given a ChildGroupModule or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a ChildProfileModule or Criteria object OR a primary key value. * - * @param mixed $values Criteria or ChildGroupModule object or primary key or array of primary keys + * @param mixed $values Criteria or ChildProfileModule object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -706,13 +706,13 @@ abstract class GroupModuleQuery extends ModelCriteria public function delete(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileModuleTableMap::DATABASE_NAME); } $criteria = $this; // Set the correct dbName - $criteria->setDbName(GroupModuleTableMap::DATABASE_NAME); + $criteria->setDbName(ProfileModuleTableMap::DATABASE_NAME); $affectedRows = 0; // initialize var to track total num of affected rows @@ -722,10 +722,10 @@ abstract class GroupModuleQuery extends ModelCriteria $con->beginTransaction(); - GroupModuleTableMap::removeInstanceFromPool($criteria); + ProfileModuleTableMap::removeInstanceFromPool($criteria); $affectedRows += ModelCriteria::delete($con); - GroupModuleTableMap::clearRelatedInstancePool(); + ProfileModuleTableMap::clearRelatedInstancePool(); $con->commit(); return $affectedRows; @@ -742,11 +742,11 @@ abstract class GroupModuleQuery extends ModelCriteria * * @param int $nbDays Maximum age of the latest update in days * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function recentlyUpdated($nbDays = 7) { - return $this->addUsingAlias(GroupModuleTableMap::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); + return $this->addUsingAlias(ProfileModuleTableMap::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); } /** @@ -754,51 +754,51 @@ abstract class GroupModuleQuery extends ModelCriteria * * @param int $nbDays Maximum age of in days * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function recentlyCreated($nbDays = 7) { - return $this->addUsingAlias(GroupModuleTableMap::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); + return $this->addUsingAlias(ProfileModuleTableMap::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); } /** * Order by update date desc * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function lastUpdatedFirst() { - return $this->addDescendingOrderByColumn(GroupModuleTableMap::UPDATED_AT); + return $this->addDescendingOrderByColumn(ProfileModuleTableMap::UPDATED_AT); } /** * Order by update date asc * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function firstUpdatedFirst() { - return $this->addAscendingOrderByColumn(GroupModuleTableMap::UPDATED_AT); + return $this->addAscendingOrderByColumn(ProfileModuleTableMap::UPDATED_AT); } /** * Order by create date desc * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function lastCreatedFirst() { - return $this->addDescendingOrderByColumn(GroupModuleTableMap::CREATED_AT); + return $this->addDescendingOrderByColumn(ProfileModuleTableMap::CREATED_AT); } /** * Order by create date asc * - * @return ChildGroupModuleQuery The current query, for fluid interface + * @return ChildProfileModuleQuery The current query, for fluid interface */ public function firstCreatedFirst() { - return $this->addAscendingOrderByColumn(GroupModuleTableMap::CREATED_AT); + return $this->addAscendingOrderByColumn(ProfileModuleTableMap::CREATED_AT); } -} // GroupModuleQuery +} // ProfileModuleQuery diff --git a/core/lib/Thelia/Model/Base/GroupQuery.php b/core/lib/Thelia/Model/Base/ProfileQuery.php similarity index 59% rename from core/lib/Thelia/Model/Base/GroupQuery.php rename to core/lib/Thelia/Model/Base/ProfileQuery.php index d0eded79b..7937776c5 100644 --- a/core/lib/Thelia/Model/Base/GroupQuery.php +++ b/core/lib/Thelia/Model/Base/ProfileQuery.php @@ -12,89 +12,89 @@ use Propel\Runtime\Collection\Collection; use Propel\Runtime\Collection\ObjectCollection; use Propel\Runtime\Connection\ConnectionInterface; use Propel\Runtime\Exception\PropelException; -use Thelia\Model\Group as ChildGroup; -use Thelia\Model\GroupI18nQuery as ChildGroupI18nQuery; -use Thelia\Model\GroupQuery as ChildGroupQuery; -use Thelia\Model\Map\GroupTableMap; +use Thelia\Model\Profile as ChildProfile; +use Thelia\Model\ProfileI18nQuery as ChildProfileI18nQuery; +use Thelia\Model\ProfileQuery as ChildProfileQuery; +use Thelia\Model\Map\ProfileTableMap; /** - * Base class that represents a query for the 'group' table. + * Base class that represents a query for the 'profile' table. * * * - * @method ChildGroupQuery orderById($order = Criteria::ASC) Order by the id column - * @method ChildGroupQuery orderByCode($order = Criteria::ASC) Order by the code column - * @method ChildGroupQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column - * @method ChildGroupQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column + * @method ChildProfileQuery orderById($order = Criteria::ASC) Order by the id column + * @method ChildProfileQuery orderByCode($order = Criteria::ASC) Order by the code column + * @method ChildProfileQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column + * @method ChildProfileQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * - * @method ChildGroupQuery groupById() Group by the id column - * @method ChildGroupQuery groupByCode() Group by the code column - * @method ChildGroupQuery groupByCreatedAt() Group by the created_at column - * @method ChildGroupQuery groupByUpdatedAt() Group by the updated_at column + * @method ChildProfileQuery groupById() Group by the id column + * @method ChildProfileQuery groupByCode() Group by the code column + * @method ChildProfileQuery groupByCreatedAt() Group by the created_at column + * @method ChildProfileQuery groupByUpdatedAt() Group by the updated_at column * - * @method ChildGroupQuery leftJoin($relation) Adds a LEFT JOIN clause to the query - * @method ChildGroupQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query - * @method ChildGroupQuery innerJoin($relation) Adds a INNER JOIN clause to the query + * @method ChildProfileQuery leftJoin($relation) Adds a LEFT JOIN clause to the query + * @method ChildProfileQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query + * @method ChildProfileQuery innerJoin($relation) Adds a INNER JOIN clause to the query * - * @method ChildGroupQuery leftJoinAdminGroup($relationAlias = null) Adds a LEFT JOIN clause to the query using the AdminGroup relation - * @method ChildGroupQuery rightJoinAdminGroup($relationAlias = null) Adds a RIGHT JOIN clause to the query using the AdminGroup relation - * @method ChildGroupQuery innerJoinAdminGroup($relationAlias = null) Adds a INNER JOIN clause to the query using the AdminGroup relation + * @method ChildProfileQuery leftJoinAdmin($relationAlias = null) Adds a LEFT JOIN clause to the query using the Admin relation + * @method ChildProfileQuery rightJoinAdmin($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Admin relation + * @method ChildProfileQuery innerJoinAdmin($relationAlias = null) Adds a INNER JOIN clause to the query using the Admin relation * - * @method ChildGroupQuery leftJoinGroupResource($relationAlias = null) Adds a LEFT JOIN clause to the query using the GroupResource relation - * @method ChildGroupQuery rightJoinGroupResource($relationAlias = null) Adds a RIGHT JOIN clause to the query using the GroupResource relation - * @method ChildGroupQuery innerJoinGroupResource($relationAlias = null) Adds a INNER JOIN clause to the query using the GroupResource relation + * @method ChildProfileQuery leftJoinProfileResource($relationAlias = null) Adds a LEFT JOIN clause to the query using the ProfileResource relation + * @method ChildProfileQuery rightJoinProfileResource($relationAlias = null) Adds a RIGHT JOIN clause to the query using the ProfileResource relation + * @method ChildProfileQuery innerJoinProfileResource($relationAlias = null) Adds a INNER JOIN clause to the query using the ProfileResource relation * - * @method ChildGroupQuery leftJoinGroupModule($relationAlias = null) Adds a LEFT JOIN clause to the query using the GroupModule relation - * @method ChildGroupQuery rightJoinGroupModule($relationAlias = null) Adds a RIGHT JOIN clause to the query using the GroupModule relation - * @method ChildGroupQuery innerJoinGroupModule($relationAlias = null) Adds a INNER JOIN clause to the query using the GroupModule relation + * @method ChildProfileQuery leftJoinProfileModule($relationAlias = null) Adds a LEFT JOIN clause to the query using the ProfileModule relation + * @method ChildProfileQuery rightJoinProfileModule($relationAlias = null) Adds a RIGHT JOIN clause to the query using the ProfileModule relation + * @method ChildProfileQuery innerJoinProfileModule($relationAlias = null) Adds a INNER JOIN clause to the query using the ProfileModule relation * - * @method ChildGroupQuery leftJoinGroupI18n($relationAlias = null) Adds a LEFT JOIN clause to the query using the GroupI18n relation - * @method ChildGroupQuery rightJoinGroupI18n($relationAlias = null) Adds a RIGHT JOIN clause to the query using the GroupI18n relation - * @method ChildGroupQuery innerJoinGroupI18n($relationAlias = null) Adds a INNER JOIN clause to the query using the GroupI18n relation + * @method ChildProfileQuery leftJoinProfileI18n($relationAlias = null) Adds a LEFT JOIN clause to the query using the ProfileI18n relation + * @method ChildProfileQuery rightJoinProfileI18n($relationAlias = null) Adds a RIGHT JOIN clause to the query using the ProfileI18n relation + * @method ChildProfileQuery innerJoinProfileI18n($relationAlias = null) Adds a INNER JOIN clause to the query using the ProfileI18n relation * - * @method ChildGroup findOne(ConnectionInterface $con = null) Return the first ChildGroup matching the query - * @method ChildGroup findOneOrCreate(ConnectionInterface $con = null) Return the first ChildGroup matching the query, or a new ChildGroup object populated from the query conditions when no match is found + * @method ChildProfile findOne(ConnectionInterface $con = null) Return the first ChildProfile matching the query + * @method ChildProfile findOneOrCreate(ConnectionInterface $con = null) Return the first ChildProfile matching the query, or a new ChildProfile object populated from the query conditions when no match is found * - * @method ChildGroup findOneById(int $id) Return the first ChildGroup filtered by the id column - * @method ChildGroup findOneByCode(string $code) Return the first ChildGroup filtered by the code column - * @method ChildGroup findOneByCreatedAt(string $created_at) Return the first ChildGroup filtered by the created_at column - * @method ChildGroup findOneByUpdatedAt(string $updated_at) Return the first ChildGroup filtered by the updated_at column + * @method ChildProfile findOneById(int $id) Return the first ChildProfile filtered by the id column + * @method ChildProfile findOneByCode(string $code) Return the first ChildProfile filtered by the code column + * @method ChildProfile findOneByCreatedAt(string $created_at) Return the first ChildProfile filtered by the created_at column + * @method ChildProfile findOneByUpdatedAt(string $updated_at) Return the first ChildProfile filtered by the updated_at column * - * @method array findById(int $id) Return ChildGroup objects filtered by the id column - * @method array findByCode(string $code) Return ChildGroup objects filtered by the code column - * @method array findByCreatedAt(string $created_at) Return ChildGroup objects filtered by the created_at column - * @method array findByUpdatedAt(string $updated_at) Return ChildGroup objects filtered by the updated_at column + * @method array findById(int $id) Return ChildProfile objects filtered by the id column + * @method array findByCode(string $code) Return ChildProfile objects filtered by the code column + * @method array findByCreatedAt(string $created_at) Return ChildProfile objects filtered by the created_at column + * @method array findByUpdatedAt(string $updated_at) Return ChildProfile objects filtered by the updated_at column * */ -abstract class GroupQuery extends ModelCriteria +abstract class ProfileQuery extends ModelCriteria { /** - * Initializes internal state of \Thelia\Model\Base\GroupQuery object. + * Initializes internal state of \Thelia\Model\Base\ProfileQuery object. * * @param string $dbName The database name * @param string $modelName The phpName of a model, e.g. 'Book' * @param string $modelAlias The alias for the model in this query, e.g. 'b' */ - public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\Group', $modelAlias = null) + public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\Profile', $modelAlias = null) { parent::__construct($dbName, $modelName, $modelAlias); } /** - * Returns a new ChildGroupQuery object. + * Returns a new ChildProfileQuery object. * * @param string $modelAlias The alias of a model in the query * @param Criteria $criteria Optional Criteria to build the query from * - * @return ChildGroupQuery + * @return ChildProfileQuery */ public static function create($modelAlias = null, $criteria = null) { - if ($criteria instanceof \Thelia\Model\GroupQuery) { + if ($criteria instanceof \Thelia\Model\ProfileQuery) { return $criteria; } - $query = new \Thelia\Model\GroupQuery(); + $query = new \Thelia\Model\ProfileQuery(); if (null !== $modelAlias) { $query->setModelAlias($modelAlias); } @@ -117,19 +117,19 @@ abstract class GroupQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con an optional connection object * - * @return ChildGroup|array|mixed the result, formatted by the current formatter + * @return ChildProfile|array|mixed the result, formatted by the current formatter */ public function findPk($key, $con = null) { if ($key === null) { return null; } - if ((null !== ($obj = GroupTableMap::getInstanceFromPool((string) $key))) && !$this->formatter) { + if ((null !== ($obj = ProfileTableMap::getInstanceFromPool((string) $key))) && !$this->formatter) { // the object is already in the instance pool return $obj; } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileTableMap::DATABASE_NAME); } $this->basePreSelect($con); if ($this->formatter || $this->modelAlias || $this->with || $this->select @@ -148,11 +148,11 @@ abstract class GroupQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroup A model object, or null if the key is not found + * @return ChildProfile A model object, or null if the key is not found */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, CODE, CREATED_AT, UPDATED_AT FROM group WHERE ID = :p0'; + $sql = 'SELECT ID, CODE, CREATED_AT, UPDATED_AT FROM profile WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -163,9 +163,9 @@ abstract class GroupQuery extends ModelCriteria } $obj = null; if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { - $obj = new ChildGroup(); + $obj = new ChildProfile(); $obj->hydrate($row); - GroupTableMap::addInstanceToPool($obj, (string) $key); + ProfileTableMap::addInstanceToPool($obj, (string) $key); } $stmt->closeCursor(); @@ -178,7 +178,7 @@ abstract class GroupQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroup|array|mixed the result, formatted by the current formatter + * @return ChildProfile|array|mixed the result, formatted by the current formatter */ protected function findPkComplex($key, $con) { @@ -220,12 +220,12 @@ abstract class GroupQuery extends ModelCriteria * * @param mixed $key Primary key to use for the query * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function filterByPrimaryKey($key) { - return $this->addUsingAlias(GroupTableMap::ID, $key, Criteria::EQUAL); + return $this->addUsingAlias(ProfileTableMap::ID, $key, Criteria::EQUAL); } /** @@ -233,12 +233,12 @@ abstract class GroupQuery extends ModelCriteria * * @param array $keys The list of primary key to use for the query * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function filterByPrimaryKeys($keys) { - return $this->addUsingAlias(GroupTableMap::ID, $keys, Criteria::IN); + return $this->addUsingAlias(ProfileTableMap::ID, $keys, Criteria::IN); } /** @@ -257,18 +257,18 @@ abstract class GroupQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function filterById($id = null, $comparison = null) { if (is_array($id)) { $useMinMax = false; if (isset($id['min'])) { - $this->addUsingAlias(GroupTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($id['max'])) { - $this->addUsingAlias(GroupTableMap::ID, $id['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileTableMap::ID, $id['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -279,7 +279,7 @@ abstract class GroupQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupTableMap::ID, $id, $comparison); + return $this->addUsingAlias(ProfileTableMap::ID, $id, $comparison); } /** @@ -295,7 +295,7 @@ abstract class GroupQuery extends ModelCriteria * Accepts wildcards (* and % trigger a LIKE) * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function filterByCode($code = null, $comparison = null) { @@ -308,7 +308,7 @@ abstract class GroupQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupTableMap::CODE, $code, $comparison); + return $this->addUsingAlias(ProfileTableMap::CODE, $code, $comparison); } /** @@ -329,18 +329,18 @@ abstract class GroupQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function filterByCreatedAt($createdAt = null, $comparison = null) { if (is_array($createdAt)) { $useMinMax = false; if (isset($createdAt['min'])) { - $this->addUsingAlias(GroupTableMap::CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileTableMap::CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($createdAt['max'])) { - $this->addUsingAlias(GroupTableMap::CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileTableMap::CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -351,7 +351,7 @@ abstract class GroupQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupTableMap::CREATED_AT, $createdAt, $comparison); + return $this->addUsingAlias(ProfileTableMap::CREATED_AT, $createdAt, $comparison); } /** @@ -372,18 +372,18 @@ abstract class GroupQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function filterByUpdatedAt($updatedAt = null, $comparison = null) { if (is_array($updatedAt)) { $useMinMax = false; if (isset($updatedAt['min'])) { - $this->addUsingAlias(GroupTableMap::UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileTableMap::UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($updatedAt['max'])) { - $this->addUsingAlias(GroupTableMap::UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileTableMap::UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -394,44 +394,44 @@ abstract class GroupQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupTableMap::UPDATED_AT, $updatedAt, $comparison); + return $this->addUsingAlias(ProfileTableMap::UPDATED_AT, $updatedAt, $comparison); } /** - * Filter the query by a related \Thelia\Model\AdminGroup object + * Filter the query by a related \Thelia\Model\Admin object * - * @param \Thelia\Model\AdminGroup|ObjectCollection $adminGroup the related object to use as filter + * @param \Thelia\Model\Admin|ObjectCollection $admin the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function filterByAdminGroup($adminGroup, $comparison = null) + public function filterByAdmin($admin, $comparison = null) { - if ($adminGroup instanceof \Thelia\Model\AdminGroup) { + if ($admin instanceof \Thelia\Model\Admin) { return $this - ->addUsingAlias(GroupTableMap::ID, $adminGroup->getGroupId(), $comparison); - } elseif ($adminGroup instanceof ObjectCollection) { + ->addUsingAlias(ProfileTableMap::ID, $admin->getProfileId(), $comparison); + } elseif ($admin instanceof ObjectCollection) { return $this - ->useAdminGroupQuery() - ->filterByPrimaryKeys($adminGroup->getPrimaryKeys()) + ->useAdminQuery() + ->filterByPrimaryKeys($admin->getPrimaryKeys()) ->endUse(); } else { - throw new PropelException('filterByAdminGroup() only accepts arguments of type \Thelia\Model\AdminGroup or Collection'); + throw new PropelException('filterByAdmin() only accepts arguments of type \Thelia\Model\Admin or Collection'); } } /** - * Adds a JOIN clause to the query using the AdminGroup relation + * Adds a JOIN clause to the query using the Admin relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function joinAdminGroup($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function joinAdmin($relationAlias = null, $joinType = Criteria::LEFT_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('AdminGroup'); + $relationMap = $tableMap->getRelation('Admin'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -446,14 +446,14 @@ abstract class GroupQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'AdminGroup'); + $this->addJoinObject($join, 'Admin'); } return $this; } /** - * Use the AdminGroup relation AdminGroup object + * Use the Admin relation Admin object * * @see useQuery() * @@ -461,50 +461,50 @@ abstract class GroupQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\AdminGroupQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\AdminQuery A secondary query class using the current class as primary query */ - public function useAdminGroupQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function useAdminQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) { return $this - ->joinAdminGroup($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'AdminGroup', '\Thelia\Model\AdminGroupQuery'); + ->joinAdmin($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Admin', '\Thelia\Model\AdminQuery'); } /** - * Filter the query by a related \Thelia\Model\GroupResource object + * Filter the query by a related \Thelia\Model\ProfileResource object * - * @param \Thelia\Model\GroupResource|ObjectCollection $groupResource the related object to use as filter + * @param \Thelia\Model\ProfileResource|ObjectCollection $profileResource the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function filterByGroupResource($groupResource, $comparison = null) + public function filterByProfileResource($profileResource, $comparison = null) { - if ($groupResource instanceof \Thelia\Model\GroupResource) { + if ($profileResource instanceof \Thelia\Model\ProfileResource) { return $this - ->addUsingAlias(GroupTableMap::ID, $groupResource->getGroupId(), $comparison); - } elseif ($groupResource instanceof ObjectCollection) { + ->addUsingAlias(ProfileTableMap::ID, $profileResource->getProfileId(), $comparison); + } elseif ($profileResource instanceof ObjectCollection) { return $this - ->useGroupResourceQuery() - ->filterByPrimaryKeys($groupResource->getPrimaryKeys()) + ->useProfileResourceQuery() + ->filterByPrimaryKeys($profileResource->getPrimaryKeys()) ->endUse(); } else { - throw new PropelException('filterByGroupResource() only accepts arguments of type \Thelia\Model\GroupResource or Collection'); + throw new PropelException('filterByProfileResource() only accepts arguments of type \Thelia\Model\ProfileResource or Collection'); } } /** - * Adds a JOIN clause to the query using the GroupResource relation + * Adds a JOIN clause to the query using the ProfileResource relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function joinGroupResource($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function joinProfileResource($relationAlias = null, $joinType = Criteria::INNER_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('GroupResource'); + $relationMap = $tableMap->getRelation('ProfileResource'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -519,14 +519,14 @@ abstract class GroupQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'GroupResource'); + $this->addJoinObject($join, 'ProfileResource'); } return $this; } /** - * Use the GroupResource relation GroupResource object + * Use the ProfileResource relation ProfileResource object * * @see useQuery() * @@ -534,50 +534,50 @@ abstract class GroupQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupResourceQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileResourceQuery A secondary query class using the current class as primary query */ - public function useGroupResourceQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function useProfileResourceQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) { return $this - ->joinGroupResource($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'GroupResource', '\Thelia\Model\GroupResourceQuery'); + ->joinProfileResource($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'ProfileResource', '\Thelia\Model\ProfileResourceQuery'); } /** - * Filter the query by a related \Thelia\Model\GroupModule object + * Filter the query by a related \Thelia\Model\ProfileModule object * - * @param \Thelia\Model\GroupModule|ObjectCollection $groupModule the related object to use as filter + * @param \Thelia\Model\ProfileModule|ObjectCollection $profileModule the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function filterByGroupModule($groupModule, $comparison = null) + public function filterByProfileModule($profileModule, $comparison = null) { - if ($groupModule instanceof \Thelia\Model\GroupModule) { + if ($profileModule instanceof \Thelia\Model\ProfileModule) { return $this - ->addUsingAlias(GroupTableMap::ID, $groupModule->getGroupId(), $comparison); - } elseif ($groupModule instanceof ObjectCollection) { + ->addUsingAlias(ProfileTableMap::ID, $profileModule->getProfileId(), $comparison); + } elseif ($profileModule instanceof ObjectCollection) { return $this - ->useGroupModuleQuery() - ->filterByPrimaryKeys($groupModule->getPrimaryKeys()) + ->useProfileModuleQuery() + ->filterByPrimaryKeys($profileModule->getPrimaryKeys()) ->endUse(); } else { - throw new PropelException('filterByGroupModule() only accepts arguments of type \Thelia\Model\GroupModule or Collection'); + throw new PropelException('filterByProfileModule() only accepts arguments of type \Thelia\Model\ProfileModule or Collection'); } } /** - * Adds a JOIN clause to the query using the GroupModule relation + * Adds a JOIN clause to the query using the ProfileModule relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function joinGroupModule($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function joinProfileModule($relationAlias = null, $joinType = Criteria::INNER_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('GroupModule'); + $relationMap = $tableMap->getRelation('ProfileModule'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -592,14 +592,14 @@ abstract class GroupQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'GroupModule'); + $this->addJoinObject($join, 'ProfileModule'); } return $this; } /** - * Use the GroupModule relation GroupModule object + * Use the ProfileModule relation ProfileModule object * * @see useQuery() * @@ -607,50 +607,50 @@ abstract class GroupQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupModuleQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileModuleQuery A secondary query class using the current class as primary query */ - public function useGroupModuleQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function useProfileModuleQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) { return $this - ->joinGroupModule($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'GroupModule', '\Thelia\Model\GroupModuleQuery'); + ->joinProfileModule($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'ProfileModule', '\Thelia\Model\ProfileModuleQuery'); } /** - * Filter the query by a related \Thelia\Model\GroupI18n object + * Filter the query by a related \Thelia\Model\ProfileI18n object * - * @param \Thelia\Model\GroupI18n|ObjectCollection $groupI18n the related object to use as filter + * @param \Thelia\Model\ProfileI18n|ObjectCollection $profileI18n the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function filterByGroupI18n($groupI18n, $comparison = null) + public function filterByProfileI18n($profileI18n, $comparison = null) { - if ($groupI18n instanceof \Thelia\Model\GroupI18n) { + if ($profileI18n instanceof \Thelia\Model\ProfileI18n) { return $this - ->addUsingAlias(GroupTableMap::ID, $groupI18n->getId(), $comparison); - } elseif ($groupI18n instanceof ObjectCollection) { + ->addUsingAlias(ProfileTableMap::ID, $profileI18n->getId(), $comparison); + } elseif ($profileI18n instanceof ObjectCollection) { return $this - ->useGroupI18nQuery() - ->filterByPrimaryKeys($groupI18n->getPrimaryKeys()) + ->useProfileI18nQuery() + ->filterByPrimaryKeys($profileI18n->getPrimaryKeys()) ->endUse(); } else { - throw new PropelException('filterByGroupI18n() only accepts arguments of type \Thelia\Model\GroupI18n or Collection'); + throw new PropelException('filterByProfileI18n() only accepts arguments of type \Thelia\Model\ProfileI18n or Collection'); } } /** - * Adds a JOIN clause to the query using the GroupI18n relation + * Adds a JOIN clause to the query using the ProfileI18n relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function joinGroupI18n($relationAlias = null, $joinType = 'LEFT JOIN') + public function joinProfileI18n($relationAlias = null, $joinType = 'LEFT JOIN') { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('GroupI18n'); + $relationMap = $tableMap->getRelation('ProfileI18n'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -665,14 +665,14 @@ abstract class GroupQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'GroupI18n'); + $this->addJoinObject($join, 'ProfileI18n'); } return $this; } /** - * Use the GroupI18n relation GroupI18n object + * Use the ProfileI18n relation ProfileI18n object * * @see useQuery() * @@ -680,45 +680,28 @@ abstract class GroupQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupI18nQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileI18nQuery A secondary query class using the current class as primary query */ - public function useGroupI18nQuery($relationAlias = null, $joinType = 'LEFT JOIN') + public function useProfileI18nQuery($relationAlias = null, $joinType = 'LEFT JOIN') { return $this - ->joinGroupI18n($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'GroupI18n', '\Thelia\Model\GroupI18nQuery'); - } - - /** - * Filter the query by a related Admin object - * using the admin_group table as cross reference - * - * @param Admin $admin the related object to use as filter - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildGroupQuery The current query, for fluid interface - */ - public function filterByAdmin($admin, $comparison = Criteria::EQUAL) - { - return $this - ->useAdminGroupQuery() - ->filterByAdmin($admin, $comparison) - ->endUse(); + ->joinProfileI18n($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'ProfileI18n', '\Thelia\Model\ProfileI18nQuery'); } /** * Filter the query by a related Resource object - * using the group_resource table as cross reference + * using the profile_resource table as cross reference * * @param Resource $resource the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function filterByResource($resource, $comparison = Criteria::EQUAL) { return $this - ->useGroupResourceQuery() + ->useProfileResourceQuery() ->filterByResource($resource, $comparison) ->endUse(); } @@ -726,21 +709,21 @@ abstract class GroupQuery extends ModelCriteria /** * Exclude object from result * - * @param ChildGroup $group Object to remove from the list of results + * @param ChildProfile $profile Object to remove from the list of results * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ - public function prune($group = null) + public function prune($profile = null) { - if ($group) { - $this->addUsingAlias(GroupTableMap::ID, $group->getId(), Criteria::NOT_EQUAL); + if ($profile) { + $this->addUsingAlias(ProfileTableMap::ID, $profile->getId(), Criteria::NOT_EQUAL); } return $this; } /** - * Deletes all rows from the group table. + * Deletes all rows from the profile table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). @@ -748,7 +731,7 @@ abstract class GroupQuery extends ModelCriteria public function doDeleteAll(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileTableMap::DATABASE_NAME); } $affectedRows = 0; // initialize var to track total num of affected rows try { @@ -759,8 +742,8 @@ abstract class GroupQuery extends ModelCriteria // Because this db requires some delete cascade/set null emulation, we have to // clear the cached instance *after* the emulation has happened (since // instances get re-added by the select statement contained therein). - GroupTableMap::clearInstancePool(); - GroupTableMap::clearRelatedInstancePool(); + ProfileTableMap::clearInstancePool(); + ProfileTableMap::clearRelatedInstancePool(); $con->commit(); } catch (PropelException $e) { @@ -772,9 +755,9 @@ abstract class GroupQuery extends ModelCriteria } /** - * Performs a DELETE on the database, given a ChildGroup or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a ChildProfile or Criteria object OR a primary key value. * - * @param mixed $values Criteria or ChildGroup object or primary key or array of primary keys + * @param mixed $values Criteria or ChildProfile object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -785,13 +768,13 @@ abstract class GroupQuery extends ModelCriteria public function delete(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileTableMap::DATABASE_NAME); } $criteria = $this; // Set the correct dbName - $criteria->setDbName(GroupTableMap::DATABASE_NAME); + $criteria->setDbName(ProfileTableMap::DATABASE_NAME); $affectedRows = 0; // initialize var to track total num of affected rows @@ -801,10 +784,10 @@ abstract class GroupQuery extends ModelCriteria $con->beginTransaction(); - GroupTableMap::removeInstanceFromPool($criteria); + ProfileTableMap::removeInstanceFromPool($criteria); $affectedRows += ModelCriteria::delete($con); - GroupTableMap::clearRelatedInstancePool(); + ProfileTableMap::clearRelatedInstancePool(); $con->commit(); return $affectedRows; @@ -821,11 +804,11 @@ abstract class GroupQuery extends ModelCriteria * * @param int $nbDays Maximum age of the latest update in days * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function recentlyUpdated($nbDays = 7) { - return $this->addUsingAlias(GroupTableMap::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); + return $this->addUsingAlias(ProfileTableMap::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); } /** @@ -833,51 +816,51 @@ abstract class GroupQuery extends ModelCriteria * * @param int $nbDays Maximum age of in days * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function recentlyCreated($nbDays = 7) { - return $this->addUsingAlias(GroupTableMap::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); + return $this->addUsingAlias(ProfileTableMap::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); } /** * Order by update date desc * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function lastUpdatedFirst() { - return $this->addDescendingOrderByColumn(GroupTableMap::UPDATED_AT); + return $this->addDescendingOrderByColumn(ProfileTableMap::UPDATED_AT); } /** * Order by update date asc * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function firstUpdatedFirst() { - return $this->addAscendingOrderByColumn(GroupTableMap::UPDATED_AT); + return $this->addAscendingOrderByColumn(ProfileTableMap::UPDATED_AT); } /** * Order by create date desc * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function lastCreatedFirst() { - return $this->addDescendingOrderByColumn(GroupTableMap::CREATED_AT); + return $this->addDescendingOrderByColumn(ProfileTableMap::CREATED_AT); } /** * Order by create date asc * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function firstCreatedFirst() { - return $this->addAscendingOrderByColumn(GroupTableMap::CREATED_AT); + return $this->addAscendingOrderByColumn(ProfileTableMap::CREATED_AT); } // i18n behavior @@ -889,14 +872,14 @@ abstract class GroupQuery extends ModelCriteria * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'. Defaults to left join. * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function joinI18n($locale = 'en_US', $relationAlias = null, $joinType = Criteria::LEFT_JOIN) { - $relationName = $relationAlias ? $relationAlias : 'GroupI18n'; + $relationName = $relationAlias ? $relationAlias : 'ProfileI18n'; return $this - ->joinGroupI18n($relationAlias, $joinType) + ->joinProfileI18n($relationAlias, $joinType) ->addJoinCondition($relationName, $relationName . '.Locale = ?', $locale); } @@ -907,14 +890,14 @@ abstract class GroupQuery extends ModelCriteria * @param string $locale Locale to use for the join condition, e.g. 'fr_FR' * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'. Defaults to left join. * - * @return ChildGroupQuery The current query, for fluid interface + * @return ChildProfileQuery The current query, for fluid interface */ public function joinWithI18n($locale = 'en_US', $joinType = Criteria::LEFT_JOIN) { $this ->joinI18n($locale, null, $joinType) - ->with('GroupI18n'); - $this->with['GroupI18n']->setIsWithOneToMany(false); + ->with('ProfileI18n'); + $this->with['ProfileI18n']->setIsWithOneToMany(false); return $this; } @@ -928,13 +911,13 @@ abstract class GroupQuery extends ModelCriteria * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join'. Defaults to left join. * - * @return ChildGroupI18nQuery A secondary query class using the current class as primary query + * @return ChildProfileI18nQuery A secondary query class using the current class as primary query */ public function useI18nQuery($locale = 'en_US', $relationAlias = null, $joinType = Criteria::LEFT_JOIN) { return $this ->joinI18n($locale, $relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'GroupI18n', '\Thelia\Model\GroupI18nQuery'); + ->useQuery($relationAlias ? $relationAlias : 'ProfileI18n', '\Thelia\Model\ProfileI18nQuery'); } -} // GroupQuery +} // ProfileQuery diff --git a/core/lib/Thelia/Model/Base/GroupResource.php b/core/lib/Thelia/Model/Base/ProfileResource.php similarity index 82% rename from core/lib/Thelia/Model/Base/GroupResource.php rename to core/lib/Thelia/Model/Base/ProfileResource.php index 8bfcd442f..9f3d246fc 100644 --- a/core/lib/Thelia/Model/Base/GroupResource.php +++ b/core/lib/Thelia/Model/Base/ProfileResource.php @@ -16,20 +16,20 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Parser\AbstractParser; use Propel\Runtime\Util\PropelDateTime; -use Thelia\Model\Group as ChildGroup; -use Thelia\Model\GroupQuery as ChildGroupQuery; -use Thelia\Model\GroupResource as ChildGroupResource; -use Thelia\Model\GroupResourceQuery as ChildGroupResourceQuery; +use Thelia\Model\Profile as ChildProfile; +use Thelia\Model\ProfileQuery as ChildProfileQuery; +use Thelia\Model\ProfileResource as ChildProfileResource; +use Thelia\Model\ProfileResourceQuery as ChildProfileResourceQuery; use Thelia\Model\Resource as ChildResource; use Thelia\Model\ResourceQuery as ChildResourceQuery; -use Thelia\Model\Map\GroupResourceTableMap; +use Thelia\Model\Map\ProfileResourceTableMap; -abstract class GroupResource implements ActiveRecordInterface +abstract class ProfileResource implements ActiveRecordInterface { /** * TableMap class name */ - const TABLE_MAP = '\\Thelia\\Model\\Map\\GroupResourceTableMap'; + const TABLE_MAP = '\\Thelia\\Model\\Map\\ProfileResourceTableMap'; /** @@ -65,10 +65,10 @@ abstract class GroupResource implements ActiveRecordInterface protected $id; /** - * The value for the group_id field. + * The value for the profile_id field. * @var int */ - protected $group_id; + protected $profile_id; /** * The value for the resource_id field. @@ -103,9 +103,9 @@ abstract class GroupResource implements ActiveRecordInterface protected $updated_at; /** - * @var Group + * @var Profile */ - protected $aGroup; + protected $aProfile; /** * @var Resource @@ -133,7 +133,7 @@ abstract class GroupResource implements ActiveRecordInterface } /** - * Initializes internal state of Thelia\Model\Base\GroupResource object. + * Initializes internal state of Thelia\Model\Base\ProfileResource object. * @see applyDefaults() */ public function __construct() @@ -230,9 +230,9 @@ abstract class GroupResource implements ActiveRecordInterface } /** - * Compares this with another GroupResource instance. If - * obj is an instance of GroupResource, delegates to - * equals(GroupResource). Otherwise, returns false. + * Compares this with another ProfileResource instance. If + * obj is an instance of ProfileResource, delegates to + * equals(ProfileResource). Otherwise, returns false. * * @param mixed $obj The object to compare to. * @return boolean Whether equal to the object specified. @@ -315,7 +315,7 @@ abstract class GroupResource implements ActiveRecordInterface * @param string $name The virtual column name * @param mixed $value The value to give to the virtual column * - * @return GroupResource The current object, for fluid interface + * @return ProfileResource The current object, for fluid interface */ public function setVirtualColumn($name, $value) { @@ -347,7 +347,7 @@ abstract class GroupResource implements ActiveRecordInterface * or a format name ('XML', 'YAML', 'JSON', 'CSV') * @param string $data The source data to import from * - * @return GroupResource The current object, for fluid interface + * @return ProfileResource The current object, for fluid interface */ public function importFrom($parser, $data) { @@ -404,14 +404,14 @@ abstract class GroupResource implements ActiveRecordInterface } /** - * Get the [group_id] column value. + * Get the [profile_id] column value. * * @return int */ - public function getGroupId() + public function getProfileId() { - return $this->group_id; + return $this->profile_id; } /** @@ -491,7 +491,7 @@ abstract class GroupResource implements ActiveRecordInterface * Set the value of [id] column. * * @param int $v new value - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) */ public function setId($v) { @@ -501,7 +501,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($this->id !== $v) { $this->id = $v; - $this->modifiedColumns[] = GroupResourceTableMap::ID; + $this->modifiedColumns[] = ProfileResourceTableMap::ID; } @@ -509,35 +509,35 @@ abstract class GroupResource implements ActiveRecordInterface } // setId() /** - * Set the value of [group_id] column. + * Set the value of [profile_id] column. * * @param int $v new value - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) */ - public function setGroupId($v) + public function setProfileId($v) { if ($v !== null) { $v = (int) $v; } - if ($this->group_id !== $v) { - $this->group_id = $v; - $this->modifiedColumns[] = GroupResourceTableMap::GROUP_ID; + if ($this->profile_id !== $v) { + $this->profile_id = $v; + $this->modifiedColumns[] = ProfileResourceTableMap::PROFILE_ID; } - if ($this->aGroup !== null && $this->aGroup->getId() !== $v) { - $this->aGroup = null; + if ($this->aProfile !== null && $this->aProfile->getId() !== $v) { + $this->aProfile = null; } return $this; - } // setGroupId() + } // setProfileId() /** * Set the value of [resource_id] column. * * @param int $v new value - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) */ public function setResourceId($v) { @@ -547,7 +547,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($this->resource_id !== $v) { $this->resource_id = $v; - $this->modifiedColumns[] = GroupResourceTableMap::RESOURCE_ID; + $this->modifiedColumns[] = ProfileResourceTableMap::RESOURCE_ID; } if ($this->aResource !== null && $this->aResource->getId() !== $v) { @@ -562,7 +562,7 @@ abstract class GroupResource implements ActiveRecordInterface * Set the value of [read] column. * * @param int $v new value - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) */ public function setRead($v) { @@ -572,7 +572,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($this->read !== $v) { $this->read = $v; - $this->modifiedColumns[] = GroupResourceTableMap::READ; + $this->modifiedColumns[] = ProfileResourceTableMap::READ; } @@ -583,7 +583,7 @@ abstract class GroupResource implements ActiveRecordInterface * Set the value of [write] column. * * @param int $v new value - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) */ public function setWrite($v) { @@ -593,7 +593,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($this->write !== $v) { $this->write = $v; - $this->modifiedColumns[] = GroupResourceTableMap::WRITE; + $this->modifiedColumns[] = ProfileResourceTableMap::WRITE; } @@ -605,7 +605,7 @@ abstract class GroupResource implements ActiveRecordInterface * * @param mixed $v string, integer (timestamp), or \DateTime value. * Empty strings are treated as NULL. - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) */ public function setCreatedAt($v) { @@ -613,7 +613,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($this->created_at !== null || $dt !== null) { if ($dt !== $this->created_at) { $this->created_at = $dt; - $this->modifiedColumns[] = GroupResourceTableMap::CREATED_AT; + $this->modifiedColumns[] = ProfileResourceTableMap::CREATED_AT; } } // if either are not null @@ -626,7 +626,7 @@ abstract class GroupResource implements ActiveRecordInterface * * @param mixed $v string, integer (timestamp), or \DateTime value. * Empty strings are treated as NULL. - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) */ public function setUpdatedAt($v) { @@ -634,7 +634,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($this->updated_at !== null || $dt !== null) { if ($dt !== $this->updated_at) { $this->updated_at = $dt; - $this->modifiedColumns[] = GroupResourceTableMap::UPDATED_AT; + $this->modifiedColumns[] = ProfileResourceTableMap::UPDATED_AT; } } // if either are not null @@ -687,28 +687,28 @@ abstract class GroupResource implements ActiveRecordInterface try { - $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : GroupResourceTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : ProfileResourceTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; $this->id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : GroupResourceTableMap::translateFieldName('GroupId', TableMap::TYPE_PHPNAME, $indexType)]; - $this->group_id = (null !== $col) ? (int) $col : null; + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : ProfileResourceTableMap::translateFieldName('ProfileId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->profile_id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : GroupResourceTableMap::translateFieldName('ResourceId', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : ProfileResourceTableMap::translateFieldName('ResourceId', TableMap::TYPE_PHPNAME, $indexType)]; $this->resource_id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : GroupResourceTableMap::translateFieldName('Read', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : ProfileResourceTableMap::translateFieldName('Read', TableMap::TYPE_PHPNAME, $indexType)]; $this->read = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : GroupResourceTableMap::translateFieldName('Write', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : ProfileResourceTableMap::translateFieldName('Write', TableMap::TYPE_PHPNAME, $indexType)]; $this->write = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : GroupResourceTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : ProfileResourceTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : GroupResourceTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : ProfileResourceTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -721,10 +721,10 @@ abstract class GroupResource implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 7; // 7 = GroupResourceTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 7; // 7 = ProfileResourceTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { - throw new PropelException("Error populating \Thelia\Model\GroupResource object", 0, $e); + throw new PropelException("Error populating \Thelia\Model\ProfileResource object", 0, $e); } } @@ -743,8 +743,8 @@ abstract class GroupResource implements ActiveRecordInterface */ public function ensureConsistency() { - if ($this->aGroup !== null && $this->group_id !== $this->aGroup->getId()) { - $this->aGroup = null; + if ($this->aProfile !== null && $this->profile_id !== $this->aProfile->getId()) { + $this->aProfile = null; } if ($this->aResource !== null && $this->resource_id !== $this->aResource->getId()) { $this->aResource = null; @@ -772,13 +772,13 @@ abstract class GroupResource implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileResourceTableMap::DATABASE_NAME); } // We don't need to alter the object instance pool; we're just modifying this instance // already in the pool. - $dataFetcher = ChildGroupResourceQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $dataFetcher = ChildProfileResourceQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); $row = $dataFetcher->fetch(); $dataFetcher->close(); if (!$row) { @@ -788,7 +788,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? - $this->aGroup = null; + $this->aProfile = null; $this->aResource = null; } // if (deep) } @@ -799,8 +799,8 @@ abstract class GroupResource implements ActiveRecordInterface * @param ConnectionInterface $con * @return void * @throws PropelException - * @see GroupResource::setDeleted() - * @see GroupResource::isDeleted() + * @see ProfileResource::setDeleted() + * @see ProfileResource::isDeleted() */ public function delete(ConnectionInterface $con = null) { @@ -809,12 +809,12 @@ abstract class GroupResource implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileResourceTableMap::DATABASE_NAME); } $con->beginTransaction(); try { - $deleteQuery = ChildGroupResourceQuery::create() + $deleteQuery = ChildProfileResourceQuery::create() ->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { @@ -851,7 +851,7 @@ abstract class GroupResource implements ActiveRecordInterface } if ($con === null) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileResourceTableMap::DATABASE_NAME); } $con->beginTransaction(); @@ -861,16 +861,16 @@ abstract class GroupResource implements ActiveRecordInterface if ($isInsert) { $ret = $ret && $this->preInsert($con); // timestampable behavior - if (!$this->isColumnModified(GroupResourceTableMap::CREATED_AT)) { + if (!$this->isColumnModified(ProfileResourceTableMap::CREATED_AT)) { $this->setCreatedAt(time()); } - if (!$this->isColumnModified(GroupResourceTableMap::UPDATED_AT)) { + if (!$this->isColumnModified(ProfileResourceTableMap::UPDATED_AT)) { $this->setUpdatedAt(time()); } } else { $ret = $ret && $this->preUpdate($con); // timestampable behavior - if ($this->isModified() && !$this->isColumnModified(GroupResourceTableMap::UPDATED_AT)) { + if ($this->isModified() && !$this->isColumnModified(ProfileResourceTableMap::UPDATED_AT)) { $this->setUpdatedAt(time()); } } @@ -882,7 +882,7 @@ abstract class GroupResource implements ActiveRecordInterface $this->postUpdate($con); } $this->postSave($con); - GroupResourceTableMap::addInstanceToPool($this); + ProfileResourceTableMap::addInstanceToPool($this); } else { $affectedRows = 0; } @@ -917,11 +917,11 @@ abstract class GroupResource implements ActiveRecordInterface // method. This object relates to these object(s) by a // foreign key reference. - if ($this->aGroup !== null) { - if ($this->aGroup->isModified() || $this->aGroup->isNew()) { - $affectedRows += $this->aGroup->save($con); + if ($this->aProfile !== null) { + if ($this->aProfile->isModified() || $this->aProfile->isNew()) { + $affectedRows += $this->aProfile->save($con); } - $this->setGroup($this->aGroup); + $this->setProfile($this->aProfile); } if ($this->aResource !== null) { @@ -962,36 +962,36 @@ abstract class GroupResource implements ActiveRecordInterface $modifiedColumns = array(); $index = 0; - $this->modifiedColumns[] = GroupResourceTableMap::ID; + $this->modifiedColumns[] = ProfileResourceTableMap::ID; if (null !== $this->id) { - throw new PropelException('Cannot insert a value for auto-increment primary key (' . GroupResourceTableMap::ID . ')'); + throw new PropelException('Cannot insert a value for auto-increment primary key (' . ProfileResourceTableMap::ID . ')'); } // check the columns in natural order for more readable SQL queries - if ($this->isColumnModified(GroupResourceTableMap::ID)) { + if ($this->isColumnModified(ProfileResourceTableMap::ID)) { $modifiedColumns[':p' . $index++] = 'ID'; } - if ($this->isColumnModified(GroupResourceTableMap::GROUP_ID)) { - $modifiedColumns[':p' . $index++] = 'GROUP_ID'; + if ($this->isColumnModified(ProfileResourceTableMap::PROFILE_ID)) { + $modifiedColumns[':p' . $index++] = 'PROFILE_ID'; } - if ($this->isColumnModified(GroupResourceTableMap::RESOURCE_ID)) { + if ($this->isColumnModified(ProfileResourceTableMap::RESOURCE_ID)) { $modifiedColumns[':p' . $index++] = 'RESOURCE_ID'; } - if ($this->isColumnModified(GroupResourceTableMap::READ)) { + if ($this->isColumnModified(ProfileResourceTableMap::READ)) { $modifiedColumns[':p' . $index++] = 'READ'; } - if ($this->isColumnModified(GroupResourceTableMap::WRITE)) { + if ($this->isColumnModified(ProfileResourceTableMap::WRITE)) { $modifiedColumns[':p' . $index++] = 'WRITE'; } - if ($this->isColumnModified(GroupResourceTableMap::CREATED_AT)) { + if ($this->isColumnModified(ProfileResourceTableMap::CREATED_AT)) { $modifiedColumns[':p' . $index++] = 'CREATED_AT'; } - if ($this->isColumnModified(GroupResourceTableMap::UPDATED_AT)) { + if ($this->isColumnModified(ProfileResourceTableMap::UPDATED_AT)) { $modifiedColumns[':p' . $index++] = 'UPDATED_AT'; } $sql = sprintf( - 'INSERT INTO group_resource (%s) VALUES (%s)', + 'INSERT INTO profile_resource (%s) VALUES (%s)', implode(', ', $modifiedColumns), implode(', ', array_keys($modifiedColumns)) ); @@ -1003,8 +1003,8 @@ abstract class GroupResource implements ActiveRecordInterface case 'ID': $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); break; - case 'GROUP_ID': - $stmt->bindValue($identifier, $this->group_id, PDO::PARAM_INT); + case 'PROFILE_ID': + $stmt->bindValue($identifier, $this->profile_id, PDO::PARAM_INT); break; case 'RESOURCE_ID': $stmt->bindValue($identifier, $this->resource_id, PDO::PARAM_INT); @@ -1067,7 +1067,7 @@ abstract class GroupResource implements ActiveRecordInterface */ public function getByName($name, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupResourceTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileResourceTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); $field = $this->getByPosition($pos); return $field; @@ -1087,7 +1087,7 @@ abstract class GroupResource implements ActiveRecordInterface return $this->getId(); break; case 1: - return $this->getGroupId(); + return $this->getProfileId(); break; case 2: return $this->getResourceId(); @@ -1127,14 +1127,14 @@ abstract class GroupResource implements ActiveRecordInterface */ public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) { - if (isset($alreadyDumpedObjects['GroupResource'][serialize($this->getPrimaryKey())])) { + if (isset($alreadyDumpedObjects['ProfileResource'][serialize($this->getPrimaryKey())])) { return '*RECURSION*'; } - $alreadyDumpedObjects['GroupResource'][serialize($this->getPrimaryKey())] = true; - $keys = GroupResourceTableMap::getFieldNames($keyType); + $alreadyDumpedObjects['ProfileResource'][serialize($this->getPrimaryKey())] = true; + $keys = ProfileResourceTableMap::getFieldNames($keyType); $result = array( $keys[0] => $this->getId(), - $keys[1] => $this->getGroupId(), + $keys[1] => $this->getProfileId(), $keys[2] => $this->getResourceId(), $keys[3] => $this->getRead(), $keys[4] => $this->getWrite(), @@ -1147,8 +1147,8 @@ abstract class GroupResource implements ActiveRecordInterface } if ($includeForeignObjects) { - if (null !== $this->aGroup) { - $result['Group'] = $this->aGroup->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + if (null !== $this->aProfile) { + $result['Profile'] = $this->aProfile->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); } if (null !== $this->aResource) { $result['Resource'] = $this->aResource->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); @@ -1171,7 +1171,7 @@ abstract class GroupResource implements ActiveRecordInterface */ public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) { - $pos = GroupResourceTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $pos = ProfileResourceTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); return $this->setByPosition($pos, $value); } @@ -1191,7 +1191,7 @@ abstract class GroupResource implements ActiveRecordInterface $this->setId($value); break; case 1: - $this->setGroupId($value); + $this->setProfileId($value); break; case 2: $this->setResourceId($value); @@ -1230,10 +1230,10 @@ abstract class GroupResource implements ActiveRecordInterface */ public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) { - $keys = GroupResourceTableMap::getFieldNames($keyType); + $keys = ProfileResourceTableMap::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); - if (array_key_exists($keys[1], $arr)) $this->setGroupId($arr[$keys[1]]); + if (array_key_exists($keys[1], $arr)) $this->setProfileId($arr[$keys[1]]); if (array_key_exists($keys[2], $arr)) $this->setResourceId($arr[$keys[2]]); if (array_key_exists($keys[3], $arr)) $this->setRead($arr[$keys[3]]); if (array_key_exists($keys[4], $arr)) $this->setWrite($arr[$keys[4]]); @@ -1248,15 +1248,15 @@ abstract class GroupResource implements ActiveRecordInterface */ public function buildCriteria() { - $criteria = new Criteria(GroupResourceTableMap::DATABASE_NAME); + $criteria = new Criteria(ProfileResourceTableMap::DATABASE_NAME); - if ($this->isColumnModified(GroupResourceTableMap::ID)) $criteria->add(GroupResourceTableMap::ID, $this->id); - if ($this->isColumnModified(GroupResourceTableMap::GROUP_ID)) $criteria->add(GroupResourceTableMap::GROUP_ID, $this->group_id); - if ($this->isColumnModified(GroupResourceTableMap::RESOURCE_ID)) $criteria->add(GroupResourceTableMap::RESOURCE_ID, $this->resource_id); - if ($this->isColumnModified(GroupResourceTableMap::READ)) $criteria->add(GroupResourceTableMap::READ, $this->read); - if ($this->isColumnModified(GroupResourceTableMap::WRITE)) $criteria->add(GroupResourceTableMap::WRITE, $this->write); - if ($this->isColumnModified(GroupResourceTableMap::CREATED_AT)) $criteria->add(GroupResourceTableMap::CREATED_AT, $this->created_at); - if ($this->isColumnModified(GroupResourceTableMap::UPDATED_AT)) $criteria->add(GroupResourceTableMap::UPDATED_AT, $this->updated_at); + if ($this->isColumnModified(ProfileResourceTableMap::ID)) $criteria->add(ProfileResourceTableMap::ID, $this->id); + if ($this->isColumnModified(ProfileResourceTableMap::PROFILE_ID)) $criteria->add(ProfileResourceTableMap::PROFILE_ID, $this->profile_id); + if ($this->isColumnModified(ProfileResourceTableMap::RESOURCE_ID)) $criteria->add(ProfileResourceTableMap::RESOURCE_ID, $this->resource_id); + if ($this->isColumnModified(ProfileResourceTableMap::READ)) $criteria->add(ProfileResourceTableMap::READ, $this->read); + if ($this->isColumnModified(ProfileResourceTableMap::WRITE)) $criteria->add(ProfileResourceTableMap::WRITE, $this->write); + if ($this->isColumnModified(ProfileResourceTableMap::CREATED_AT)) $criteria->add(ProfileResourceTableMap::CREATED_AT, $this->created_at); + if ($this->isColumnModified(ProfileResourceTableMap::UPDATED_AT)) $criteria->add(ProfileResourceTableMap::UPDATED_AT, $this->updated_at); return $criteria; } @@ -1271,10 +1271,10 @@ abstract class GroupResource implements ActiveRecordInterface */ public function buildPkeyCriteria() { - $criteria = new Criteria(GroupResourceTableMap::DATABASE_NAME); - $criteria->add(GroupResourceTableMap::ID, $this->id); - $criteria->add(GroupResourceTableMap::GROUP_ID, $this->group_id); - $criteria->add(GroupResourceTableMap::RESOURCE_ID, $this->resource_id); + $criteria = new Criteria(ProfileResourceTableMap::DATABASE_NAME); + $criteria->add(ProfileResourceTableMap::ID, $this->id); + $criteria->add(ProfileResourceTableMap::PROFILE_ID, $this->profile_id); + $criteria->add(ProfileResourceTableMap::RESOURCE_ID, $this->resource_id); return $criteria; } @@ -1288,7 +1288,7 @@ abstract class GroupResource implements ActiveRecordInterface { $pks = array(); $pks[0] = $this->getId(); - $pks[1] = $this->getGroupId(); + $pks[1] = $this->getProfileId(); $pks[2] = $this->getResourceId(); return $pks; @@ -1303,7 +1303,7 @@ abstract class GroupResource implements ActiveRecordInterface public function setPrimaryKey($keys) { $this->setId($keys[0]); - $this->setGroupId($keys[1]); + $this->setProfileId($keys[1]); $this->setResourceId($keys[2]); } @@ -1314,7 +1314,7 @@ abstract class GroupResource implements ActiveRecordInterface public function isPrimaryKeyNull() { - return (null === $this->getId()) && (null === $this->getGroupId()) && (null === $this->getResourceId()); + return (null === $this->getId()) && (null === $this->getProfileId()) && (null === $this->getResourceId()); } /** @@ -1323,14 +1323,14 @@ abstract class GroupResource implements ActiveRecordInterface * If desired, this method can also make copies of all associated (fkey referrers) * objects. * - * @param object $copyObj An object of \Thelia\Model\GroupResource (or compatible) type. + * @param object $copyObj An object of \Thelia\Model\ProfileResource (or compatible) type. * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. * @throws PropelException */ public function copyInto($copyObj, $deepCopy = false, $makeNew = true) { - $copyObj->setGroupId($this->getGroupId()); + $copyObj->setProfileId($this->getProfileId()); $copyObj->setResourceId($this->getResourceId()); $copyObj->setRead($this->getRead()); $copyObj->setWrite($this->getWrite()); @@ -1351,7 +1351,7 @@ abstract class GroupResource implements ActiveRecordInterface * objects. * * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. - * @return \Thelia\Model\GroupResource Clone of current object. + * @return \Thelia\Model\ProfileResource Clone of current object. * @throws PropelException */ public function copy($deepCopy = false) @@ -1365,26 +1365,26 @@ abstract class GroupResource implements ActiveRecordInterface } /** - * Declares an association between this object and a ChildGroup object. + * Declares an association between this object and a ChildProfile object. * - * @param ChildGroup $v - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @param ChildProfile $v + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) * @throws PropelException */ - public function setGroup(ChildGroup $v = null) + public function setProfile(ChildProfile $v = null) { if ($v === null) { - $this->setGroupId(NULL); + $this->setProfileId(NULL); } else { - $this->setGroupId($v->getId()); + $this->setProfileId($v->getId()); } - $this->aGroup = $v; + $this->aProfile = $v; // Add binding for other direction of this n:n relationship. - // If this object has already been added to the ChildGroup object, it will not be re-added. + // If this object has already been added to the ChildProfile object, it will not be re-added. if ($v !== null) { - $v->addGroupResource($this); + $v->addProfileResource($this); } @@ -1393,33 +1393,33 @@ abstract class GroupResource implements ActiveRecordInterface /** - * Get the associated ChildGroup object + * Get the associated ChildProfile object * * @param ConnectionInterface $con Optional Connection object. - * @return ChildGroup The associated ChildGroup object. + * @return ChildProfile The associated ChildProfile object. * @throws PropelException */ - public function getGroup(ConnectionInterface $con = null) + public function getProfile(ConnectionInterface $con = null) { - if ($this->aGroup === null && ($this->group_id !== null)) { - $this->aGroup = ChildGroupQuery::create()->findPk($this->group_id, $con); + if ($this->aProfile === null && ($this->profile_id !== null)) { + $this->aProfile = ChildProfileQuery::create()->findPk($this->profile_id, $con); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. - $this->aGroup->addGroupResources($this); + $this->aProfile->addProfileResources($this); */ } - return $this->aGroup; + return $this->aProfile; } /** * Declares an association between this object and a ChildResource object. * * @param ChildResource $v - * @return \Thelia\Model\GroupResource The current object (for fluent API support) + * @return \Thelia\Model\ProfileResource The current object (for fluent API support) * @throws PropelException */ public function setResource(ChildResource $v = null) @@ -1435,7 +1435,7 @@ abstract class GroupResource implements ActiveRecordInterface // Add binding for other direction of this n:n relationship. // If this object has already been added to the ChildResource object, it will not be re-added. if ($v !== null) { - $v->addGroupResource($this); + $v->addProfileResource($this); } @@ -1459,7 +1459,7 @@ abstract class GroupResource implements ActiveRecordInterface to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. - $this->aResource->addGroupResources($this); + $this->aResource->addProfileResources($this); */ } @@ -1472,7 +1472,7 @@ abstract class GroupResource implements ActiveRecordInterface public function clear() { $this->id = null; - $this->group_id = null; + $this->profile_id = null; $this->resource_id = null; $this->read = null; $this->write = null; @@ -1500,7 +1500,7 @@ abstract class GroupResource implements ActiveRecordInterface if ($deep) { } // if ($deep) - $this->aGroup = null; + $this->aProfile = null; $this->aResource = null; } @@ -1511,7 +1511,7 @@ abstract class GroupResource implements ActiveRecordInterface */ public function __toString() { - return (string) $this->exportTo(GroupResourceTableMap::DEFAULT_STRING_FORMAT); + return (string) $this->exportTo(ProfileResourceTableMap::DEFAULT_STRING_FORMAT); } // timestampable behavior @@ -1519,11 +1519,11 @@ abstract class GroupResource implements ActiveRecordInterface /** * Mark the current object so that the update date doesn't get updated during next save * - * @return ChildGroupResource The current object (for fluent API support) + * @return ChildProfileResource The current object (for fluent API support) */ public function keepUpdateDateUnchanged() { - $this->modifiedColumns[] = GroupResourceTableMap::UPDATED_AT; + $this->modifiedColumns[] = ProfileResourceTableMap::UPDATED_AT; return $this; } diff --git a/core/lib/Thelia/Model/Base/GroupResourceQuery.php b/core/lib/Thelia/Model/Base/ProfileResourceQuery.php similarity index 60% rename from core/lib/Thelia/Model/Base/GroupResourceQuery.php rename to core/lib/Thelia/Model/Base/ProfileResourceQuery.php index e57894707..23794538f 100644 --- a/core/lib/Thelia/Model/Base/GroupResourceQuery.php +++ b/core/lib/Thelia/Model/Base/ProfileResourceQuery.php @@ -12,92 +12,92 @@ use Propel\Runtime\Collection\Collection; use Propel\Runtime\Collection\ObjectCollection; use Propel\Runtime\Connection\ConnectionInterface; use Propel\Runtime\Exception\PropelException; -use Thelia\Model\GroupResource as ChildGroupResource; -use Thelia\Model\GroupResourceQuery as ChildGroupResourceQuery; -use Thelia\Model\Map\GroupResourceTableMap; +use Thelia\Model\ProfileResource as ChildProfileResource; +use Thelia\Model\ProfileResourceQuery as ChildProfileResourceQuery; +use Thelia\Model\Map\ProfileResourceTableMap; /** - * Base class that represents a query for the 'group_resource' table. + * Base class that represents a query for the 'profile_resource' table. * * * - * @method ChildGroupResourceQuery orderById($order = Criteria::ASC) Order by the id column - * @method ChildGroupResourceQuery orderByGroupId($order = Criteria::ASC) Order by the group_id column - * @method ChildGroupResourceQuery orderByResourceId($order = Criteria::ASC) Order by the resource_id column - * @method ChildGroupResourceQuery orderByRead($order = Criteria::ASC) Order by the read column - * @method ChildGroupResourceQuery orderByWrite($order = Criteria::ASC) Order by the write column - * @method ChildGroupResourceQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column - * @method ChildGroupResourceQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column + * @method ChildProfileResourceQuery orderById($order = Criteria::ASC) Order by the id column + * @method ChildProfileResourceQuery orderByProfileId($order = Criteria::ASC) Order by the profile_id column + * @method ChildProfileResourceQuery orderByResourceId($order = Criteria::ASC) Order by the resource_id column + * @method ChildProfileResourceQuery orderByRead($order = Criteria::ASC) Order by the read column + * @method ChildProfileResourceQuery orderByWrite($order = Criteria::ASC) Order by the write column + * @method ChildProfileResourceQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column + * @method ChildProfileResourceQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * - * @method ChildGroupResourceQuery groupById() Group by the id column - * @method ChildGroupResourceQuery groupByGroupId() Group by the group_id column - * @method ChildGroupResourceQuery groupByResourceId() Group by the resource_id column - * @method ChildGroupResourceQuery groupByRead() Group by the read column - * @method ChildGroupResourceQuery groupByWrite() Group by the write column - * @method ChildGroupResourceQuery groupByCreatedAt() Group by the created_at column - * @method ChildGroupResourceQuery groupByUpdatedAt() Group by the updated_at column + * @method ChildProfileResourceQuery groupById() Group by the id column + * @method ChildProfileResourceQuery groupByProfileId() Group by the profile_id column + * @method ChildProfileResourceQuery groupByResourceId() Group by the resource_id column + * @method ChildProfileResourceQuery groupByRead() Group by the read column + * @method ChildProfileResourceQuery groupByWrite() Group by the write column + * @method ChildProfileResourceQuery groupByCreatedAt() Group by the created_at column + * @method ChildProfileResourceQuery groupByUpdatedAt() Group by the updated_at column * - * @method ChildGroupResourceQuery leftJoin($relation) Adds a LEFT JOIN clause to the query - * @method ChildGroupResourceQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query - * @method ChildGroupResourceQuery innerJoin($relation) Adds a INNER JOIN clause to the query + * @method ChildProfileResourceQuery leftJoin($relation) Adds a LEFT JOIN clause to the query + * @method ChildProfileResourceQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query + * @method ChildProfileResourceQuery innerJoin($relation) Adds a INNER JOIN clause to the query * - * @method ChildGroupResourceQuery leftJoinGroup($relationAlias = null) Adds a LEFT JOIN clause to the query using the Group relation - * @method ChildGroupResourceQuery rightJoinGroup($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Group relation - * @method ChildGroupResourceQuery innerJoinGroup($relationAlias = null) Adds a INNER JOIN clause to the query using the Group relation + * @method ChildProfileResourceQuery leftJoinProfile($relationAlias = null) Adds a LEFT JOIN clause to the query using the Profile relation + * @method ChildProfileResourceQuery rightJoinProfile($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Profile relation + * @method ChildProfileResourceQuery innerJoinProfile($relationAlias = null) Adds a INNER JOIN clause to the query using the Profile relation * - * @method ChildGroupResourceQuery leftJoinResource($relationAlias = null) Adds a LEFT JOIN clause to the query using the Resource relation - * @method ChildGroupResourceQuery rightJoinResource($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Resource relation - * @method ChildGroupResourceQuery innerJoinResource($relationAlias = null) Adds a INNER JOIN clause to the query using the Resource relation + * @method ChildProfileResourceQuery leftJoinResource($relationAlias = null) Adds a LEFT JOIN clause to the query using the Resource relation + * @method ChildProfileResourceQuery rightJoinResource($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Resource relation + * @method ChildProfileResourceQuery innerJoinResource($relationAlias = null) Adds a INNER JOIN clause to the query using the Resource relation * - * @method ChildGroupResource findOne(ConnectionInterface $con = null) Return the first ChildGroupResource matching the query - * @method ChildGroupResource findOneOrCreate(ConnectionInterface $con = null) Return the first ChildGroupResource matching the query, or a new ChildGroupResource object populated from the query conditions when no match is found + * @method ChildProfileResource findOne(ConnectionInterface $con = null) Return the first ChildProfileResource matching the query + * @method ChildProfileResource findOneOrCreate(ConnectionInterface $con = null) Return the first ChildProfileResource matching the query, or a new ChildProfileResource object populated from the query conditions when no match is found * - * @method ChildGroupResource findOneById(int $id) Return the first ChildGroupResource filtered by the id column - * @method ChildGroupResource findOneByGroupId(int $group_id) Return the first ChildGroupResource filtered by the group_id column - * @method ChildGroupResource findOneByResourceId(int $resource_id) Return the first ChildGroupResource filtered by the resource_id column - * @method ChildGroupResource findOneByRead(int $read) Return the first ChildGroupResource filtered by the read column - * @method ChildGroupResource findOneByWrite(int $write) Return the first ChildGroupResource filtered by the write column - * @method ChildGroupResource findOneByCreatedAt(string $created_at) Return the first ChildGroupResource filtered by the created_at column - * @method ChildGroupResource findOneByUpdatedAt(string $updated_at) Return the first ChildGroupResource filtered by the updated_at column + * @method ChildProfileResource findOneById(int $id) Return the first ChildProfileResource filtered by the id column + * @method ChildProfileResource findOneByProfileId(int $profile_id) Return the first ChildProfileResource filtered by the profile_id column + * @method ChildProfileResource findOneByResourceId(int $resource_id) Return the first ChildProfileResource filtered by the resource_id column + * @method ChildProfileResource findOneByRead(int $read) Return the first ChildProfileResource filtered by the read column + * @method ChildProfileResource findOneByWrite(int $write) Return the first ChildProfileResource filtered by the write column + * @method ChildProfileResource findOneByCreatedAt(string $created_at) Return the first ChildProfileResource filtered by the created_at column + * @method ChildProfileResource findOneByUpdatedAt(string $updated_at) Return the first ChildProfileResource filtered by the updated_at column * - * @method array findById(int $id) Return ChildGroupResource objects filtered by the id column - * @method array findByGroupId(int $group_id) Return ChildGroupResource objects filtered by the group_id column - * @method array findByResourceId(int $resource_id) Return ChildGroupResource objects filtered by the resource_id column - * @method array findByRead(int $read) Return ChildGroupResource objects filtered by the read column - * @method array findByWrite(int $write) Return ChildGroupResource objects filtered by the write column - * @method array findByCreatedAt(string $created_at) Return ChildGroupResource objects filtered by the created_at column - * @method array findByUpdatedAt(string $updated_at) Return ChildGroupResource objects filtered by the updated_at column + * @method array findById(int $id) Return ChildProfileResource objects filtered by the id column + * @method array findByProfileId(int $profile_id) Return ChildProfileResource objects filtered by the profile_id column + * @method array findByResourceId(int $resource_id) Return ChildProfileResource objects filtered by the resource_id column + * @method array findByRead(int $read) Return ChildProfileResource objects filtered by the read column + * @method array findByWrite(int $write) Return ChildProfileResource objects filtered by the write column + * @method array findByCreatedAt(string $created_at) Return ChildProfileResource objects filtered by the created_at column + * @method array findByUpdatedAt(string $updated_at) Return ChildProfileResource objects filtered by the updated_at column * */ -abstract class GroupResourceQuery extends ModelCriteria +abstract class ProfileResourceQuery extends ModelCriteria { /** - * Initializes internal state of \Thelia\Model\Base\GroupResourceQuery object. + * Initializes internal state of \Thelia\Model\Base\ProfileResourceQuery object. * * @param string $dbName The database name * @param string $modelName The phpName of a model, e.g. 'Book' * @param string $modelAlias The alias for the model in this query, e.g. 'b' */ - public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\GroupResource', $modelAlias = null) + public function __construct($dbName = 'thelia', $modelName = '\\Thelia\\Model\\ProfileResource', $modelAlias = null) { parent::__construct($dbName, $modelName, $modelAlias); } /** - * Returns a new ChildGroupResourceQuery object. + * Returns a new ChildProfileResourceQuery object. * * @param string $modelAlias The alias of a model in the query * @param Criteria $criteria Optional Criteria to build the query from * - * @return ChildGroupResourceQuery + * @return ChildProfileResourceQuery */ public static function create($modelAlias = null, $criteria = null) { - if ($criteria instanceof \Thelia\Model\GroupResourceQuery) { + if ($criteria instanceof \Thelia\Model\ProfileResourceQuery) { return $criteria; } - $query = new \Thelia\Model\GroupResourceQuery(); + $query = new \Thelia\Model\ProfileResourceQuery(); if (null !== $modelAlias) { $query->setModelAlias($modelAlias); } @@ -117,22 +117,22 @@ abstract class GroupResourceQuery extends ModelCriteria * $obj = $c->findPk(array(12, 34, 56), $con); * * - * @param array[$id, $group_id, $resource_id] $key Primary key to use for the query + * @param array[$id, $profile_id, $resource_id] $key Primary key to use for the query * @param ConnectionInterface $con an optional connection object * - * @return ChildGroupResource|array|mixed the result, formatted by the current formatter + * @return ChildProfileResource|array|mixed the result, formatted by the current formatter */ public function findPk($key, $con = null) { if ($key === null) { return null; } - if ((null !== ($obj = GroupResourceTableMap::getInstanceFromPool(serialize(array((string) $key[0], (string) $key[1], (string) $key[2]))))) && !$this->formatter) { + if ((null !== ($obj = ProfileResourceTableMap::getInstanceFromPool(serialize(array((string) $key[0], (string) $key[1], (string) $key[2]))))) && !$this->formatter) { // the object is already in the instance pool return $obj; } if ($con === null) { - $con = Propel::getServiceContainer()->getReadConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getReadConnection(ProfileResourceTableMap::DATABASE_NAME); } $this->basePreSelect($con); if ($this->formatter || $this->modelAlias || $this->with || $this->select @@ -151,11 +151,11 @@ abstract class GroupResourceQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroupResource A model object, or null if the key is not found + * @return ChildProfileResource A model object, or null if the key is not found */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, GROUP_ID, RESOURCE_ID, READ, WRITE, CREATED_AT, UPDATED_AT FROM group_resource WHERE ID = :p0 AND GROUP_ID = :p1 AND RESOURCE_ID = :p2'; + $sql = 'SELECT ID, PROFILE_ID, RESOURCE_ID, READ, WRITE, CREATED_AT, UPDATED_AT FROM profile_resource WHERE ID = :p0 AND PROFILE_ID = :p1 AND RESOURCE_ID = :p2'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key[0], PDO::PARAM_INT); @@ -168,9 +168,9 @@ abstract class GroupResourceQuery extends ModelCriteria } $obj = null; if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { - $obj = new ChildGroupResource(); + $obj = new ChildProfileResource(); $obj->hydrate($row); - GroupResourceTableMap::addInstanceToPool($obj, serialize(array((string) $key[0], (string) $key[1], (string) $key[2]))); + ProfileResourceTableMap::addInstanceToPool($obj, serialize(array((string) $key[0], (string) $key[1], (string) $key[2]))); } $stmt->closeCursor(); @@ -183,7 +183,7 @@ abstract class GroupResourceQuery extends ModelCriteria * @param mixed $key Primary key to use for the query * @param ConnectionInterface $con A connection object * - * @return ChildGroupResource|array|mixed the result, formatted by the current formatter + * @return ChildProfileResource|array|mixed the result, formatted by the current formatter */ protected function findPkComplex($key, $con) { @@ -225,13 +225,13 @@ abstract class GroupResourceQuery extends ModelCriteria * * @param mixed $key Primary key to use for the query * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByPrimaryKey($key) { - $this->addUsingAlias(GroupResourceTableMap::ID, $key[0], Criteria::EQUAL); - $this->addUsingAlias(GroupResourceTableMap::GROUP_ID, $key[1], Criteria::EQUAL); - $this->addUsingAlias(GroupResourceTableMap::RESOURCE_ID, $key[2], Criteria::EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::ID, $key[0], Criteria::EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::PROFILE_ID, $key[1], Criteria::EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::RESOURCE_ID, $key[2], Criteria::EQUAL); return $this; } @@ -241,7 +241,7 @@ abstract class GroupResourceQuery extends ModelCriteria * * @param array $keys The list of primary key to use for the query * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByPrimaryKeys($keys) { @@ -249,10 +249,10 @@ abstract class GroupResourceQuery extends ModelCriteria return $this->add(null, '1<>1', Criteria::CUSTOM); } foreach ($keys as $key) { - $cton0 = $this->getNewCriterion(GroupResourceTableMap::ID, $key[0], Criteria::EQUAL); - $cton1 = $this->getNewCriterion(GroupResourceTableMap::GROUP_ID, $key[1], Criteria::EQUAL); + $cton0 = $this->getNewCriterion(ProfileResourceTableMap::ID, $key[0], Criteria::EQUAL); + $cton1 = $this->getNewCriterion(ProfileResourceTableMap::PROFILE_ID, $key[1], Criteria::EQUAL); $cton0->addAnd($cton1); - $cton2 = $this->getNewCriterion(GroupResourceTableMap::RESOURCE_ID, $key[2], Criteria::EQUAL); + $cton2 = $this->getNewCriterion(ProfileResourceTableMap::RESOURCE_ID, $key[2], Criteria::EQUAL); $cton0->addAnd($cton2); $this->addOr($cton0); } @@ -276,18 +276,18 @@ abstract class GroupResourceQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterById($id = null, $comparison = null) { if (is_array($id)) { $useMinMax = false; if (isset($id['min'])) { - $this->addUsingAlias(GroupResourceTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::ID, $id['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($id['max'])) { - $this->addUsingAlias(GroupResourceTableMap::ID, $id['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::ID, $id['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -298,39 +298,39 @@ abstract class GroupResourceQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupResourceTableMap::ID, $id, $comparison); + return $this->addUsingAlias(ProfileResourceTableMap::ID, $id, $comparison); } /** - * Filter the query on the group_id column + * Filter the query on the profile_id column * * Example usage: * - * $query->filterByGroupId(1234); // WHERE group_id = 1234 - * $query->filterByGroupId(array(12, 34)); // WHERE group_id IN (12, 34) - * $query->filterByGroupId(array('min' => 12)); // WHERE group_id > 12 + * $query->filterByProfileId(1234); // WHERE profile_id = 1234 + * $query->filterByProfileId(array(12, 34)); // WHERE profile_id IN (12, 34) + * $query->filterByProfileId(array('min' => 12)); // WHERE profile_id > 12 * * - * @see filterByGroup() + * @see filterByProfile() * - * @param mixed $groupId The value to use as filter. + * @param mixed $profileId The value to use as filter. * Use scalar values for equality. * Use array values for in_array() equivalent. * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ - public function filterByGroupId($groupId = null, $comparison = null) + public function filterByProfileId($profileId = null, $comparison = null) { - if (is_array($groupId)) { + if (is_array($profileId)) { $useMinMax = false; - if (isset($groupId['min'])) { - $this->addUsingAlias(GroupResourceTableMap::GROUP_ID, $groupId['min'], Criteria::GREATER_EQUAL); + if (isset($profileId['min'])) { + $this->addUsingAlias(ProfileResourceTableMap::PROFILE_ID, $profileId['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } - if (isset($groupId['max'])) { - $this->addUsingAlias(GroupResourceTableMap::GROUP_ID, $groupId['max'], Criteria::LESS_EQUAL); + if (isset($profileId['max'])) { + $this->addUsingAlias(ProfileResourceTableMap::PROFILE_ID, $profileId['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -341,7 +341,7 @@ abstract class GroupResourceQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupResourceTableMap::GROUP_ID, $groupId, $comparison); + return $this->addUsingAlias(ProfileResourceTableMap::PROFILE_ID, $profileId, $comparison); } /** @@ -362,18 +362,18 @@ abstract class GroupResourceQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByResourceId($resourceId = null, $comparison = null) { if (is_array($resourceId)) { $useMinMax = false; if (isset($resourceId['min'])) { - $this->addUsingAlias(GroupResourceTableMap::RESOURCE_ID, $resourceId['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::RESOURCE_ID, $resourceId['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($resourceId['max'])) { - $this->addUsingAlias(GroupResourceTableMap::RESOURCE_ID, $resourceId['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::RESOURCE_ID, $resourceId['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -384,7 +384,7 @@ abstract class GroupResourceQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupResourceTableMap::RESOURCE_ID, $resourceId, $comparison); + return $this->addUsingAlias(ProfileResourceTableMap::RESOURCE_ID, $resourceId, $comparison); } /** @@ -403,18 +403,18 @@ abstract class GroupResourceQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByRead($read = null, $comparison = null) { if (is_array($read)) { $useMinMax = false; if (isset($read['min'])) { - $this->addUsingAlias(GroupResourceTableMap::READ, $read['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::READ, $read['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($read['max'])) { - $this->addUsingAlias(GroupResourceTableMap::READ, $read['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::READ, $read['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -425,7 +425,7 @@ abstract class GroupResourceQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupResourceTableMap::READ, $read, $comparison); + return $this->addUsingAlias(ProfileResourceTableMap::READ, $read, $comparison); } /** @@ -444,18 +444,18 @@ abstract class GroupResourceQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByWrite($write = null, $comparison = null) { if (is_array($write)) { $useMinMax = false; if (isset($write['min'])) { - $this->addUsingAlias(GroupResourceTableMap::WRITE, $write['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::WRITE, $write['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($write['max'])) { - $this->addUsingAlias(GroupResourceTableMap::WRITE, $write['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::WRITE, $write['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -466,7 +466,7 @@ abstract class GroupResourceQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupResourceTableMap::WRITE, $write, $comparison); + return $this->addUsingAlias(ProfileResourceTableMap::WRITE, $write, $comparison); } /** @@ -487,18 +487,18 @@ abstract class GroupResourceQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByCreatedAt($createdAt = null, $comparison = null) { if (is_array($createdAt)) { $useMinMax = false; if (isset($createdAt['min'])) { - $this->addUsingAlias(GroupResourceTableMap::CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::CREATED_AT, $createdAt['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($createdAt['max'])) { - $this->addUsingAlias(GroupResourceTableMap::CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::CREATED_AT, $createdAt['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -509,7 +509,7 @@ abstract class GroupResourceQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupResourceTableMap::CREATED_AT, $createdAt, $comparison); + return $this->addUsingAlias(ProfileResourceTableMap::CREATED_AT, $createdAt, $comparison); } /** @@ -530,18 +530,18 @@ abstract class GroupResourceQuery extends ModelCriteria * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByUpdatedAt($updatedAt = null, $comparison = null) { if (is_array($updatedAt)) { $useMinMax = false; if (isset($updatedAt['min'])) { - $this->addUsingAlias(GroupResourceTableMap::UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::UPDATED_AT, $updatedAt['min'], Criteria::GREATER_EQUAL); $useMinMax = true; } if (isset($updatedAt['max'])) { - $this->addUsingAlias(GroupResourceTableMap::UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL); + $this->addUsingAlias(ProfileResourceTableMap::UPDATED_AT, $updatedAt['max'], Criteria::LESS_EQUAL); $useMinMax = true; } if ($useMinMax) { @@ -552,46 +552,46 @@ abstract class GroupResourceQuery extends ModelCriteria } } - return $this->addUsingAlias(GroupResourceTableMap::UPDATED_AT, $updatedAt, $comparison); + return $this->addUsingAlias(ProfileResourceTableMap::UPDATED_AT, $updatedAt, $comparison); } /** - * Filter the query by a related \Thelia\Model\Group object + * Filter the query by a related \Thelia\Model\Profile object * - * @param \Thelia\Model\Group|ObjectCollection $group The related object(s) to use as filter + * @param \Thelia\Model\Profile|ObjectCollection $profile The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ - public function filterByGroup($group, $comparison = null) + public function filterByProfile($profile, $comparison = null) { - if ($group instanceof \Thelia\Model\Group) { + if ($profile instanceof \Thelia\Model\Profile) { return $this - ->addUsingAlias(GroupResourceTableMap::GROUP_ID, $group->getId(), $comparison); - } elseif ($group instanceof ObjectCollection) { + ->addUsingAlias(ProfileResourceTableMap::PROFILE_ID, $profile->getId(), $comparison); + } elseif ($profile instanceof ObjectCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this - ->addUsingAlias(GroupResourceTableMap::GROUP_ID, $group->toKeyValue('PrimaryKey', 'Id'), $comparison); + ->addUsingAlias(ProfileResourceTableMap::PROFILE_ID, $profile->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { - throw new PropelException('filterByGroup() only accepts arguments of type \Thelia\Model\Group or Collection'); + throw new PropelException('filterByProfile() only accepts arguments of type \Thelia\Model\Profile or Collection'); } } /** - * Adds a JOIN clause to the query using the Group relation + * Adds a JOIN clause to the query using the Profile relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ - public function joinGroup($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function joinProfile($relationAlias = null, $joinType = Criteria::INNER_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('Group'); + $relationMap = $tableMap->getRelation('Profile'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -606,14 +606,14 @@ abstract class GroupResourceQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'Group'); + $this->addJoinObject($join, 'Profile'); } return $this; } /** - * Use the Group relation Group object + * Use the Profile relation Profile object * * @see useQuery() * @@ -621,13 +621,13 @@ abstract class GroupResourceQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileQuery A secondary query class using the current class as primary query */ - public function useGroupQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function useProfileQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) { return $this - ->joinGroup($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'Group', '\Thelia\Model\GroupQuery'); + ->joinProfile($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Profile', '\Thelia\Model\ProfileQuery'); } /** @@ -636,20 +636,20 @@ abstract class GroupResourceQuery extends ModelCriteria * @param \Thelia\Model\Resource|ObjectCollection $resource The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function filterByResource($resource, $comparison = null) { if ($resource instanceof \Thelia\Model\Resource) { return $this - ->addUsingAlias(GroupResourceTableMap::RESOURCE_ID, $resource->getId(), $comparison); + ->addUsingAlias(ProfileResourceTableMap::RESOURCE_ID, $resource->getId(), $comparison); } elseif ($resource instanceof ObjectCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this - ->addUsingAlias(GroupResourceTableMap::RESOURCE_ID, $resource->toKeyValue('PrimaryKey', 'Id'), $comparison); + ->addUsingAlias(ProfileResourceTableMap::RESOURCE_ID, $resource->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { throw new PropelException('filterByResource() only accepts arguments of type \Thelia\Model\Resource or Collection'); } @@ -661,7 +661,7 @@ abstract class GroupResourceQuery extends ModelCriteria * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function joinResource($relationAlias = null, $joinType = Criteria::INNER_JOIN) { @@ -708,16 +708,16 @@ abstract class GroupResourceQuery extends ModelCriteria /** * Exclude object from result * - * @param ChildGroupResource $groupResource Object to remove from the list of results + * @param ChildProfileResource $profileResource Object to remove from the list of results * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ - public function prune($groupResource = null) + public function prune($profileResource = null) { - if ($groupResource) { - $this->addCond('pruneCond0', $this->getAliasedColName(GroupResourceTableMap::ID), $groupResource->getId(), Criteria::NOT_EQUAL); - $this->addCond('pruneCond1', $this->getAliasedColName(GroupResourceTableMap::GROUP_ID), $groupResource->getGroupId(), Criteria::NOT_EQUAL); - $this->addCond('pruneCond2', $this->getAliasedColName(GroupResourceTableMap::RESOURCE_ID), $groupResource->getResourceId(), Criteria::NOT_EQUAL); + if ($profileResource) { + $this->addCond('pruneCond0', $this->getAliasedColName(ProfileResourceTableMap::ID), $profileResource->getId(), Criteria::NOT_EQUAL); + $this->addCond('pruneCond1', $this->getAliasedColName(ProfileResourceTableMap::PROFILE_ID), $profileResource->getProfileId(), Criteria::NOT_EQUAL); + $this->addCond('pruneCond2', $this->getAliasedColName(ProfileResourceTableMap::RESOURCE_ID), $profileResource->getResourceId(), Criteria::NOT_EQUAL); $this->combine(array('pruneCond0', 'pruneCond1', 'pruneCond2'), Criteria::LOGICAL_OR); } @@ -725,7 +725,7 @@ abstract class GroupResourceQuery extends ModelCriteria } /** - * Deletes all rows from the group_resource table. + * Deletes all rows from the profile_resource table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). @@ -733,7 +733,7 @@ abstract class GroupResourceQuery extends ModelCriteria public function doDeleteAll(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileResourceTableMap::DATABASE_NAME); } $affectedRows = 0; // initialize var to track total num of affected rows try { @@ -744,8 +744,8 @@ abstract class GroupResourceQuery extends ModelCriteria // Because this db requires some delete cascade/set null emulation, we have to // clear the cached instance *after* the emulation has happened (since // instances get re-added by the select statement contained therein). - GroupResourceTableMap::clearInstancePool(); - GroupResourceTableMap::clearRelatedInstancePool(); + ProfileResourceTableMap::clearInstancePool(); + ProfileResourceTableMap::clearRelatedInstancePool(); $con->commit(); } catch (PropelException $e) { @@ -757,9 +757,9 @@ abstract class GroupResourceQuery extends ModelCriteria } /** - * Performs a DELETE on the database, given a ChildGroupResource or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a ChildProfileResource or Criteria object OR a primary key value. * - * @param mixed $values Criteria or ChildGroupResource object or primary key or array of primary keys + * @param mixed $values Criteria or ChildProfileResource object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -770,13 +770,13 @@ abstract class GroupResourceQuery extends ModelCriteria public function delete(ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileResourceTableMap::DATABASE_NAME); } $criteria = $this; // Set the correct dbName - $criteria->setDbName(GroupResourceTableMap::DATABASE_NAME); + $criteria->setDbName(ProfileResourceTableMap::DATABASE_NAME); $affectedRows = 0; // initialize var to track total num of affected rows @@ -786,10 +786,10 @@ abstract class GroupResourceQuery extends ModelCriteria $con->beginTransaction(); - GroupResourceTableMap::removeInstanceFromPool($criteria); + ProfileResourceTableMap::removeInstanceFromPool($criteria); $affectedRows += ModelCriteria::delete($con); - GroupResourceTableMap::clearRelatedInstancePool(); + ProfileResourceTableMap::clearRelatedInstancePool(); $con->commit(); return $affectedRows; @@ -806,11 +806,11 @@ abstract class GroupResourceQuery extends ModelCriteria * * @param int $nbDays Maximum age of the latest update in days * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function recentlyUpdated($nbDays = 7) { - return $this->addUsingAlias(GroupResourceTableMap::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); + return $this->addUsingAlias(ProfileResourceTableMap::UPDATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); } /** @@ -818,51 +818,51 @@ abstract class GroupResourceQuery extends ModelCriteria * * @param int $nbDays Maximum age of in days * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function recentlyCreated($nbDays = 7) { - return $this->addUsingAlias(GroupResourceTableMap::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); + return $this->addUsingAlias(ProfileResourceTableMap::CREATED_AT, time() - $nbDays * 24 * 60 * 60, Criteria::GREATER_EQUAL); } /** * Order by update date desc * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function lastUpdatedFirst() { - return $this->addDescendingOrderByColumn(GroupResourceTableMap::UPDATED_AT); + return $this->addDescendingOrderByColumn(ProfileResourceTableMap::UPDATED_AT); } /** * Order by update date asc * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function firstUpdatedFirst() { - return $this->addAscendingOrderByColumn(GroupResourceTableMap::UPDATED_AT); + return $this->addAscendingOrderByColumn(ProfileResourceTableMap::UPDATED_AT); } /** * Order by create date desc * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function lastCreatedFirst() { - return $this->addDescendingOrderByColumn(GroupResourceTableMap::CREATED_AT); + return $this->addDescendingOrderByColumn(ProfileResourceTableMap::CREATED_AT); } /** * Order by create date asc * - * @return ChildGroupResourceQuery The current query, for fluid interface + * @return ChildProfileResourceQuery The current query, for fluid interface */ public function firstCreatedFirst() { - return $this->addAscendingOrderByColumn(GroupResourceTableMap::CREATED_AT); + return $this->addAscendingOrderByColumn(ProfileResourceTableMap::CREATED_AT); } -} // GroupResourceQuery +} // ProfileResourceQuery diff --git a/core/lib/Thelia/Model/Base/Resource.php b/core/lib/Thelia/Model/Base/Resource.php index 59bb2766a..166fa7a16 100644 --- a/core/lib/Thelia/Model/Base/Resource.php +++ b/core/lib/Thelia/Model/Base/Resource.php @@ -17,10 +17,10 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Parser\AbstractParser; use Propel\Runtime\Util\PropelDateTime; -use Thelia\Model\Group as ChildGroup; -use Thelia\Model\GroupQuery as ChildGroupQuery; -use Thelia\Model\GroupResource as ChildGroupResource; -use Thelia\Model\GroupResourceQuery as ChildGroupResourceQuery; +use Thelia\Model\Profile as ChildProfile; +use Thelia\Model\ProfileQuery as ChildProfileQuery; +use Thelia\Model\ProfileResource as ChildProfileResource; +use Thelia\Model\ProfileResourceQuery as ChildProfileResourceQuery; use Thelia\Model\Resource as ChildResource; use Thelia\Model\ResourceI18n as ChildResourceI18n; use Thelia\Model\ResourceI18nQuery as ChildResourceI18nQuery; @@ -86,10 +86,10 @@ abstract class Resource implements ActiveRecordInterface protected $updated_at; /** - * @var ObjectCollection|ChildGroupResource[] Collection to store aggregation of ChildGroupResource objects. + * @var ObjectCollection|ChildProfileResource[] Collection to store aggregation of ChildProfileResource objects. */ - protected $collGroupResources; - protected $collGroupResourcesPartial; + protected $collProfileResources; + protected $collProfileResourcesPartial; /** * @var ObjectCollection|ChildResourceI18n[] Collection to store aggregation of ChildResourceI18n objects. @@ -98,9 +98,9 @@ abstract class Resource implements ActiveRecordInterface protected $collResourceI18nsPartial; /** - * @var ChildGroup[] Collection to store aggregation of ChildGroup objects. + * @var ChildProfile[] Collection to store aggregation of ChildProfile objects. */ - protected $collGroups; + protected $collProfiles; /** * Flag to prevent endless save loop, if this object is referenced @@ -128,13 +128,13 @@ abstract class Resource implements ActiveRecordInterface * An array of objects scheduled for deletion. * @var ObjectCollection */ - protected $groupsScheduledForDeletion = null; + protected $profilesScheduledForDeletion = null; /** * An array of objects scheduled for deletion. * @var ObjectCollection */ - protected $groupResourcesScheduledForDeletion = null; + protected $profileResourcesScheduledForDeletion = null; /** * An array of objects scheduled for deletion. @@ -669,11 +669,11 @@ abstract class Resource implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? - $this->collGroupResources = null; + $this->collProfileResources = null; $this->collResourceI18ns = null; - $this->collGroups = null; + $this->collProfiles = null; } // if (deep) } @@ -807,44 +807,44 @@ abstract class Resource implements ActiveRecordInterface $this->resetModified(); } - if ($this->groupsScheduledForDeletion !== null) { - if (!$this->groupsScheduledForDeletion->isEmpty()) { + if ($this->profilesScheduledForDeletion !== null) { + if (!$this->profilesScheduledForDeletion->isEmpty()) { $pks = array(); $pk = $this->getPrimaryKey(); - foreach ($this->groupsScheduledForDeletion->getPrimaryKeys(false) as $remotePk) { + foreach ($this->profilesScheduledForDeletion->getPrimaryKeys(false) as $remotePk) { $pks[] = array($remotePk, $pk); } - GroupResourceQuery::create() + ProfileResourceQuery::create() ->filterByPrimaryKeys($pks) ->delete($con); - $this->groupsScheduledForDeletion = null; + $this->profilesScheduledForDeletion = null; } - foreach ($this->getGroups() as $group) { - if ($group->isModified()) { - $group->save($con); + foreach ($this->getProfiles() as $profile) { + if ($profile->isModified()) { + $profile->save($con); } } - } elseif ($this->collGroups) { - foreach ($this->collGroups as $group) { - if ($group->isModified()) { - $group->save($con); + } elseif ($this->collProfiles) { + foreach ($this->collProfiles as $profile) { + if ($profile->isModified()) { + $profile->save($con); } } } - if ($this->groupResourcesScheduledForDeletion !== null) { - if (!$this->groupResourcesScheduledForDeletion->isEmpty()) { - \Thelia\Model\GroupResourceQuery::create() - ->filterByPrimaryKeys($this->groupResourcesScheduledForDeletion->getPrimaryKeys(false)) + if ($this->profileResourcesScheduledForDeletion !== null) { + if (!$this->profileResourcesScheduledForDeletion->isEmpty()) { + \Thelia\Model\ProfileResourceQuery::create() + ->filterByPrimaryKeys($this->profileResourcesScheduledForDeletion->getPrimaryKeys(false)) ->delete($con); - $this->groupResourcesScheduledForDeletion = null; + $this->profileResourcesScheduledForDeletion = null; } } - if ($this->collGroupResources !== null) { - foreach ($this->collGroupResources as $referrerFK) { + if ($this->collProfileResources !== null) { + foreach ($this->collProfileResources as $referrerFK) { if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { $affectedRows += $referrerFK->save($con); } @@ -1043,8 +1043,8 @@ abstract class Resource implements ActiveRecordInterface } if ($includeForeignObjects) { - if (null !== $this->collGroupResources) { - $result['GroupResources'] = $this->collGroupResources->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + if (null !== $this->collProfileResources) { + $result['ProfileResources'] = $this->collProfileResources->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } if (null !== $this->collResourceI18ns) { $result['ResourceI18ns'] = $this->collResourceI18ns->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); @@ -1210,9 +1210,9 @@ abstract class Resource implements ActiveRecordInterface // the getter/setter methods for fkey referrer objects. $copyObj->setNew(false); - foreach ($this->getGroupResources() as $relObj) { + foreach ($this->getProfileResources() as $relObj) { if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addGroupResource($relObj->copy($deepCopy)); + $copyObj->addProfileResource($relObj->copy($deepCopy)); } } @@ -1263,8 +1263,8 @@ abstract class Resource implements ActiveRecordInterface */ public function initRelation($relationName) { - if ('GroupResource' == $relationName) { - return $this->initGroupResources(); + if ('ProfileResource' == $relationName) { + return $this->initProfileResources(); } if ('ResourceI18n' == $relationName) { return $this->initResourceI18ns(); @@ -1272,31 +1272,31 @@ abstract class Resource implements ActiveRecordInterface } /** - * Clears out the collGroupResources collection + * Clears out the collProfileResources collection * * This does not modify the database; however, it will remove any associated objects, causing * them to be refetched by subsequent calls to accessor method. * * @return void - * @see addGroupResources() + * @see addProfileResources() */ - public function clearGroupResources() + public function clearProfileResources() { - $this->collGroupResources = null; // important to set this to NULL since that means it is uninitialized + $this->collProfileResources = null; // important to set this to NULL since that means it is uninitialized } /** - * Reset is the collGroupResources collection loaded partially. + * Reset is the collProfileResources collection loaded partially. */ - public function resetPartialGroupResources($v = true) + public function resetPartialProfileResources($v = true) { - $this->collGroupResourcesPartial = $v; + $this->collProfileResourcesPartial = $v; } /** - * Initializes the collGroupResources collection. + * Initializes the collProfileResources collection. * - * By default this just sets the collGroupResources collection to an empty array (like clearcollGroupResources()); + * By default this just sets the collProfileResources collection to an empty array (like clearcollProfileResources()); * however, you may wish to override this method in your stub class to provide setting appropriate * to your application -- for example, setting the initial array to the values stored in database. * @@ -1305,17 +1305,17 @@ abstract class Resource implements ActiveRecordInterface * * @return void */ - public function initGroupResources($overrideExisting = true) + public function initProfileResources($overrideExisting = true) { - if (null !== $this->collGroupResources && !$overrideExisting) { + if (null !== $this->collProfileResources && !$overrideExisting) { return; } - $this->collGroupResources = new ObjectCollection(); - $this->collGroupResources->setModel('\Thelia\Model\GroupResource'); + $this->collProfileResources = new ObjectCollection(); + $this->collProfileResources->setModel('\Thelia\Model\ProfileResource'); } /** - * Gets an array of ChildGroupResource objects which contain a foreign key that references this object. + * Gets an array of ChildProfileResource objects which contain a foreign key that references this object. * * If the $criteria is not null, it is used to always fetch the results from the database. * Otherwise the results are fetched from the database the first time, then cached. @@ -1325,112 +1325,112 @@ abstract class Resource implements ActiveRecordInterface * * @param Criteria $criteria optional Criteria object to narrow the query * @param ConnectionInterface $con optional connection object - * @return Collection|ChildGroupResource[] List of ChildGroupResource objects + * @return Collection|ChildProfileResource[] List of ChildProfileResource objects * @throws PropelException */ - public function getGroupResources($criteria = null, ConnectionInterface $con = null) + public function getProfileResources($criteria = null, ConnectionInterface $con = null) { - $partial = $this->collGroupResourcesPartial && !$this->isNew(); - if (null === $this->collGroupResources || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupResources) { + $partial = $this->collProfileResourcesPartial && !$this->isNew(); + if (null === $this->collProfileResources || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileResources) { // return empty collection - $this->initGroupResources(); + $this->initProfileResources(); } else { - $collGroupResources = ChildGroupResourceQuery::create(null, $criteria) + $collProfileResources = ChildProfileResourceQuery::create(null, $criteria) ->filterByResource($this) ->find($con); if (null !== $criteria) { - if (false !== $this->collGroupResourcesPartial && count($collGroupResources)) { - $this->initGroupResources(false); + if (false !== $this->collProfileResourcesPartial && count($collProfileResources)) { + $this->initProfileResources(false); - foreach ($collGroupResources as $obj) { - if (false == $this->collGroupResources->contains($obj)) { - $this->collGroupResources->append($obj); + foreach ($collProfileResources as $obj) { + if (false == $this->collProfileResources->contains($obj)) { + $this->collProfileResources->append($obj); } } - $this->collGroupResourcesPartial = true; + $this->collProfileResourcesPartial = true; } - $collGroupResources->getInternalIterator()->rewind(); + $collProfileResources->getInternalIterator()->rewind(); - return $collGroupResources; + return $collProfileResources; } - if ($partial && $this->collGroupResources) { - foreach ($this->collGroupResources as $obj) { + if ($partial && $this->collProfileResources) { + foreach ($this->collProfileResources as $obj) { if ($obj->isNew()) { - $collGroupResources[] = $obj; + $collProfileResources[] = $obj; } } } - $this->collGroupResources = $collGroupResources; - $this->collGroupResourcesPartial = false; + $this->collProfileResources = $collProfileResources; + $this->collProfileResourcesPartial = false; } } - return $this->collGroupResources; + return $this->collProfileResources; } /** - * Sets a collection of GroupResource objects related by a one-to-many relationship + * Sets a collection of ProfileResource objects related by a one-to-many relationship * to the current object. * It will also schedule objects for deletion based on a diff between old objects (aka persisted) * and new objects from the given Propel collection. * - * @param Collection $groupResources A Propel collection. + * @param Collection $profileResources A Propel collection. * @param ConnectionInterface $con Optional connection object * @return ChildResource The current object (for fluent API support) */ - public function setGroupResources(Collection $groupResources, ConnectionInterface $con = null) + public function setProfileResources(Collection $profileResources, ConnectionInterface $con = null) { - $groupResourcesToDelete = $this->getGroupResources(new Criteria(), $con)->diff($groupResources); + $profileResourcesToDelete = $this->getProfileResources(new Criteria(), $con)->diff($profileResources); //since at least one column in the foreign key is at the same time a PK //we can not just set a PK to NULL in the lines below. We have to store //a backup of all values, so we are able to manipulate these items based on the onDelete value later. - $this->groupResourcesScheduledForDeletion = clone $groupResourcesToDelete; + $this->profileResourcesScheduledForDeletion = clone $profileResourcesToDelete; - foreach ($groupResourcesToDelete as $groupResourceRemoved) { - $groupResourceRemoved->setResource(null); + foreach ($profileResourcesToDelete as $profileResourceRemoved) { + $profileResourceRemoved->setResource(null); } - $this->collGroupResources = null; - foreach ($groupResources as $groupResource) { - $this->addGroupResource($groupResource); + $this->collProfileResources = null; + foreach ($profileResources as $profileResource) { + $this->addProfileResource($profileResource); } - $this->collGroupResources = $groupResources; - $this->collGroupResourcesPartial = false; + $this->collProfileResources = $profileResources; + $this->collProfileResourcesPartial = false; return $this; } /** - * Returns the number of related GroupResource objects. + * Returns the number of related ProfileResource objects. * * @param Criteria $criteria * @param boolean $distinct * @param ConnectionInterface $con - * @return int Count of related GroupResource objects. + * @return int Count of related ProfileResource objects. * @throws PropelException */ - public function countGroupResources(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + public function countProfileResources(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) { - $partial = $this->collGroupResourcesPartial && !$this->isNew(); - if (null === $this->collGroupResources || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collGroupResources) { + $partial = $this->collProfileResourcesPartial && !$this->isNew(); + if (null === $this->collProfileResources || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collProfileResources) { return 0; } if ($partial && !$criteria) { - return count($this->getGroupResources()); + return count($this->getProfileResources()); } - $query = ChildGroupResourceQuery::create(null, $criteria); + $query = ChildProfileResourceQuery::create(null, $criteria); if ($distinct) { $query->distinct(); } @@ -1440,53 +1440,53 @@ abstract class Resource implements ActiveRecordInterface ->count($con); } - return count($this->collGroupResources); + return count($this->collProfileResources); } /** - * Method called to associate a ChildGroupResource object to this object - * through the ChildGroupResource foreign key attribute. + * Method called to associate a ChildProfileResource object to this object + * through the ChildProfileResource foreign key attribute. * - * @param ChildGroupResource $l ChildGroupResource + * @param ChildProfileResource $l ChildProfileResource * @return \Thelia\Model\Resource The current object (for fluent API support) */ - public function addGroupResource(ChildGroupResource $l) + public function addProfileResource(ChildProfileResource $l) { - if ($this->collGroupResources === null) { - $this->initGroupResources(); - $this->collGroupResourcesPartial = true; + if ($this->collProfileResources === null) { + $this->initProfileResources(); + $this->collProfileResourcesPartial = true; } - if (!in_array($l, $this->collGroupResources->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddGroupResource($l); + if (!in_array($l, $this->collProfileResources->getArrayCopy(), true)) { // only add it if the **same** object is not already associated + $this->doAddProfileResource($l); } return $this; } /** - * @param GroupResource $groupResource The groupResource object to add. + * @param ProfileResource $profileResource The profileResource object to add. */ - protected function doAddGroupResource($groupResource) + protected function doAddProfileResource($profileResource) { - $this->collGroupResources[]= $groupResource; - $groupResource->setResource($this); + $this->collProfileResources[]= $profileResource; + $profileResource->setResource($this); } /** - * @param GroupResource $groupResource The groupResource object to remove. + * @param ProfileResource $profileResource The profileResource object to remove. * @return ChildResource The current object (for fluent API support) */ - public function removeGroupResource($groupResource) + public function removeProfileResource($profileResource) { - if ($this->getGroupResources()->contains($groupResource)) { - $this->collGroupResources->remove($this->collGroupResources->search($groupResource)); - if (null === $this->groupResourcesScheduledForDeletion) { - $this->groupResourcesScheduledForDeletion = clone $this->collGroupResources; - $this->groupResourcesScheduledForDeletion->clear(); + if ($this->getProfileResources()->contains($profileResource)) { + $this->collProfileResources->remove($this->collProfileResources->search($profileResource)); + if (null === $this->profileResourcesScheduledForDeletion) { + $this->profileResourcesScheduledForDeletion = clone $this->collProfileResources; + $this->profileResourcesScheduledForDeletion->clear(); } - $this->groupResourcesScheduledForDeletion[]= clone $groupResource; - $groupResource->setResource(null); + $this->profileResourcesScheduledForDeletion[]= clone $profileResource; + $profileResource->setResource(null); } return $this; @@ -1498,7 +1498,7 @@ abstract class Resource implements ActiveRecordInterface * an identical criteria, it returns the collection. * Otherwise if this Resource is new, it will return * an empty collection; or if this Resource has previously - * been saved, it will retrieve related GroupResources from storage. + * been saved, it will retrieve related ProfileResources from storage. * * This method is protected by default in order to keep the public * api reasonable. You can provide public methods for those you @@ -1507,14 +1507,14 @@ abstract class Resource implements ActiveRecordInterface * @param Criteria $criteria optional Criteria object to narrow the query * @param ConnectionInterface $con optional connection object * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildGroupResource[] List of ChildGroupResource objects + * @return Collection|ChildProfileResource[] List of ChildProfileResource objects */ - public function getGroupResourcesJoinGroup($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) + public function getProfileResourcesJoinProfile($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) { - $query = ChildGroupResourceQuery::create(null, $criteria); - $query->joinWith('Group', $joinBehavior); + $query = ChildProfileResourceQuery::create(null, $criteria); + $query->joinWith('Profile', $joinBehavior); - return $this->getGroupResources($query, $con); + return $this->getProfileResources($query, $con); } /** @@ -1743,38 +1743,38 @@ abstract class Resource implements ActiveRecordInterface } /** - * Clears out the collGroups collection + * Clears out the collProfiles collection * * This does not modify the database; however, it will remove any associated objects, causing * them to be refetched by subsequent calls to accessor method. * * @return void - * @see addGroups() + * @see addProfiles() */ - public function clearGroups() + public function clearProfiles() { - $this->collGroups = null; // important to set this to NULL since that means it is uninitialized - $this->collGroupsPartial = null; + $this->collProfiles = null; // important to set this to NULL since that means it is uninitialized + $this->collProfilesPartial = null; } /** - * Initializes the collGroups collection. + * Initializes the collProfiles collection. * - * By default this just sets the collGroups collection to an empty collection (like clearGroups()); + * By default this just sets the collProfiles collection to an empty collection (like clearProfiles()); * however, you may wish to override this method in your stub class to provide setting appropriate * to your application -- for example, setting the initial array to the values stored in database. * * @return void */ - public function initGroups() + public function initProfiles() { - $this->collGroups = new ObjectCollection(); - $this->collGroups->setModel('\Thelia\Model\Group'); + $this->collProfiles = new ObjectCollection(); + $this->collProfiles->setModel('\Thelia\Model\Profile'); } /** - * Gets a collection of ChildGroup objects related by a many-to-many relationship - * to the current object by way of the group_resource cross-reference table. + * Gets a collection of ChildProfile objects related by a many-to-many relationship + * to the current object by way of the profile_resource cross-reference table. * * If the $criteria is not null, it is used to always fetch the results from the database. * Otherwise the results are fetched from the database the first time, then cached. @@ -1785,73 +1785,73 @@ abstract class Resource implements ActiveRecordInterface * @param Criteria $criteria Optional query object to filter the query * @param ConnectionInterface $con Optional connection object * - * @return ObjectCollection|ChildGroup[] List of ChildGroup objects + * @return ObjectCollection|ChildProfile[] List of ChildProfile objects */ - public function getGroups($criteria = null, ConnectionInterface $con = null) + public function getProfiles($criteria = null, ConnectionInterface $con = null) { - if (null === $this->collGroups || null !== $criteria) { - if ($this->isNew() && null === $this->collGroups) { + if (null === $this->collProfiles || null !== $criteria) { + if ($this->isNew() && null === $this->collProfiles) { // return empty collection - $this->initGroups(); + $this->initProfiles(); } else { - $collGroups = ChildGroupQuery::create(null, $criteria) + $collProfiles = ChildProfileQuery::create(null, $criteria) ->filterByResource($this) ->find($con); if (null !== $criteria) { - return $collGroups; + return $collProfiles; } - $this->collGroups = $collGroups; + $this->collProfiles = $collProfiles; } } - return $this->collGroups; + return $this->collProfiles; } /** - * Sets a collection of Group objects related by a many-to-many relationship - * to the current object by way of the group_resource cross-reference table. + * Sets a collection of Profile objects related by a many-to-many relationship + * to the current object by way of the profile_resource cross-reference table. * It will also schedule objects for deletion based on a diff between old objects (aka persisted) * and new objects from the given Propel collection. * - * @param Collection $groups A Propel collection. + * @param Collection $profiles A Propel collection. * @param ConnectionInterface $con Optional connection object * @return ChildResource The current object (for fluent API support) */ - public function setGroups(Collection $groups, ConnectionInterface $con = null) + public function setProfiles(Collection $profiles, ConnectionInterface $con = null) { - $this->clearGroups(); - $currentGroups = $this->getGroups(); + $this->clearProfiles(); + $currentProfiles = $this->getProfiles(); - $this->groupsScheduledForDeletion = $currentGroups->diff($groups); + $this->profilesScheduledForDeletion = $currentProfiles->diff($profiles); - foreach ($groups as $group) { - if (!$currentGroups->contains($group)) { - $this->doAddGroup($group); + foreach ($profiles as $profile) { + if (!$currentProfiles->contains($profile)) { + $this->doAddProfile($profile); } } - $this->collGroups = $groups; + $this->collProfiles = $profiles; return $this; } /** - * Gets the number of ChildGroup objects related by a many-to-many relationship - * to the current object by way of the group_resource cross-reference table. + * Gets the number of ChildProfile objects related by a many-to-many relationship + * to the current object by way of the profile_resource cross-reference table. * * @param Criteria $criteria Optional query object to filter the query * @param boolean $distinct Set to true to force count distinct * @param ConnectionInterface $con Optional connection object * - * @return int the number of related ChildGroup objects + * @return int the number of related ChildProfile objects */ - public function countGroups($criteria = null, $distinct = false, ConnectionInterface $con = null) + public function countProfiles($criteria = null, $distinct = false, ConnectionInterface $con = null) { - if (null === $this->collGroups || null !== $criteria) { - if ($this->isNew() && null === $this->collGroups) { + if (null === $this->collProfiles || null !== $criteria) { + if ($this->isNew() && null === $this->collProfiles) { return 0; } else { - $query = ChildGroupQuery::create(null, $criteria); + $query = ChildProfileQuery::create(null, $criteria); if ($distinct) { $query->distinct(); } @@ -1861,65 +1861,65 @@ abstract class Resource implements ActiveRecordInterface ->count($con); } } else { - return count($this->collGroups); + return count($this->collProfiles); } } /** - * Associate a ChildGroup object to this object - * through the group_resource cross reference table. + * Associate a ChildProfile object to this object + * through the profile_resource cross reference table. * - * @param ChildGroup $group The ChildGroupResource object to relate + * @param ChildProfile $profile The ChildProfileResource object to relate * @return ChildResource The current object (for fluent API support) */ - public function addGroup(ChildGroup $group) + public function addProfile(ChildProfile $profile) { - if ($this->collGroups === null) { - $this->initGroups(); + if ($this->collProfiles === null) { + $this->initProfiles(); } - if (!$this->collGroups->contains($group)) { // only add it if the **same** object is not already associated - $this->doAddGroup($group); - $this->collGroups[] = $group; + if (!$this->collProfiles->contains($profile)) { // only add it if the **same** object is not already associated + $this->doAddProfile($profile); + $this->collProfiles[] = $profile; } return $this; } /** - * @param Group $group The group object to add. + * @param Profile $profile The profile object to add. */ - protected function doAddGroup($group) + protected function doAddProfile($profile) { - $groupResource = new ChildGroupResource(); - $groupResource->setGroup($group); - $this->addGroupResource($groupResource); + $profileResource = new ChildProfileResource(); + $profileResource->setProfile($profile); + $this->addProfileResource($profileResource); // set the back reference to this object directly as using provided method either results // in endless loop or in multiple relations - if (!$group->getResources()->contains($this)) { - $foreignCollection = $group->getResources(); + if (!$profile->getResources()->contains($this)) { + $foreignCollection = $profile->getResources(); $foreignCollection[] = $this; } } /** - * Remove a ChildGroup object to this object - * through the group_resource cross reference table. + * Remove a ChildProfile object to this object + * through the profile_resource cross reference table. * - * @param ChildGroup $group The ChildGroupResource object to relate + * @param ChildProfile $profile The ChildProfileResource object to relate * @return ChildResource The current object (for fluent API support) */ - public function removeGroup(ChildGroup $group) + public function removeProfile(ChildProfile $profile) { - if ($this->getGroups()->contains($group)) { - $this->collGroups->remove($this->collGroups->search($group)); + if ($this->getProfiles()->contains($profile)) { + $this->collProfiles->remove($this->collProfiles->search($profile)); - if (null === $this->groupsScheduledForDeletion) { - $this->groupsScheduledForDeletion = clone $this->collGroups; - $this->groupsScheduledForDeletion->clear(); + if (null === $this->profilesScheduledForDeletion) { + $this->profilesScheduledForDeletion = clone $this->collProfiles; + $this->profilesScheduledForDeletion->clear(); } - $this->groupsScheduledForDeletion[] = $group; + $this->profilesScheduledForDeletion[] = $profile; } return $this; @@ -1953,8 +1953,8 @@ abstract class Resource implements ActiveRecordInterface public function clearAllReferences($deep = false) { if ($deep) { - if ($this->collGroupResources) { - foreach ($this->collGroupResources as $o) { + if ($this->collProfileResources) { + foreach ($this->collProfileResources as $o) { $o->clearAllReferences($deep); } } @@ -1963,8 +1963,8 @@ abstract class Resource implements ActiveRecordInterface $o->clearAllReferences($deep); } } - if ($this->collGroups) { - foreach ($this->collGroups as $o) { + if ($this->collProfiles) { + foreach ($this->collProfiles as $o) { $o->clearAllReferences($deep); } } @@ -1974,18 +1974,18 @@ abstract class Resource implements ActiveRecordInterface $this->currentLocale = 'en_US'; $this->currentTranslations = null; - if ($this->collGroupResources instanceof Collection) { - $this->collGroupResources->clearIterator(); + if ($this->collProfileResources instanceof Collection) { + $this->collProfileResources->clearIterator(); } - $this->collGroupResources = null; + $this->collProfileResources = null; if ($this->collResourceI18ns instanceof Collection) { $this->collResourceI18ns->clearIterator(); } $this->collResourceI18ns = null; - if ($this->collGroups instanceof Collection) { - $this->collGroups->clearIterator(); + if ($this->collProfiles instanceof Collection) { + $this->collProfiles->clearIterator(); } - $this->collGroups = null; + $this->collProfiles = null; } /** diff --git a/core/lib/Thelia/Model/Base/ResourceQuery.php b/core/lib/Thelia/Model/Base/ResourceQuery.php index 6559d6522..72888d6a9 100644 --- a/core/lib/Thelia/Model/Base/ResourceQuery.php +++ b/core/lib/Thelia/Model/Base/ResourceQuery.php @@ -36,9 +36,9 @@ use Thelia\Model\Map\ResourceTableMap; * @method ChildResourceQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query * @method ChildResourceQuery innerJoin($relation) Adds a INNER JOIN clause to the query * - * @method ChildResourceQuery leftJoinGroupResource($relationAlias = null) Adds a LEFT JOIN clause to the query using the GroupResource relation - * @method ChildResourceQuery rightJoinGroupResource($relationAlias = null) Adds a RIGHT JOIN clause to the query using the GroupResource relation - * @method ChildResourceQuery innerJoinGroupResource($relationAlias = null) Adds a INNER JOIN clause to the query using the GroupResource relation + * @method ChildResourceQuery leftJoinProfileResource($relationAlias = null) Adds a LEFT JOIN clause to the query using the ProfileResource relation + * @method ChildResourceQuery rightJoinProfileResource($relationAlias = null) Adds a RIGHT JOIN clause to the query using the ProfileResource relation + * @method ChildResourceQuery innerJoinProfileResource($relationAlias = null) Adds a INNER JOIN clause to the query using the ProfileResource relation * * @method ChildResourceQuery leftJoinResourceI18n($relationAlias = null) Adds a LEFT JOIN clause to the query using the ResourceI18n relation * @method ChildResourceQuery rightJoinResourceI18n($relationAlias = null) Adds a RIGHT JOIN clause to the query using the ResourceI18n relation @@ -390,40 +390,40 @@ abstract class ResourceQuery extends ModelCriteria } /** - * Filter the query by a related \Thelia\Model\GroupResource object + * Filter the query by a related \Thelia\Model\ProfileResource object * - * @param \Thelia\Model\GroupResource|ObjectCollection $groupResource the related object to use as filter + * @param \Thelia\Model\ProfileResource|ObjectCollection $profileResource the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildResourceQuery The current query, for fluid interface */ - public function filterByGroupResource($groupResource, $comparison = null) + public function filterByProfileResource($profileResource, $comparison = null) { - if ($groupResource instanceof \Thelia\Model\GroupResource) { + if ($profileResource instanceof \Thelia\Model\ProfileResource) { return $this - ->addUsingAlias(ResourceTableMap::ID, $groupResource->getResourceId(), $comparison); - } elseif ($groupResource instanceof ObjectCollection) { + ->addUsingAlias(ResourceTableMap::ID, $profileResource->getResourceId(), $comparison); + } elseif ($profileResource instanceof ObjectCollection) { return $this - ->useGroupResourceQuery() - ->filterByPrimaryKeys($groupResource->getPrimaryKeys()) + ->useProfileResourceQuery() + ->filterByPrimaryKeys($profileResource->getPrimaryKeys()) ->endUse(); } else { - throw new PropelException('filterByGroupResource() only accepts arguments of type \Thelia\Model\GroupResource or Collection'); + throw new PropelException('filterByProfileResource() only accepts arguments of type \Thelia\Model\ProfileResource or Collection'); } } /** - * Adds a JOIN clause to the query using the GroupResource relation + * Adds a JOIN clause to the query using the ProfileResource relation * * @param string $relationAlias optional alias for the relation * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * * @return ChildResourceQuery The current query, for fluid interface */ - public function joinGroupResource($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function joinProfileResource($relationAlias = null, $joinType = Criteria::INNER_JOIN) { $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('GroupResource'); + $relationMap = $tableMap->getRelation('ProfileResource'); // create a ModelJoin object for this join $join = new ModelJoin(); @@ -438,14 +438,14 @@ abstract class ResourceQuery extends ModelCriteria $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); $this->addJoinObject($join, $relationAlias); } else { - $this->addJoinObject($join, 'GroupResource'); + $this->addJoinObject($join, 'ProfileResource'); } return $this; } /** - * Use the GroupResource relation GroupResource object + * Use the ProfileResource relation ProfileResource object * * @see useQuery() * @@ -453,13 +453,13 @@ abstract class ResourceQuery extends ModelCriteria * to be used as main alias in the secondary query * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' * - * @return \Thelia\Model\GroupResourceQuery A secondary query class using the current class as primary query + * @return \Thelia\Model\ProfileResourceQuery A secondary query class using the current class as primary query */ - public function useGroupResourceQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + public function useProfileResourceQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) { return $this - ->joinGroupResource($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'GroupResource', '\Thelia\Model\GroupResourceQuery'); + ->joinProfileResource($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'ProfileResource', '\Thelia\Model\ProfileResourceQuery'); } /** @@ -536,19 +536,19 @@ abstract class ResourceQuery extends ModelCriteria } /** - * Filter the query by a related Group object - * using the group_resource table as cross reference + * Filter the query by a related Profile object + * using the profile_resource table as cross reference * - * @param Group $group the related object to use as filter + * @param Profile $profile the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildResourceQuery The current query, for fluid interface */ - public function filterByGroup($group, $comparison = Criteria::EQUAL) + public function filterByProfile($profile, $comparison = Criteria::EQUAL) { return $this - ->useGroupResourceQuery() - ->filterByGroup($group, $comparison) + ->useProfileResourceQuery() + ->filterByProfile($profile, $comparison) ->endUse(); } diff --git a/core/lib/Thelia/Model/CartItem.php b/core/lib/Thelia/Model/CartItem.php index 25a4f44aa..427e7e735 100755 --- a/core/lib/Thelia/Model/CartItem.php +++ b/core/lib/Thelia/Model/CartItem.php @@ -60,7 +60,14 @@ class CartItem extends BaseCartItem } } - $this->setQuantity($value); + $this->addQuantity($value); + + return $this; + } + + public function addQuantity($quantity) + { + $this->setQuantity($this->getQuantity() + $quantity); return $this; } diff --git a/core/lib/Thelia/Model/ConfigQuery.php b/core/lib/Thelia/Model/ConfigQuery.php index 7f65b103d..fb8d6fe90 100755 --- a/core/lib/Thelia/Model/ConfigQuery.php +++ b/core/lib/Thelia/Model/ConfigQuery.php @@ -56,7 +56,7 @@ class ConfigQuery extends BaseConfigQuery { public static function getPageNotFoundView() { - return self::read("page_not_found_view", '404'); + return self::read("page_not_found_view", '404.html'); } public static function getPassedUrlView() diff --git a/core/lib/Thelia/Model/Country.php b/core/lib/Thelia/Model/Country.php index e254d4a5e..e64bd4609 100755 --- a/core/lib/Thelia/Model/Country.php +++ b/core/lib/Thelia/Model/Country.php @@ -13,6 +13,9 @@ class Country extends BaseCountry public function toggleDefault() { + if($this->getId() === null) { + throw new \RuntimeException("impossible to just uncheck default country, choose a new one"); + } CountryQuery::create() ->filterByByDefault(1) ->update(array('ByDefault' => 0)); @@ -47,6 +50,10 @@ class Country extends BaseCountry public function preDelete(ConnectionInterface $con = null) { + if($this->getByDefault()) { + return false; + } + $this->dispatchEvent(TheliaEvents::BEFORE_DELETECOUNTRY, new CountryEvent($this)); return true; diff --git a/core/lib/Thelia/Model/Group.php b/core/lib/Thelia/Model/Group.php deleted file mode 100755 index b1ca04975..000000000 --- a/core/lib/Thelia/Model/Group.php +++ /dev/null @@ -1,9 +0,0 @@ - array('Id', 'GroupId', 'AdminId', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'groupId', 'adminId', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(AdminGroupTableMap::ID, AdminGroupTableMap::GROUP_ID, AdminGroupTableMap::ADMIN_ID, AdminGroupTableMap::CREATED_AT, AdminGroupTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'GROUP_ID', 'ADMIN_ID', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'group_id', 'admin_id', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, ) - ); - - /** - * holds an array of keys for quick access to the fieldnames array - * - * first dimension keys are the type constants - * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 - */ - protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'GroupId' => 1, 'AdminId' => 2, 'CreatedAt' => 3, 'UpdatedAt' => 4, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'groupId' => 1, 'adminId' => 2, 'createdAt' => 3, 'updatedAt' => 4, ), - self::TYPE_COLNAME => array(AdminGroupTableMap::ID => 0, AdminGroupTableMap::GROUP_ID => 1, AdminGroupTableMap::ADMIN_ID => 2, AdminGroupTableMap::CREATED_AT => 3, AdminGroupTableMap::UPDATED_AT => 4, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'GROUP_ID' => 1, 'ADMIN_ID' => 2, 'CREATED_AT' => 3, 'UPDATED_AT' => 4, ), - self::TYPE_FIELDNAME => array('id' => 0, 'group_id' => 1, 'admin_id' => 2, 'created_at' => 3, 'updated_at' => 4, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, ) - ); - - /** - * Initialize the table attributes and columns - * Relations are not initialized by this method since they are lazy loaded - * - * @return void - * @throws PropelException - */ - public function initialize() - { - // attributes - $this->setName('admin_group'); - $this->setPhpName('AdminGroup'); - $this->setClassName('\\Thelia\\Model\\AdminGroup'); - $this->setPackage('Thelia.Model'); - $this->setUseIdGenerator(true); - $this->setIsCrossRef(true); - // columns - $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); - $this->addForeignPrimaryKey('GROUP_ID', 'GroupId', 'INTEGER' , 'group', 'ID', true, null, null); - $this->addForeignPrimaryKey('ADMIN_ID', 'AdminId', 'INTEGER' , 'admin', 'ID', true, null, null); - $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); - $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); - } // initialize() - - /** - * Build the RelationMap objects for this table relationships - */ - public function buildRelations() - { - $this->addRelation('Group', '\\Thelia\\Model\\Group', RelationMap::MANY_TO_ONE, array('group_id' => 'id', ), 'CASCADE', 'RESTRICT'); - $this->addRelation('Admin', '\\Thelia\\Model\\Admin', RelationMap::MANY_TO_ONE, array('admin_id' => 'id', ), 'CASCADE', 'RESTRICT'); - } // buildRelations() - - /** - * - * Gets the list of behaviors registered for this table - * - * @return array Associative array (name => parameters) of behaviors - */ - public function getBehaviors() - { - return array( - 'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ), - ); - } // getBehaviors() - - /** - * Adds an object to the instance pool. - * - * Propel keeps cached copies of objects in an instance pool when they are retrieved - * from the database. In some cases you may need to explicitly add objects - * to the cache in order to ensure that the same objects are always returned by find*() - * and findPk*() calls. - * - * @param \Thelia\Model\AdminGroup $obj A \Thelia\Model\AdminGroup object. - * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). - */ - public static function addInstanceToPool($obj, $key = null) - { - if (Propel::isInstancePoolingEnabled()) { - if (null === $key) { - $key = serialize(array((string) $obj->getId(), (string) $obj->getGroupId(), (string) $obj->getAdminId())); - } // if key === null - self::$instances[$key] = $obj; - } - } - - /** - * Removes an object from the instance pool. - * - * Propel keeps cached copies of objects in an instance pool when they are retrieved - * from the database. In some cases -- especially when you override doDelete - * methods in your stub classes -- you may need to explicitly remove objects - * from the cache in order to prevent returning objects that no longer exist. - * - * @param mixed $value A \Thelia\Model\AdminGroup object or a primary key value. - */ - public static function removeInstanceFromPool($value) - { - if (Propel::isInstancePoolingEnabled() && null !== $value) { - if (is_object($value) && $value instanceof \Thelia\Model\AdminGroup) { - $key = serialize(array((string) $value->getId(), (string) $value->getGroupId(), (string) $value->getAdminId())); - - } elseif (is_array($value) && count($value) === 3) { - // assume we've been passed a primary key"; - $key = serialize(array((string) $value[0], (string) $value[1], (string) $value[2])); - } elseif ($value instanceof Criteria) { - self::$instances = []; - - return; - } else { - $e = new PropelException("Invalid value passed to removeInstanceFromPool(). Expected primary key or \Thelia\Model\AdminGroup object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value, true))); - throw $e; - } - - unset(self::$instances[$key]); - } - } - - /** - * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. - * - * For tables with a single-column primary key, that simple pkey value will be returned. For tables with - * a multi-column primary key, a serialize()d version of the primary key will be returned. - * - * @param array $row resultset row. - * @param int $offset The 0-based offset for reading from the resultset row. - * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM - */ - public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) - { - // If the PK cannot be derived from the row, return NULL. - if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 1 + $offset : static::translateFieldName('GroupId', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 2 + $offset : static::translateFieldName('AdminId', TableMap::TYPE_PHPNAME, $indexType)] === null) { - return null; - } - - return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 1 + $offset : static::translateFieldName('GroupId', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 2 + $offset : static::translateFieldName('AdminId', TableMap::TYPE_PHPNAME, $indexType)])); - } - - /** - * Retrieves the primary key from the DB resultset row - * For tables with a single-column primary key, that simple pkey value will be returned. For tables with - * a multi-column primary key, an array of the primary key columns will be returned. - * - * @param array $row resultset row. - * @param int $offset The 0-based offset for reading from the resultset row. - * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM - * - * @return mixed The primary key of the row - */ - public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) - { - - return $pks; - } - - /** - * The class that the tableMap will make instances of. - * - * If $withPrefix is true, the returned path - * uses a dot-path notation which is translated into a path - * relative to a location on the PHP include_path. - * (e.g. path.to.MyClass -> 'path/to/MyClass.php') - * - * @param boolean $withPrefix Whether or not to return the path with the class name - * @return string path.to.ClassName - */ - public static function getOMClass($withPrefix = true) - { - return $withPrefix ? AdminGroupTableMap::CLASS_DEFAULT : AdminGroupTableMap::OM_CLASS; - } - - /** - * Populates an object of the default type or an object that inherit from the default. - * - * @param array $row row returned by DataFetcher->fetch(). - * @param int $offset The 0-based offset for reading from the resultset row. - * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). - One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_STUDLYPHPNAME - * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. - * - * @throws PropelException Any exceptions caught during processing will be - * rethrown wrapped into a PropelException. - * @return array (AdminGroup object, last column rank) - */ - public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) - { - $key = AdminGroupTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); - if (null !== ($obj = AdminGroupTableMap::getInstanceFromPool($key))) { - // We no longer rehydrate the object, since this can cause data loss. - // See http://www.propelorm.org/ticket/509 - // $obj->hydrate($row, $offset, true); // rehydrate - $col = $offset + AdminGroupTableMap::NUM_HYDRATE_COLUMNS; - } else { - $cls = AdminGroupTableMap::OM_CLASS; - $obj = new $cls(); - $col = $obj->hydrate($row, $offset, false, $indexType); - AdminGroupTableMap::addInstanceToPool($obj, $key); - } - - return array($obj, $col); - } - - /** - * The returned array will contain objects of the default type or - * objects that inherit from the default. - * - * @param DataFetcherInterface $dataFetcher - * @return array - * @throws PropelException Any exceptions caught during processing will be - * rethrown wrapped into a PropelException. - */ - public static function populateObjects(DataFetcherInterface $dataFetcher) - { - $results = array(); - - // set the class once to avoid overhead in the loop - $cls = static::getOMClass(false); - // populate the object(s) - while ($row = $dataFetcher->fetch()) { - $key = AdminGroupTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); - if (null !== ($obj = AdminGroupTableMap::getInstanceFromPool($key))) { - // We no longer rehydrate the object, since this can cause data loss. - // See http://www.propelorm.org/ticket/509 - // $obj->hydrate($row, 0, true); // rehydrate - $results[] = $obj; - } else { - $obj = new $cls(); - $obj->hydrate($row); - $results[] = $obj; - AdminGroupTableMap::addInstanceToPool($obj, $key); - } // if key exists - } - - return $results; - } - /** - * Add all the columns needed to create a new object. - * - * Note: any columns that were marked with lazyLoad="true" in the - * XML schema will not be added to the select list and only loaded - * on demand. - * - * @param Criteria $criteria object containing the columns to add. - * @param string $alias optional table alias - * @throws PropelException Any exceptions caught during processing will be - * rethrown wrapped into a PropelException. - */ - public static function addSelectColumns(Criteria $criteria, $alias = null) - { - if (null === $alias) { - $criteria->addSelectColumn(AdminGroupTableMap::ID); - $criteria->addSelectColumn(AdminGroupTableMap::GROUP_ID); - $criteria->addSelectColumn(AdminGroupTableMap::ADMIN_ID); - $criteria->addSelectColumn(AdminGroupTableMap::CREATED_AT); - $criteria->addSelectColumn(AdminGroupTableMap::UPDATED_AT); - } else { - $criteria->addSelectColumn($alias . '.ID'); - $criteria->addSelectColumn($alias . '.GROUP_ID'); - $criteria->addSelectColumn($alias . '.ADMIN_ID'); - $criteria->addSelectColumn($alias . '.CREATED_AT'); - $criteria->addSelectColumn($alias . '.UPDATED_AT'); - } - } - - /** - * Returns the TableMap related to this object. - * This method is not needed for general use but a specific application could have a need. - * @return TableMap - * @throws PropelException Any exceptions caught during processing will be - * rethrown wrapped into a PropelException. - */ - public static function getTableMap() - { - return Propel::getServiceContainer()->getDatabaseMap(AdminGroupTableMap::DATABASE_NAME)->getTable(AdminGroupTableMap::TABLE_NAME); - } - - /** - * Add a TableMap instance to the database for this tableMap class. - */ - public static function buildTableMap() - { - $dbMap = Propel::getServiceContainer()->getDatabaseMap(AdminGroupTableMap::DATABASE_NAME); - if (!$dbMap->hasTable(AdminGroupTableMap::TABLE_NAME)) { - $dbMap->addTableObject(new AdminGroupTableMap()); - } - } - - /** - * Performs a DELETE on the database, given a AdminGroup or Criteria object OR a primary key value. - * - * @param mixed $values Criteria or AdminGroup object or primary key or array of primary keys - * which is used to create the DELETE statement - * @param ConnectionInterface $con the connection to use - * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows - * if supported by native driver or if emulated using Propel. - * @throws PropelException Any exceptions caught during processing will be - * rethrown wrapped into a PropelException. - */ - public static function doDelete($values, ConnectionInterface $con = null) - { - if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(AdminGroupTableMap::DATABASE_NAME); - } - - if ($values instanceof Criteria) { - // rename for clarity - $criteria = $values; - } elseif ($values instanceof \Thelia\Model\AdminGroup) { // it's a model object - // create criteria based on pk values - $criteria = $values->buildPkeyCriteria(); - } else { // it's a primary key, or an array of pks - $criteria = new Criteria(AdminGroupTableMap::DATABASE_NAME); - // primary key is composite; we therefore, expect - // the primary key passed to be an array of pkey values - if (count($values) == count($values, COUNT_RECURSIVE)) { - // array is not multi-dimensional - $values = array($values); - } - foreach ($values as $value) { - $criterion = $criteria->getNewCriterion(AdminGroupTableMap::ID, $value[0]); - $criterion->addAnd($criteria->getNewCriterion(AdminGroupTableMap::GROUP_ID, $value[1])); - $criterion->addAnd($criteria->getNewCriterion(AdminGroupTableMap::ADMIN_ID, $value[2])); - $criteria->addOr($criterion); - } - } - - $query = AdminGroupQuery::create()->mergeWith($criteria); - - if ($values instanceof Criteria) { AdminGroupTableMap::clearInstancePool(); - } elseif (!is_object($values)) { // it's a primary key, or an array of pks - foreach ((array) $values as $singleval) { AdminGroupTableMap::removeInstanceFromPool($singleval); - } - } - - return $query->delete($con); - } - - /** - * Deletes all rows from the admin_group table. - * - * @param ConnectionInterface $con the connection to use - * @return int The number of affected rows (if supported by underlying database driver). - */ - public static function doDeleteAll(ConnectionInterface $con = null) - { - return AdminGroupQuery::create()->doDeleteAll($con); - } - - /** - * Performs an INSERT on the database, given a AdminGroup or Criteria object. - * - * @param mixed $criteria Criteria or AdminGroup object containing data that is used to create the INSERT statement. - * @param ConnectionInterface $con the ConnectionInterface connection to use - * @return mixed The new primary key. - * @throws PropelException Any exceptions caught during processing will be - * rethrown wrapped into a PropelException. - */ - public static function doInsert($criteria, ConnectionInterface $con = null) - { - if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(AdminGroupTableMap::DATABASE_NAME); - } - - if ($criteria instanceof Criteria) { - $criteria = clone $criteria; // rename for clarity - } else { - $criteria = $criteria->buildCriteria(); // build Criteria from AdminGroup object - } - - if ($criteria->containsKey(AdminGroupTableMap::ID) && $criteria->keyContainsValue(AdminGroupTableMap::ID) ) { - throw new PropelException('Cannot insert a value for auto-increment primary key ('.AdminGroupTableMap::ID.')'); - } - - - // Set the correct dbName - $query = AdminGroupQuery::create()->mergeWith($criteria); - - try { - // use transaction because $criteria could contain info - // for more than one table (I guess, conceivably) - $con->beginTransaction(); - $pk = $query->doInsert($con); - $con->commit(); - } catch (PropelException $e) { - $con->rollBack(); - throw $e; - } - - return $pk; - } - -} // AdminGroupTableMap -// This is the static code needed to register the TableMap for this table with the main Propel class. -// -AdminGroupTableMap::buildTableMap(); diff --git a/core/lib/Thelia/Model/Map/AdminTableMap.php b/core/lib/Thelia/Model/Map/AdminTableMap.php index a4c2cf265..4217f9de2 100644 --- a/core/lib/Thelia/Model/Map/AdminTableMap.php +++ b/core/lib/Thelia/Model/Map/AdminTableMap.php @@ -57,7 +57,7 @@ class AdminTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 11; + const NUM_COLUMNS = 12; /** * The number of lazy-loaded columns @@ -67,13 +67,18 @@ class AdminTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 11; + const NUM_HYDRATE_COLUMNS = 12; /** * the column name for the ID field */ const ID = 'admin.ID'; + /** + * the column name for the PROFILE_ID field + */ + const PROFILE_ID = 'admin.PROFILE_ID'; + /** * the column name for the FIRSTNAME field */ @@ -136,12 +141,12 @@ class AdminTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'Firstname', 'Lastname', 'Login', 'Password', 'Algo', 'Salt', 'RememberMeToken', 'RememberMeSerial', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'firstname', 'lastname', 'login', 'password', 'algo', 'salt', 'rememberMeToken', 'rememberMeSerial', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(AdminTableMap::ID, AdminTableMap::FIRSTNAME, AdminTableMap::LASTNAME, AdminTableMap::LOGIN, AdminTableMap::PASSWORD, AdminTableMap::ALGO, AdminTableMap::SALT, AdminTableMap::REMEMBER_ME_TOKEN, AdminTableMap::REMEMBER_ME_SERIAL, AdminTableMap::CREATED_AT, AdminTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'FIRSTNAME', 'LASTNAME', 'LOGIN', 'PASSWORD', 'ALGO', 'SALT', 'REMEMBER_ME_TOKEN', 'REMEMBER_ME_SERIAL', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'firstname', 'lastname', 'login', 'password', 'algo', 'salt', 'remember_me_token', 'remember_me_serial', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) + self::TYPE_PHPNAME => array('Id', 'ProfileId', 'Firstname', 'Lastname', 'Login', 'Password', 'Algo', 'Salt', 'RememberMeToken', 'RememberMeSerial', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'profileId', 'firstname', 'lastname', 'login', 'password', 'algo', 'salt', 'rememberMeToken', 'rememberMeSerial', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(AdminTableMap::ID, AdminTableMap::PROFILE_ID, AdminTableMap::FIRSTNAME, AdminTableMap::LASTNAME, AdminTableMap::LOGIN, AdminTableMap::PASSWORD, AdminTableMap::ALGO, AdminTableMap::SALT, AdminTableMap::REMEMBER_ME_TOKEN, AdminTableMap::REMEMBER_ME_SERIAL, AdminTableMap::CREATED_AT, AdminTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'PROFILE_ID', 'FIRSTNAME', 'LASTNAME', 'LOGIN', 'PASSWORD', 'ALGO', 'SALT', 'REMEMBER_ME_TOKEN', 'REMEMBER_ME_SERIAL', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'profile_id', 'firstname', 'lastname', 'login', 'password', 'algo', 'salt', 'remember_me_token', 'remember_me_serial', 'created_at', 'updated_at', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ) ); /** @@ -151,12 +156,12 @@ class AdminTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'Firstname' => 1, 'Lastname' => 2, 'Login' => 3, 'Password' => 4, 'Algo' => 5, 'Salt' => 6, 'RememberMeToken' => 7, 'RememberMeSerial' => 8, 'CreatedAt' => 9, 'UpdatedAt' => 10, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'firstname' => 1, 'lastname' => 2, 'login' => 3, 'password' => 4, 'algo' => 5, 'salt' => 6, 'rememberMeToken' => 7, 'rememberMeSerial' => 8, 'createdAt' => 9, 'updatedAt' => 10, ), - self::TYPE_COLNAME => array(AdminTableMap::ID => 0, AdminTableMap::FIRSTNAME => 1, AdminTableMap::LASTNAME => 2, AdminTableMap::LOGIN => 3, AdminTableMap::PASSWORD => 4, AdminTableMap::ALGO => 5, AdminTableMap::SALT => 6, AdminTableMap::REMEMBER_ME_TOKEN => 7, AdminTableMap::REMEMBER_ME_SERIAL => 8, AdminTableMap::CREATED_AT => 9, AdminTableMap::UPDATED_AT => 10, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'FIRSTNAME' => 1, 'LASTNAME' => 2, 'LOGIN' => 3, 'PASSWORD' => 4, 'ALGO' => 5, 'SALT' => 6, 'REMEMBER_ME_TOKEN' => 7, 'REMEMBER_ME_SERIAL' => 8, 'CREATED_AT' => 9, 'UPDATED_AT' => 10, ), - self::TYPE_FIELDNAME => array('id' => 0, 'firstname' => 1, 'lastname' => 2, 'login' => 3, 'password' => 4, 'algo' => 5, 'salt' => 6, 'remember_me_token' => 7, 'remember_me_serial' => 8, 'created_at' => 9, 'updated_at' => 10, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) + self::TYPE_PHPNAME => array('Id' => 0, 'ProfileId' => 1, 'Firstname' => 2, 'Lastname' => 3, 'Login' => 4, 'Password' => 5, 'Algo' => 6, 'Salt' => 7, 'RememberMeToken' => 8, 'RememberMeSerial' => 9, 'CreatedAt' => 10, 'UpdatedAt' => 11, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'profileId' => 1, 'firstname' => 2, 'lastname' => 3, 'login' => 4, 'password' => 5, 'algo' => 6, 'salt' => 7, 'rememberMeToken' => 8, 'rememberMeSerial' => 9, 'createdAt' => 10, 'updatedAt' => 11, ), + self::TYPE_COLNAME => array(AdminTableMap::ID => 0, AdminTableMap::PROFILE_ID => 1, AdminTableMap::FIRSTNAME => 2, AdminTableMap::LASTNAME => 3, AdminTableMap::LOGIN => 4, AdminTableMap::PASSWORD => 5, AdminTableMap::ALGO => 6, AdminTableMap::SALT => 7, AdminTableMap::REMEMBER_ME_TOKEN => 8, AdminTableMap::REMEMBER_ME_SERIAL => 9, AdminTableMap::CREATED_AT => 10, AdminTableMap::UPDATED_AT => 11, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'PROFILE_ID' => 1, 'FIRSTNAME' => 2, 'LASTNAME' => 3, 'LOGIN' => 4, 'PASSWORD' => 5, 'ALGO' => 6, 'SALT' => 7, 'REMEMBER_ME_TOKEN' => 8, 'REMEMBER_ME_SERIAL' => 9, 'CREATED_AT' => 10, 'UPDATED_AT' => 11, ), + self::TYPE_FIELDNAME => array('id' => 0, 'profile_id' => 1, 'firstname' => 2, 'lastname' => 3, 'login' => 4, 'password' => 5, 'algo' => 6, 'salt' => 7, 'remember_me_token' => 8, 'remember_me_serial' => 9, 'created_at' => 10, 'updated_at' => 11, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ) ); /** @@ -176,6 +181,7 @@ class AdminTableMap extends TableMap $this->setUseIdGenerator(true); // columns $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); + $this->addForeignKey('PROFILE_ID', 'ProfileId', 'INTEGER', 'profile', 'ID', false, null, null); $this->addColumn('FIRSTNAME', 'Firstname', 'VARCHAR', true, 100, null); $this->addColumn('LASTNAME', 'Lastname', 'VARCHAR', true, 100, null); $this->addColumn('LOGIN', 'Login', 'VARCHAR', true, 100, null); @@ -193,8 +199,7 @@ class AdminTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('AdminGroup', '\\Thelia\\Model\\AdminGroup', RelationMap::ONE_TO_MANY, array('id' => 'admin_id', ), 'CASCADE', 'RESTRICT', 'AdminGroups'); - $this->addRelation('Group', '\\Thelia\\Model\\Group', RelationMap::MANY_TO_MANY, array(), 'CASCADE', 'RESTRICT', 'Groups'); + $this->addRelation('Profile', '\\Thelia\\Model\\Profile', RelationMap::MANY_TO_ONE, array('profile_id' => 'id', ), 'RESTRICT', 'RESTRICT'); } // buildRelations() /** @@ -209,15 +214,6 @@ class AdminTableMap extends TableMap 'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ), ); } // getBehaviors() - /** - * Method to invalidate the instance pool of all tables related to admin * by a foreign key with ON DELETE CASCADE - */ - public static function clearRelatedInstancePool() - { - // Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool, - // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. - AdminGroupTableMap::clearInstancePool(); - } /** * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. @@ -358,6 +354,7 @@ class AdminTableMap extends TableMap { if (null === $alias) { $criteria->addSelectColumn(AdminTableMap::ID); + $criteria->addSelectColumn(AdminTableMap::PROFILE_ID); $criteria->addSelectColumn(AdminTableMap::FIRSTNAME); $criteria->addSelectColumn(AdminTableMap::LASTNAME); $criteria->addSelectColumn(AdminTableMap::LOGIN); @@ -370,6 +367,7 @@ class AdminTableMap extends TableMap $criteria->addSelectColumn(AdminTableMap::UPDATED_AT); } else { $criteria->addSelectColumn($alias . '.ID'); + $criteria->addSelectColumn($alias . '.PROFILE_ID'); $criteria->addSelectColumn($alias . '.FIRSTNAME'); $criteria->addSelectColumn($alias . '.LASTNAME'); $criteria->addSelectColumn($alias . '.LOGIN'); diff --git a/core/lib/Thelia/Model/Map/ModuleTableMap.php b/core/lib/Thelia/Model/Map/ModuleTableMap.php index 788048e28..9cb1a12d9 100644 --- a/core/lib/Thelia/Model/Map/ModuleTableMap.php +++ b/core/lib/Thelia/Model/Map/ModuleTableMap.php @@ -187,7 +187,7 @@ class ModuleTableMap extends TableMap $this->addRelation('OrderRelatedByPaymentModuleId', '\\Thelia\\Model\\Order', RelationMap::ONE_TO_MANY, array('id' => 'payment_module_id', ), 'RESTRICT', 'RESTRICT', 'OrdersRelatedByPaymentModuleId'); $this->addRelation('OrderRelatedByDeliveryModuleId', '\\Thelia\\Model\\Order', RelationMap::ONE_TO_MANY, array('id' => 'delivery_module_id', ), 'RESTRICT', 'RESTRICT', 'OrdersRelatedByDeliveryModuleId'); $this->addRelation('AreaDeliveryModule', '\\Thelia\\Model\\AreaDeliveryModule', RelationMap::ONE_TO_MANY, array('id' => 'delivery_module_id', ), 'CASCADE', 'RESTRICT', 'AreaDeliveryModules'); - $this->addRelation('GroupModule', '\\Thelia\\Model\\GroupModule', RelationMap::ONE_TO_MANY, array('id' => 'module_id', ), 'CASCADE', 'RESTRICT', 'GroupModules'); + $this->addRelation('ProfileModule', '\\Thelia\\Model\\ProfileModule', RelationMap::ONE_TO_MANY, array('id' => 'module_id', ), 'CASCADE', 'RESTRICT', 'ProfileModules'); $this->addRelation('ModuleImage', '\\Thelia\\Model\\ModuleImage', RelationMap::ONE_TO_MANY, array('id' => 'module_id', ), 'CASCADE', 'RESTRICT', 'ModuleImages'); $this->addRelation('ModuleI18n', '\\Thelia\\Model\\ModuleI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'ModuleI18ns'); } // buildRelations() @@ -213,7 +213,7 @@ class ModuleTableMap extends TableMap // Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool, // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. AreaDeliveryModuleTableMap::clearInstancePool(); - GroupModuleTableMap::clearInstancePool(); + ProfileModuleTableMap::clearInstancePool(); ModuleImageTableMap::clearInstancePool(); ModuleI18nTableMap::clearInstancePool(); } diff --git a/core/lib/Thelia/Model/Map/OrderProductTableMap.php b/core/lib/Thelia/Model/Map/OrderProductTableMap.php index 8144f23a7..d37b79089 100644 --- a/core/lib/Thelia/Model/Map/OrderProductTableMap.php +++ b/core/lib/Thelia/Model/Map/OrderProductTableMap.php @@ -57,7 +57,7 @@ class OrderProductTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 19; + const NUM_COLUMNS = 20; /** * The number of lazy-loaded columns @@ -67,7 +67,7 @@ class OrderProductTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 19; + const NUM_HYDRATE_COLUMNS = 20; /** * the column name for the ID field @@ -139,6 +139,11 @@ class OrderProductTableMap extends TableMap */ const WEIGHT = 'order_product.WEIGHT'; + /** + * the column name for the EAN_CODE field + */ + const EAN_CODE = 'order_product.EAN_CODE'; + /** * the column name for the TAX_RULE_TITLE field */ @@ -176,12 +181,12 @@ class OrderProductTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'OrderId', 'ProductRef', 'ProductSaleElementsRef', 'Title', 'Chapo', 'Description', 'Postscriptum', 'Quantity', 'Price', 'PromoPrice', 'WasNew', 'WasInPromo', 'Weight', 'TaxRuleTitle', 'TaxRuleDescription', 'Parent', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'orderId', 'productRef', 'productSaleElementsRef', 'title', 'chapo', 'description', 'postscriptum', 'quantity', 'price', 'promoPrice', 'wasNew', 'wasInPromo', 'weight', 'taxRuleTitle', 'taxRuleDescription', 'parent', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(OrderProductTableMap::ID, OrderProductTableMap::ORDER_ID, OrderProductTableMap::PRODUCT_REF, OrderProductTableMap::PRODUCT_SALE_ELEMENTS_REF, OrderProductTableMap::TITLE, OrderProductTableMap::CHAPO, OrderProductTableMap::DESCRIPTION, OrderProductTableMap::POSTSCRIPTUM, OrderProductTableMap::QUANTITY, OrderProductTableMap::PRICE, OrderProductTableMap::PROMO_PRICE, OrderProductTableMap::WAS_NEW, OrderProductTableMap::WAS_IN_PROMO, OrderProductTableMap::WEIGHT, OrderProductTableMap::TAX_RULE_TITLE, OrderProductTableMap::TAX_RULE_DESCRIPTION, OrderProductTableMap::PARENT, OrderProductTableMap::CREATED_AT, OrderProductTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'ORDER_ID', 'PRODUCT_REF', 'PRODUCT_SALE_ELEMENTS_REF', 'TITLE', 'CHAPO', 'DESCRIPTION', 'POSTSCRIPTUM', 'QUANTITY', 'PRICE', 'PROMO_PRICE', 'WAS_NEW', 'WAS_IN_PROMO', 'WEIGHT', 'TAX_RULE_TITLE', 'TAX_RULE_DESCRIPTION', 'PARENT', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'order_id', 'product_ref', 'product_sale_elements_ref', 'title', 'chapo', 'description', 'postscriptum', 'quantity', 'price', 'promo_price', 'was_new', 'was_in_promo', 'weight', 'tax_rule_title', 'tax_rule_description', 'parent', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ) + self::TYPE_PHPNAME => array('Id', 'OrderId', 'ProductRef', 'ProductSaleElementsRef', 'Title', 'Chapo', 'Description', 'Postscriptum', 'Quantity', 'Price', 'PromoPrice', 'WasNew', 'WasInPromo', 'Weight', 'EanCode', 'TaxRuleTitle', 'TaxRuleDescription', 'Parent', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'orderId', 'productRef', 'productSaleElementsRef', 'title', 'chapo', 'description', 'postscriptum', 'quantity', 'price', 'promoPrice', 'wasNew', 'wasInPromo', 'weight', 'eanCode', 'taxRuleTitle', 'taxRuleDescription', 'parent', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(OrderProductTableMap::ID, OrderProductTableMap::ORDER_ID, OrderProductTableMap::PRODUCT_REF, OrderProductTableMap::PRODUCT_SALE_ELEMENTS_REF, OrderProductTableMap::TITLE, OrderProductTableMap::CHAPO, OrderProductTableMap::DESCRIPTION, OrderProductTableMap::POSTSCRIPTUM, OrderProductTableMap::QUANTITY, OrderProductTableMap::PRICE, OrderProductTableMap::PROMO_PRICE, OrderProductTableMap::WAS_NEW, OrderProductTableMap::WAS_IN_PROMO, OrderProductTableMap::WEIGHT, OrderProductTableMap::EAN_CODE, OrderProductTableMap::TAX_RULE_TITLE, OrderProductTableMap::TAX_RULE_DESCRIPTION, OrderProductTableMap::PARENT, OrderProductTableMap::CREATED_AT, OrderProductTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'ORDER_ID', 'PRODUCT_REF', 'PRODUCT_SALE_ELEMENTS_REF', 'TITLE', 'CHAPO', 'DESCRIPTION', 'POSTSCRIPTUM', 'QUANTITY', 'PRICE', 'PROMO_PRICE', 'WAS_NEW', 'WAS_IN_PROMO', 'WEIGHT', 'EAN_CODE', 'TAX_RULE_TITLE', 'TAX_RULE_DESCRIPTION', 'PARENT', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'order_id', 'product_ref', 'product_sale_elements_ref', 'title', 'chapo', 'description', 'postscriptum', 'quantity', 'price', 'promo_price', 'was_new', 'was_in_promo', 'weight', 'ean_code', 'tax_rule_title', 'tax_rule_description', 'parent', 'created_at', 'updated_at', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ) ); /** @@ -191,12 +196,12 @@ class OrderProductTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'OrderId' => 1, 'ProductRef' => 2, 'ProductSaleElementsRef' => 3, 'Title' => 4, 'Chapo' => 5, 'Description' => 6, 'Postscriptum' => 7, 'Quantity' => 8, 'Price' => 9, 'PromoPrice' => 10, 'WasNew' => 11, 'WasInPromo' => 12, 'Weight' => 13, 'TaxRuleTitle' => 14, 'TaxRuleDescription' => 15, 'Parent' => 16, 'CreatedAt' => 17, 'UpdatedAt' => 18, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'orderId' => 1, 'productRef' => 2, 'productSaleElementsRef' => 3, 'title' => 4, 'chapo' => 5, 'description' => 6, 'postscriptum' => 7, 'quantity' => 8, 'price' => 9, 'promoPrice' => 10, 'wasNew' => 11, 'wasInPromo' => 12, 'weight' => 13, 'taxRuleTitle' => 14, 'taxRuleDescription' => 15, 'parent' => 16, 'createdAt' => 17, 'updatedAt' => 18, ), - self::TYPE_COLNAME => array(OrderProductTableMap::ID => 0, OrderProductTableMap::ORDER_ID => 1, OrderProductTableMap::PRODUCT_REF => 2, OrderProductTableMap::PRODUCT_SALE_ELEMENTS_REF => 3, OrderProductTableMap::TITLE => 4, OrderProductTableMap::CHAPO => 5, OrderProductTableMap::DESCRIPTION => 6, OrderProductTableMap::POSTSCRIPTUM => 7, OrderProductTableMap::QUANTITY => 8, OrderProductTableMap::PRICE => 9, OrderProductTableMap::PROMO_PRICE => 10, OrderProductTableMap::WAS_NEW => 11, OrderProductTableMap::WAS_IN_PROMO => 12, OrderProductTableMap::WEIGHT => 13, OrderProductTableMap::TAX_RULE_TITLE => 14, OrderProductTableMap::TAX_RULE_DESCRIPTION => 15, OrderProductTableMap::PARENT => 16, OrderProductTableMap::CREATED_AT => 17, OrderProductTableMap::UPDATED_AT => 18, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'ORDER_ID' => 1, 'PRODUCT_REF' => 2, 'PRODUCT_SALE_ELEMENTS_REF' => 3, 'TITLE' => 4, 'CHAPO' => 5, 'DESCRIPTION' => 6, 'POSTSCRIPTUM' => 7, 'QUANTITY' => 8, 'PRICE' => 9, 'PROMO_PRICE' => 10, 'WAS_NEW' => 11, 'WAS_IN_PROMO' => 12, 'WEIGHT' => 13, 'TAX_RULE_TITLE' => 14, 'TAX_RULE_DESCRIPTION' => 15, 'PARENT' => 16, 'CREATED_AT' => 17, 'UPDATED_AT' => 18, ), - self::TYPE_FIELDNAME => array('id' => 0, 'order_id' => 1, 'product_ref' => 2, 'product_sale_elements_ref' => 3, 'title' => 4, 'chapo' => 5, 'description' => 6, 'postscriptum' => 7, 'quantity' => 8, 'price' => 9, 'promo_price' => 10, 'was_new' => 11, 'was_in_promo' => 12, 'weight' => 13, 'tax_rule_title' => 14, 'tax_rule_description' => 15, 'parent' => 16, 'created_at' => 17, 'updated_at' => 18, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ) + self::TYPE_PHPNAME => array('Id' => 0, 'OrderId' => 1, 'ProductRef' => 2, 'ProductSaleElementsRef' => 3, 'Title' => 4, 'Chapo' => 5, 'Description' => 6, 'Postscriptum' => 7, 'Quantity' => 8, 'Price' => 9, 'PromoPrice' => 10, 'WasNew' => 11, 'WasInPromo' => 12, 'Weight' => 13, 'EanCode' => 14, 'TaxRuleTitle' => 15, 'TaxRuleDescription' => 16, 'Parent' => 17, 'CreatedAt' => 18, 'UpdatedAt' => 19, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'orderId' => 1, 'productRef' => 2, 'productSaleElementsRef' => 3, 'title' => 4, 'chapo' => 5, 'description' => 6, 'postscriptum' => 7, 'quantity' => 8, 'price' => 9, 'promoPrice' => 10, 'wasNew' => 11, 'wasInPromo' => 12, 'weight' => 13, 'eanCode' => 14, 'taxRuleTitle' => 15, 'taxRuleDescription' => 16, 'parent' => 17, 'createdAt' => 18, 'updatedAt' => 19, ), + self::TYPE_COLNAME => array(OrderProductTableMap::ID => 0, OrderProductTableMap::ORDER_ID => 1, OrderProductTableMap::PRODUCT_REF => 2, OrderProductTableMap::PRODUCT_SALE_ELEMENTS_REF => 3, OrderProductTableMap::TITLE => 4, OrderProductTableMap::CHAPO => 5, OrderProductTableMap::DESCRIPTION => 6, OrderProductTableMap::POSTSCRIPTUM => 7, OrderProductTableMap::QUANTITY => 8, OrderProductTableMap::PRICE => 9, OrderProductTableMap::PROMO_PRICE => 10, OrderProductTableMap::WAS_NEW => 11, OrderProductTableMap::WAS_IN_PROMO => 12, OrderProductTableMap::WEIGHT => 13, OrderProductTableMap::EAN_CODE => 14, OrderProductTableMap::TAX_RULE_TITLE => 15, OrderProductTableMap::TAX_RULE_DESCRIPTION => 16, OrderProductTableMap::PARENT => 17, OrderProductTableMap::CREATED_AT => 18, OrderProductTableMap::UPDATED_AT => 19, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'ORDER_ID' => 1, 'PRODUCT_REF' => 2, 'PRODUCT_SALE_ELEMENTS_REF' => 3, 'TITLE' => 4, 'CHAPO' => 5, 'DESCRIPTION' => 6, 'POSTSCRIPTUM' => 7, 'QUANTITY' => 8, 'PRICE' => 9, 'PROMO_PRICE' => 10, 'WAS_NEW' => 11, 'WAS_IN_PROMO' => 12, 'WEIGHT' => 13, 'EAN_CODE' => 14, 'TAX_RULE_TITLE' => 15, 'TAX_RULE_DESCRIPTION' => 16, 'PARENT' => 17, 'CREATED_AT' => 18, 'UPDATED_AT' => 19, ), + self::TYPE_FIELDNAME => array('id' => 0, 'order_id' => 1, 'product_ref' => 2, 'product_sale_elements_ref' => 3, 'title' => 4, 'chapo' => 5, 'description' => 6, 'postscriptum' => 7, 'quantity' => 8, 'price' => 9, 'promo_price' => 10, 'was_new' => 11, 'was_in_promo' => 12, 'weight' => 13, 'ean_code' => 14, 'tax_rule_title' => 15, 'tax_rule_description' => 16, 'parent' => 17, 'created_at' => 18, 'updated_at' => 19, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ) ); /** @@ -229,6 +234,7 @@ class OrderProductTableMap extends TableMap $this->addColumn('WAS_NEW', 'WasNew', 'TINYINT', true, null, null); $this->addColumn('WAS_IN_PROMO', 'WasInPromo', 'TINYINT', true, null, null); $this->addColumn('WEIGHT', 'Weight', 'VARCHAR', false, 45, null); + $this->addColumn('EAN_CODE', 'EanCode', 'VARCHAR', false, 255, null); $this->addColumn('TAX_RULE_TITLE', 'TaxRuleTitle', 'VARCHAR', false, 255, null); $this->addColumn('TAX_RULE_DESCRIPTION', 'TaxRuleDescription', 'CLOB', false, null, null); $this->addColumn('PARENT', 'Parent', 'INTEGER', false, null, null); @@ -421,6 +427,7 @@ class OrderProductTableMap extends TableMap $criteria->addSelectColumn(OrderProductTableMap::WAS_NEW); $criteria->addSelectColumn(OrderProductTableMap::WAS_IN_PROMO); $criteria->addSelectColumn(OrderProductTableMap::WEIGHT); + $criteria->addSelectColumn(OrderProductTableMap::EAN_CODE); $criteria->addSelectColumn(OrderProductTableMap::TAX_RULE_TITLE); $criteria->addSelectColumn(OrderProductTableMap::TAX_RULE_DESCRIPTION); $criteria->addSelectColumn(OrderProductTableMap::PARENT); @@ -441,6 +448,7 @@ class OrderProductTableMap extends TableMap $criteria->addSelectColumn($alias . '.WAS_NEW'); $criteria->addSelectColumn($alias . '.WAS_IN_PROMO'); $criteria->addSelectColumn($alias . '.WEIGHT'); + $criteria->addSelectColumn($alias . '.EAN_CODE'); $criteria->addSelectColumn($alias . '.TAX_RULE_TITLE'); $criteria->addSelectColumn($alias . '.TAX_RULE_DESCRIPTION'); $criteria->addSelectColumn($alias . '.PARENT'); diff --git a/core/lib/Thelia/Model/Map/ProductSaleElementsTableMap.php b/core/lib/Thelia/Model/Map/ProductSaleElementsTableMap.php index 1e894ef24..a4dc06d9f 100644 --- a/core/lib/Thelia/Model/Map/ProductSaleElementsTableMap.php +++ b/core/lib/Thelia/Model/Map/ProductSaleElementsTableMap.php @@ -57,7 +57,7 @@ class ProductSaleElementsTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 10; + const NUM_COLUMNS = 11; /** * The number of lazy-loaded columns @@ -67,7 +67,7 @@ class ProductSaleElementsTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 10; + const NUM_HYDRATE_COLUMNS = 11; /** * the column name for the ID field @@ -109,6 +109,11 @@ class ProductSaleElementsTableMap extends TableMap */ const IS_DEFAULT = 'product_sale_elements.IS_DEFAULT'; + /** + * the column name for the EAN_CODE field + */ + const EAN_CODE = 'product_sale_elements.EAN_CODE'; + /** * the column name for the CREATED_AT field */ @@ -131,12 +136,12 @@ class ProductSaleElementsTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'ProductId', 'Ref', 'Quantity', 'Promo', 'Newness', 'Weight', 'IsDefault', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'productId', 'ref', 'quantity', 'promo', 'newness', 'weight', 'isDefault', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(ProductSaleElementsTableMap::ID, ProductSaleElementsTableMap::PRODUCT_ID, ProductSaleElementsTableMap::REF, ProductSaleElementsTableMap::QUANTITY, ProductSaleElementsTableMap::PROMO, ProductSaleElementsTableMap::NEWNESS, ProductSaleElementsTableMap::WEIGHT, ProductSaleElementsTableMap::IS_DEFAULT, ProductSaleElementsTableMap::CREATED_AT, ProductSaleElementsTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'PRODUCT_ID', 'REF', 'QUANTITY', 'PROMO', 'NEWNESS', 'WEIGHT', 'IS_DEFAULT', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'product_id', 'ref', 'quantity', 'promo', 'newness', 'weight', 'is_default', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ) + self::TYPE_PHPNAME => array('Id', 'ProductId', 'Ref', 'Quantity', 'Promo', 'Newness', 'Weight', 'IsDefault', 'EanCode', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'productId', 'ref', 'quantity', 'promo', 'newness', 'weight', 'isDefault', 'eanCode', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(ProductSaleElementsTableMap::ID, ProductSaleElementsTableMap::PRODUCT_ID, ProductSaleElementsTableMap::REF, ProductSaleElementsTableMap::QUANTITY, ProductSaleElementsTableMap::PROMO, ProductSaleElementsTableMap::NEWNESS, ProductSaleElementsTableMap::WEIGHT, ProductSaleElementsTableMap::IS_DEFAULT, ProductSaleElementsTableMap::EAN_CODE, ProductSaleElementsTableMap::CREATED_AT, ProductSaleElementsTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'PRODUCT_ID', 'REF', 'QUANTITY', 'PROMO', 'NEWNESS', 'WEIGHT', 'IS_DEFAULT', 'EAN_CODE', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'product_id', 'ref', 'quantity', 'promo', 'newness', 'weight', 'is_default', 'ean_code', 'created_at', 'updated_at', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) ); /** @@ -146,12 +151,12 @@ class ProductSaleElementsTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'ProductId' => 1, 'Ref' => 2, 'Quantity' => 3, 'Promo' => 4, 'Newness' => 5, 'Weight' => 6, 'IsDefault' => 7, 'CreatedAt' => 8, 'UpdatedAt' => 9, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'productId' => 1, 'ref' => 2, 'quantity' => 3, 'promo' => 4, 'newness' => 5, 'weight' => 6, 'isDefault' => 7, 'createdAt' => 8, 'updatedAt' => 9, ), - self::TYPE_COLNAME => array(ProductSaleElementsTableMap::ID => 0, ProductSaleElementsTableMap::PRODUCT_ID => 1, ProductSaleElementsTableMap::REF => 2, ProductSaleElementsTableMap::QUANTITY => 3, ProductSaleElementsTableMap::PROMO => 4, ProductSaleElementsTableMap::NEWNESS => 5, ProductSaleElementsTableMap::WEIGHT => 6, ProductSaleElementsTableMap::IS_DEFAULT => 7, ProductSaleElementsTableMap::CREATED_AT => 8, ProductSaleElementsTableMap::UPDATED_AT => 9, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'PRODUCT_ID' => 1, 'REF' => 2, 'QUANTITY' => 3, 'PROMO' => 4, 'NEWNESS' => 5, 'WEIGHT' => 6, 'IS_DEFAULT' => 7, 'CREATED_AT' => 8, 'UPDATED_AT' => 9, ), - self::TYPE_FIELDNAME => array('id' => 0, 'product_id' => 1, 'ref' => 2, 'quantity' => 3, 'promo' => 4, 'newness' => 5, 'weight' => 6, 'is_default' => 7, 'created_at' => 8, 'updated_at' => 9, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ) + self::TYPE_PHPNAME => array('Id' => 0, 'ProductId' => 1, 'Ref' => 2, 'Quantity' => 3, 'Promo' => 4, 'Newness' => 5, 'Weight' => 6, 'IsDefault' => 7, 'EanCode' => 8, 'CreatedAt' => 9, 'UpdatedAt' => 10, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'productId' => 1, 'ref' => 2, 'quantity' => 3, 'promo' => 4, 'newness' => 5, 'weight' => 6, 'isDefault' => 7, 'eanCode' => 8, 'createdAt' => 9, 'updatedAt' => 10, ), + self::TYPE_COLNAME => array(ProductSaleElementsTableMap::ID => 0, ProductSaleElementsTableMap::PRODUCT_ID => 1, ProductSaleElementsTableMap::REF => 2, ProductSaleElementsTableMap::QUANTITY => 3, ProductSaleElementsTableMap::PROMO => 4, ProductSaleElementsTableMap::NEWNESS => 5, ProductSaleElementsTableMap::WEIGHT => 6, ProductSaleElementsTableMap::IS_DEFAULT => 7, ProductSaleElementsTableMap::EAN_CODE => 8, ProductSaleElementsTableMap::CREATED_AT => 9, ProductSaleElementsTableMap::UPDATED_AT => 10, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'PRODUCT_ID' => 1, 'REF' => 2, 'QUANTITY' => 3, 'PROMO' => 4, 'NEWNESS' => 5, 'WEIGHT' => 6, 'IS_DEFAULT' => 7, 'EAN_CODE' => 8, 'CREATED_AT' => 9, 'UPDATED_AT' => 10, ), + self::TYPE_FIELDNAME => array('id' => 0, 'product_id' => 1, 'ref' => 2, 'quantity' => 3, 'promo' => 4, 'newness' => 5, 'weight' => 6, 'is_default' => 7, 'ean_code' => 8, 'created_at' => 9, 'updated_at' => 10, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ) ); /** @@ -178,6 +183,7 @@ class ProductSaleElementsTableMap extends TableMap $this->addColumn('NEWNESS', 'Newness', 'TINYINT', false, null, 0); $this->addColumn('WEIGHT', 'Weight', 'FLOAT', false, null, 0); $this->addColumn('IS_DEFAULT', 'IsDefault', 'BOOLEAN', false, 1, false); + $this->addColumn('EAN_CODE', 'EanCode', 'VARCHAR', false, 255, null); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); } // initialize() @@ -362,6 +368,7 @@ class ProductSaleElementsTableMap extends TableMap $criteria->addSelectColumn(ProductSaleElementsTableMap::NEWNESS); $criteria->addSelectColumn(ProductSaleElementsTableMap::WEIGHT); $criteria->addSelectColumn(ProductSaleElementsTableMap::IS_DEFAULT); + $criteria->addSelectColumn(ProductSaleElementsTableMap::EAN_CODE); $criteria->addSelectColumn(ProductSaleElementsTableMap::CREATED_AT); $criteria->addSelectColumn(ProductSaleElementsTableMap::UPDATED_AT); } else { @@ -373,6 +380,7 @@ class ProductSaleElementsTableMap extends TableMap $criteria->addSelectColumn($alias . '.NEWNESS'); $criteria->addSelectColumn($alias . '.WEIGHT'); $criteria->addSelectColumn($alias . '.IS_DEFAULT'); + $criteria->addSelectColumn($alias . '.EAN_CODE'); $criteria->addSelectColumn($alias . '.CREATED_AT'); $criteria->addSelectColumn($alias . '.UPDATED_AT'); } diff --git a/core/lib/Thelia/Model/Map/ProductTableMap.php b/core/lib/Thelia/Model/Map/ProductTableMap.php index 59ac236ac..273ed7382 100644 --- a/core/lib/Thelia/Model/Map/ProductTableMap.php +++ b/core/lib/Thelia/Model/Map/ProductTableMap.php @@ -202,7 +202,7 @@ class ProductTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('TaxRule', '\\Thelia\\Model\\TaxRule', RelationMap::MANY_TO_ONE, array('tax_rule_id' => 'id', ), 'SET NULL', 'RESTRICT'); + $this->addRelation('TaxRule', '\\Thelia\\Model\\TaxRule', RelationMap::MANY_TO_ONE, array('tax_rule_id' => 'id', ), 'RESTRICT', 'RESTRICT'); $this->addRelation('Template', '\\Thelia\\Model\\Template', RelationMap::MANY_TO_ONE, array('template_id' => 'id', ), null, null); $this->addRelation('ProductCategory', '\\Thelia\\Model\\ProductCategory', RelationMap::ONE_TO_MANY, array('id' => 'product_id', ), 'CASCADE', 'RESTRICT', 'ProductCategories'); $this->addRelation('FeatureProduct', '\\Thelia\\Model\\FeatureProduct', RelationMap::ONE_TO_MANY, array('id' => 'product_id', ), 'CASCADE', 'RESTRICT', 'FeatureProducts'); diff --git a/core/lib/Thelia/Model/Map/GroupI18nTableMap.php b/core/lib/Thelia/Model/Map/ProfileI18nTableMap.php similarity index 77% rename from core/lib/Thelia/Model/Map/GroupI18nTableMap.php rename to core/lib/Thelia/Model/Map/ProfileI18nTableMap.php index 57788593a..915f45ec6 100644 --- a/core/lib/Thelia/Model/Map/GroupI18nTableMap.php +++ b/core/lib/Thelia/Model/Map/ProfileI18nTableMap.php @@ -10,12 +10,12 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\RelationMap; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Map\TableMapTrait; -use Thelia\Model\GroupI18n; -use Thelia\Model\GroupI18nQuery; +use Thelia\Model\ProfileI18n; +use Thelia\Model\ProfileI18nQuery; /** - * This class defines the structure of the 'group_i18n' table. + * This class defines the structure of the 'profile_i18n' table. * * * @@ -25,14 +25,14 @@ use Thelia\Model\GroupI18nQuery; * (i.e. if it's a text column type). * */ -class GroupI18nTableMap extends TableMap +class ProfileI18nTableMap extends TableMap { use InstancePoolTrait; use TableMapTrait; /** * The (dot-path) name of this class */ - const CLASS_NAME = 'Thelia.Model.Map.GroupI18nTableMap'; + const CLASS_NAME = 'Thelia.Model.Map.ProfileI18nTableMap'; /** * The default database name for this class @@ -42,17 +42,17 @@ class GroupI18nTableMap extends TableMap /** * The table name for this class */ - const TABLE_NAME = 'group_i18n'; + const TABLE_NAME = 'profile_i18n'; /** * The related Propel class for this table */ - const OM_CLASS = '\\Thelia\\Model\\GroupI18n'; + const OM_CLASS = '\\Thelia\\Model\\ProfileI18n'; /** * A class that can be returned by this tableMap */ - const CLASS_DEFAULT = 'Thelia.Model.GroupI18n'; + const CLASS_DEFAULT = 'Thelia.Model.ProfileI18n'; /** * The total number of columns @@ -72,32 +72,32 @@ class GroupI18nTableMap extends TableMap /** * the column name for the ID field */ - const ID = 'group_i18n.ID'; + const ID = 'profile_i18n.ID'; /** * the column name for the LOCALE field */ - const LOCALE = 'group_i18n.LOCALE'; + const LOCALE = 'profile_i18n.LOCALE'; /** * the column name for the TITLE field */ - const TITLE = 'group_i18n.TITLE'; + const TITLE = 'profile_i18n.TITLE'; /** * the column name for the DESCRIPTION field */ - const DESCRIPTION = 'group_i18n.DESCRIPTION'; + const DESCRIPTION = 'profile_i18n.DESCRIPTION'; /** * the column name for the CHAPO field */ - const CHAPO = 'group_i18n.CHAPO'; + const CHAPO = 'profile_i18n.CHAPO'; /** * the column name for the POSTSCRIPTUM field */ - const POSTSCRIPTUM = 'group_i18n.POSTSCRIPTUM'; + const POSTSCRIPTUM = 'profile_i18n.POSTSCRIPTUM'; /** * The default string format for model objects of the related table @@ -113,7 +113,7 @@ class GroupI18nTableMap extends TableMap protected static $fieldNames = array ( self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'Description', 'Chapo', 'Postscriptum', ), self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ), - self::TYPE_COLNAME => array(GroupI18nTableMap::ID, GroupI18nTableMap::LOCALE, GroupI18nTableMap::TITLE, GroupI18nTableMap::DESCRIPTION, GroupI18nTableMap::CHAPO, GroupI18nTableMap::POSTSCRIPTUM, ), + self::TYPE_COLNAME => array(ProfileI18nTableMap::ID, ProfileI18nTableMap::LOCALE, ProfileI18nTableMap::TITLE, ProfileI18nTableMap::DESCRIPTION, ProfileI18nTableMap::CHAPO, ProfileI18nTableMap::POSTSCRIPTUM, ), self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'DESCRIPTION', 'CHAPO', 'POSTSCRIPTUM', ), self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'description', 'chapo', 'postscriptum', ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, ) @@ -128,7 +128,7 @@ class GroupI18nTableMap extends TableMap protected static $fieldKeys = array ( self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'Description' => 3, 'Chapo' => 4, 'Postscriptum' => 5, ), self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ), - self::TYPE_COLNAME => array(GroupI18nTableMap::ID => 0, GroupI18nTableMap::LOCALE => 1, GroupI18nTableMap::TITLE => 2, GroupI18nTableMap::DESCRIPTION => 3, GroupI18nTableMap::CHAPO => 4, GroupI18nTableMap::POSTSCRIPTUM => 5, ), + self::TYPE_COLNAME => array(ProfileI18nTableMap::ID => 0, ProfileI18nTableMap::LOCALE => 1, ProfileI18nTableMap::TITLE => 2, ProfileI18nTableMap::DESCRIPTION => 3, ProfileI18nTableMap::CHAPO => 4, ProfileI18nTableMap::POSTSCRIPTUM => 5, ), self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'DESCRIPTION' => 3, 'CHAPO' => 4, 'POSTSCRIPTUM' => 5, ), self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'description' => 3, 'chapo' => 4, 'postscriptum' => 5, ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, ) @@ -144,13 +144,13 @@ class GroupI18nTableMap extends TableMap public function initialize() { // attributes - $this->setName('group_i18n'); - $this->setPhpName('GroupI18n'); - $this->setClassName('\\Thelia\\Model\\GroupI18n'); + $this->setName('profile_i18n'); + $this->setPhpName('ProfileI18n'); + $this->setClassName('\\Thelia\\Model\\ProfileI18n'); $this->setPackage('Thelia.Model'); $this->setUseIdGenerator(false); // columns - $this->addForeignPrimaryKey('ID', 'Id', 'INTEGER' , 'group', 'ID', true, null, null); + $this->addForeignPrimaryKey('ID', 'Id', 'INTEGER' , 'profile', 'ID', true, null, null); $this->addPrimaryKey('LOCALE', 'Locale', 'VARCHAR', true, 5, 'en_US'); $this->addColumn('TITLE', 'Title', 'VARCHAR', false, 255, null); $this->addColumn('DESCRIPTION', 'Description', 'CLOB', false, null, null); @@ -163,7 +163,7 @@ class GroupI18nTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('Group', '\\Thelia\\Model\\Group', RelationMap::MANY_TO_ONE, array('id' => 'id', ), 'CASCADE', null); + $this->addRelation('Profile', '\\Thelia\\Model\\Profile', RelationMap::MANY_TO_ONE, array('id' => 'id', ), 'CASCADE', null); } // buildRelations() /** @@ -174,7 +174,7 @@ class GroupI18nTableMap extends TableMap * to the cache in order to ensure that the same objects are always returned by find*() * and findPk*() calls. * - * @param \Thelia\Model\GroupI18n $obj A \Thelia\Model\GroupI18n object. + * @param \Thelia\Model\ProfileI18n $obj A \Thelia\Model\ProfileI18n object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool($obj, $key = null) @@ -195,12 +195,12 @@ class GroupI18nTableMap extends TableMap * methods in your stub classes -- you may need to explicitly remove objects * from the cache in order to prevent returning objects that no longer exist. * - * @param mixed $value A \Thelia\Model\GroupI18n object or a primary key value. + * @param mixed $value A \Thelia\Model\ProfileI18n object or a primary key value. */ public static function removeInstanceFromPool($value) { if (Propel::isInstancePoolingEnabled() && null !== $value) { - if (is_object($value) && $value instanceof \Thelia\Model\GroupI18n) { + if (is_object($value) && $value instanceof \Thelia\Model\ProfileI18n) { $key = serialize(array((string) $value->getId(), (string) $value->getLocale())); } elseif (is_array($value) && count($value) === 2) { @@ -211,7 +211,7 @@ class GroupI18nTableMap extends TableMap return; } else { - $e = new PropelException("Invalid value passed to removeInstanceFromPool(). Expected primary key or \Thelia\Model\GroupI18n object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value, true))); + $e = new PropelException("Invalid value passed to removeInstanceFromPool(). Expected primary key or \Thelia\Model\ProfileI18n object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value, true))); throw $e; } @@ -271,7 +271,7 @@ class GroupI18nTableMap extends TableMap */ public static function getOMClass($withPrefix = true) { - return $withPrefix ? GroupI18nTableMap::CLASS_DEFAULT : GroupI18nTableMap::OM_CLASS; + return $withPrefix ? ProfileI18nTableMap::CLASS_DEFAULT : ProfileI18nTableMap::OM_CLASS; } /** @@ -285,21 +285,21 @@ class GroupI18nTableMap extends TableMap * * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. - * @return array (GroupI18n object, last column rank) + * @return array (ProfileI18n object, last column rank) */ public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) { - $key = GroupI18nTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); - if (null !== ($obj = GroupI18nTableMap::getInstanceFromPool($key))) { + $key = ProfileI18nTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = ProfileI18nTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, $offset, true); // rehydrate - $col = $offset + GroupI18nTableMap::NUM_HYDRATE_COLUMNS; + $col = $offset + ProfileI18nTableMap::NUM_HYDRATE_COLUMNS; } else { - $cls = GroupI18nTableMap::OM_CLASS; + $cls = ProfileI18nTableMap::OM_CLASS; $obj = new $cls(); $col = $obj->hydrate($row, $offset, false, $indexType); - GroupI18nTableMap::addInstanceToPool($obj, $key); + ProfileI18nTableMap::addInstanceToPool($obj, $key); } return array($obj, $col); @@ -322,8 +322,8 @@ class GroupI18nTableMap extends TableMap $cls = static::getOMClass(false); // populate the object(s) while ($row = $dataFetcher->fetch()) { - $key = GroupI18nTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); - if (null !== ($obj = GroupI18nTableMap::getInstanceFromPool($key))) { + $key = ProfileI18nTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = ProfileI18nTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, 0, true); // rehydrate @@ -332,7 +332,7 @@ class GroupI18nTableMap extends TableMap $obj = new $cls(); $obj->hydrate($row); $results[] = $obj; - GroupI18nTableMap::addInstanceToPool($obj, $key); + ProfileI18nTableMap::addInstanceToPool($obj, $key); } // if key exists } @@ -353,12 +353,12 @@ class GroupI18nTableMap extends TableMap public static function addSelectColumns(Criteria $criteria, $alias = null) { if (null === $alias) { - $criteria->addSelectColumn(GroupI18nTableMap::ID); - $criteria->addSelectColumn(GroupI18nTableMap::LOCALE); - $criteria->addSelectColumn(GroupI18nTableMap::TITLE); - $criteria->addSelectColumn(GroupI18nTableMap::DESCRIPTION); - $criteria->addSelectColumn(GroupI18nTableMap::CHAPO); - $criteria->addSelectColumn(GroupI18nTableMap::POSTSCRIPTUM); + $criteria->addSelectColumn(ProfileI18nTableMap::ID); + $criteria->addSelectColumn(ProfileI18nTableMap::LOCALE); + $criteria->addSelectColumn(ProfileI18nTableMap::TITLE); + $criteria->addSelectColumn(ProfileI18nTableMap::DESCRIPTION); + $criteria->addSelectColumn(ProfileI18nTableMap::CHAPO); + $criteria->addSelectColumn(ProfileI18nTableMap::POSTSCRIPTUM); } else { $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.LOCALE'); @@ -378,7 +378,7 @@ class GroupI18nTableMap extends TableMap */ public static function getTableMap() { - return Propel::getServiceContainer()->getDatabaseMap(GroupI18nTableMap::DATABASE_NAME)->getTable(GroupI18nTableMap::TABLE_NAME); + return Propel::getServiceContainer()->getDatabaseMap(ProfileI18nTableMap::DATABASE_NAME)->getTable(ProfileI18nTableMap::TABLE_NAME); } /** @@ -386,16 +386,16 @@ class GroupI18nTableMap extends TableMap */ public static function buildTableMap() { - $dbMap = Propel::getServiceContainer()->getDatabaseMap(GroupI18nTableMap::DATABASE_NAME); - if (!$dbMap->hasTable(GroupI18nTableMap::TABLE_NAME)) { - $dbMap->addTableObject(new GroupI18nTableMap()); + $dbMap = Propel::getServiceContainer()->getDatabaseMap(ProfileI18nTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(ProfileI18nTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new ProfileI18nTableMap()); } } /** - * Performs a DELETE on the database, given a GroupI18n or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a ProfileI18n or Criteria object OR a primary key value. * - * @param mixed $values Criteria or GroupI18n object or primary key or array of primary keys + * @param mixed $values Criteria or ProfileI18n object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -406,17 +406,17 @@ class GroupI18nTableMap extends TableMap public static function doDelete($values, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileI18nTableMap::DATABASE_NAME); } if ($values instanceof Criteria) { // rename for clarity $criteria = $values; - } elseif ($values instanceof \Thelia\Model\GroupI18n) { // it's a model object + } elseif ($values instanceof \Thelia\Model\ProfileI18n) { // it's a model object // create criteria based on pk values $criteria = $values->buildPkeyCriteria(); } else { // it's a primary key, or an array of pks - $criteria = new Criteria(GroupI18nTableMap::DATABASE_NAME); + $criteria = new Criteria(ProfileI18nTableMap::DATABASE_NAME); // primary key is composite; we therefore, expect // the primary key passed to be an array of pkey values if (count($values) == count($values, COUNT_RECURSIVE)) { @@ -424,17 +424,17 @@ class GroupI18nTableMap extends TableMap $values = array($values); } foreach ($values as $value) { - $criterion = $criteria->getNewCriterion(GroupI18nTableMap::ID, $value[0]); - $criterion->addAnd($criteria->getNewCriterion(GroupI18nTableMap::LOCALE, $value[1])); + $criterion = $criteria->getNewCriterion(ProfileI18nTableMap::ID, $value[0]); + $criterion->addAnd($criteria->getNewCriterion(ProfileI18nTableMap::LOCALE, $value[1])); $criteria->addOr($criterion); } } - $query = GroupI18nQuery::create()->mergeWith($criteria); + $query = ProfileI18nQuery::create()->mergeWith($criteria); - if ($values instanceof Criteria) { GroupI18nTableMap::clearInstancePool(); + if ($values instanceof Criteria) { ProfileI18nTableMap::clearInstancePool(); } elseif (!is_object($values)) { // it's a primary key, or an array of pks - foreach ((array) $values as $singleval) { GroupI18nTableMap::removeInstanceFromPool($singleval); + foreach ((array) $values as $singleval) { ProfileI18nTableMap::removeInstanceFromPool($singleval); } } @@ -442,20 +442,20 @@ class GroupI18nTableMap extends TableMap } /** - * Deletes all rows from the group_i18n table. + * Deletes all rows from the profile_i18n table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). */ public static function doDeleteAll(ConnectionInterface $con = null) { - return GroupI18nQuery::create()->doDeleteAll($con); + return ProfileI18nQuery::create()->doDeleteAll($con); } /** - * Performs an INSERT on the database, given a GroupI18n or Criteria object. + * Performs an INSERT on the database, given a ProfileI18n or Criteria object. * - * @param mixed $criteria Criteria or GroupI18n object containing data that is used to create the INSERT statement. + * @param mixed $criteria Criteria or ProfileI18n object containing data that is used to create the INSERT statement. * @param ConnectionInterface $con the ConnectionInterface connection to use * @return mixed The new primary key. * @throws PropelException Any exceptions caught during processing will be @@ -464,18 +464,18 @@ class GroupI18nTableMap extends TableMap public static function doInsert($criteria, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupI18nTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileI18nTableMap::DATABASE_NAME); } if ($criteria instanceof Criteria) { $criteria = clone $criteria; // rename for clarity } else { - $criteria = $criteria->buildCriteria(); // build Criteria from GroupI18n object + $criteria = $criteria->buildCriteria(); // build Criteria from ProfileI18n object } // Set the correct dbName - $query = GroupI18nQuery::create()->mergeWith($criteria); + $query = ProfileI18nQuery::create()->mergeWith($criteria); try { // use transaction because $criteria could contain info @@ -491,7 +491,7 @@ class GroupI18nTableMap extends TableMap return $pk; } -} // GroupI18nTableMap +} // ProfileI18nTableMap // This is the static code needed to register the TableMap for this table with the main Propel class. // -GroupI18nTableMap::buildTableMap(); +ProfileI18nTableMap::buildTableMap(); diff --git a/core/lib/Thelia/Model/Map/GroupModuleTableMap.php b/core/lib/Thelia/Model/Map/ProfileModuleTableMap.php similarity index 69% rename from core/lib/Thelia/Model/Map/GroupModuleTableMap.php rename to core/lib/Thelia/Model/Map/ProfileModuleTableMap.php index 49361d253..07e640b8f 100644 --- a/core/lib/Thelia/Model/Map/GroupModuleTableMap.php +++ b/core/lib/Thelia/Model/Map/ProfileModuleTableMap.php @@ -10,12 +10,12 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\RelationMap; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Map\TableMapTrait; -use Thelia\Model\GroupModule; -use Thelia\Model\GroupModuleQuery; +use Thelia\Model\ProfileModule; +use Thelia\Model\ProfileModuleQuery; /** - * This class defines the structure of the 'group_module' table. + * This class defines the structure of the 'profile_module' table. * * * @@ -25,14 +25,14 @@ use Thelia\Model\GroupModuleQuery; * (i.e. if it's a text column type). * */ -class GroupModuleTableMap extends TableMap +class ProfileModuleTableMap extends TableMap { use InstancePoolTrait; use TableMapTrait; /** * The (dot-path) name of this class */ - const CLASS_NAME = 'Thelia.Model.Map.GroupModuleTableMap'; + const CLASS_NAME = 'Thelia.Model.Map.ProfileModuleTableMap'; /** * The default database name for this class @@ -42,17 +42,17 @@ class GroupModuleTableMap extends TableMap /** * The table name for this class */ - const TABLE_NAME = 'group_module'; + const TABLE_NAME = 'profile_module'; /** * The related Propel class for this table */ - const OM_CLASS = '\\Thelia\\Model\\GroupModule'; + const OM_CLASS = '\\Thelia\\Model\\ProfileModule'; /** * A class that can be returned by this tableMap */ - const CLASS_DEFAULT = 'Thelia.Model.GroupModule'; + const CLASS_DEFAULT = 'Thelia.Model.ProfileModule'; /** * The total number of columns @@ -72,32 +72,32 @@ class GroupModuleTableMap extends TableMap /** * the column name for the ID field */ - const ID = 'group_module.ID'; + const ID = 'profile_module.ID'; /** - * the column name for the GROUP_ID field + * the column name for the PROFILE_ID field */ - const GROUP_ID = 'group_module.GROUP_ID'; + const PROFILE_ID = 'profile_module.PROFILE_ID'; /** * the column name for the MODULE_ID field */ - const MODULE_ID = 'group_module.MODULE_ID'; + const MODULE_ID = 'profile_module.MODULE_ID'; /** * the column name for the ACCESS field */ - const ACCESS = 'group_module.ACCESS'; + const ACCESS = 'profile_module.ACCESS'; /** * the column name for the CREATED_AT field */ - const CREATED_AT = 'group_module.CREATED_AT'; + const CREATED_AT = 'profile_module.CREATED_AT'; /** * the column name for the UPDATED_AT field */ - const UPDATED_AT = 'group_module.UPDATED_AT'; + const UPDATED_AT = 'profile_module.UPDATED_AT'; /** * The default string format for model objects of the related table @@ -111,11 +111,11 @@ class GroupModuleTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'GroupId', 'ModuleId', 'Access', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'groupId', 'moduleId', 'access', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(GroupModuleTableMap::ID, GroupModuleTableMap::GROUP_ID, GroupModuleTableMap::MODULE_ID, GroupModuleTableMap::ACCESS, GroupModuleTableMap::CREATED_AT, GroupModuleTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'GROUP_ID', 'MODULE_ID', 'ACCESS', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'group_id', 'module_id', 'access', 'created_at', 'updated_at', ), + self::TYPE_PHPNAME => array('Id', 'ProfileId', 'ModuleId', 'Access', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'profileId', 'moduleId', 'access', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(ProfileModuleTableMap::ID, ProfileModuleTableMap::PROFILE_ID, ProfileModuleTableMap::MODULE_ID, ProfileModuleTableMap::ACCESS, ProfileModuleTableMap::CREATED_AT, ProfileModuleTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'PROFILE_ID', 'MODULE_ID', 'ACCESS', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'profile_id', 'module_id', 'access', 'created_at', 'updated_at', ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, ) ); @@ -126,11 +126,11 @@ class GroupModuleTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'GroupId' => 1, 'ModuleId' => 2, 'Access' => 3, 'CreatedAt' => 4, 'UpdatedAt' => 5, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'groupId' => 1, 'moduleId' => 2, 'access' => 3, 'createdAt' => 4, 'updatedAt' => 5, ), - self::TYPE_COLNAME => array(GroupModuleTableMap::ID => 0, GroupModuleTableMap::GROUP_ID => 1, GroupModuleTableMap::MODULE_ID => 2, GroupModuleTableMap::ACCESS => 3, GroupModuleTableMap::CREATED_AT => 4, GroupModuleTableMap::UPDATED_AT => 5, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'GROUP_ID' => 1, 'MODULE_ID' => 2, 'ACCESS' => 3, 'CREATED_AT' => 4, 'UPDATED_AT' => 5, ), - self::TYPE_FIELDNAME => array('id' => 0, 'group_id' => 1, 'module_id' => 2, 'access' => 3, 'created_at' => 4, 'updated_at' => 5, ), + self::TYPE_PHPNAME => array('Id' => 0, 'ProfileId' => 1, 'ModuleId' => 2, 'Access' => 3, 'CreatedAt' => 4, 'UpdatedAt' => 5, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'profileId' => 1, 'moduleId' => 2, 'access' => 3, 'createdAt' => 4, 'updatedAt' => 5, ), + self::TYPE_COLNAME => array(ProfileModuleTableMap::ID => 0, ProfileModuleTableMap::PROFILE_ID => 1, ProfileModuleTableMap::MODULE_ID => 2, ProfileModuleTableMap::ACCESS => 3, ProfileModuleTableMap::CREATED_AT => 4, ProfileModuleTableMap::UPDATED_AT => 5, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'PROFILE_ID' => 1, 'MODULE_ID' => 2, 'ACCESS' => 3, 'CREATED_AT' => 4, 'UPDATED_AT' => 5, ), + self::TYPE_FIELDNAME => array('id' => 0, 'profile_id' => 1, 'module_id' => 2, 'access' => 3, 'created_at' => 4, 'updated_at' => 5, ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, ) ); @@ -144,14 +144,14 @@ class GroupModuleTableMap extends TableMap public function initialize() { // attributes - $this->setName('group_module'); - $this->setPhpName('GroupModule'); - $this->setClassName('\\Thelia\\Model\\GroupModule'); + $this->setName('profile_module'); + $this->setPhpName('ProfileModule'); + $this->setClassName('\\Thelia\\Model\\ProfileModule'); $this->setPackage('Thelia.Model'); $this->setUseIdGenerator(true); // columns $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); - $this->addForeignKey('GROUP_ID', 'GroupId', 'INTEGER', 'group', 'ID', true, null, null); + $this->addForeignKey('PROFILE_ID', 'ProfileId', 'INTEGER', 'profile', 'ID', true, null, null); $this->addForeignKey('MODULE_ID', 'ModuleId', 'INTEGER', 'module', 'ID', false, null, null); $this->addColumn('ACCESS', 'Access', 'TINYINT', false, null, 0); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); @@ -163,7 +163,7 @@ class GroupModuleTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('Group', '\\Thelia\\Model\\Group', RelationMap::MANY_TO_ONE, array('group_id' => 'id', ), 'CASCADE', 'CASCADE'); + $this->addRelation('Profile', '\\Thelia\\Model\\Profile', RelationMap::MANY_TO_ONE, array('profile_id' => 'id', ), 'CASCADE', 'CASCADE'); $this->addRelation('Module', '\\Thelia\\Model\\Module', RelationMap::MANY_TO_ONE, array('module_id' => 'id', ), 'CASCADE', 'RESTRICT'); } // buildRelations() @@ -236,7 +236,7 @@ class GroupModuleTableMap extends TableMap */ public static function getOMClass($withPrefix = true) { - return $withPrefix ? GroupModuleTableMap::CLASS_DEFAULT : GroupModuleTableMap::OM_CLASS; + return $withPrefix ? ProfileModuleTableMap::CLASS_DEFAULT : ProfileModuleTableMap::OM_CLASS; } /** @@ -250,21 +250,21 @@ class GroupModuleTableMap extends TableMap * * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. - * @return array (GroupModule object, last column rank) + * @return array (ProfileModule object, last column rank) */ public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) { - $key = GroupModuleTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); - if (null !== ($obj = GroupModuleTableMap::getInstanceFromPool($key))) { + $key = ProfileModuleTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = ProfileModuleTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, $offset, true); // rehydrate - $col = $offset + GroupModuleTableMap::NUM_HYDRATE_COLUMNS; + $col = $offset + ProfileModuleTableMap::NUM_HYDRATE_COLUMNS; } else { - $cls = GroupModuleTableMap::OM_CLASS; + $cls = ProfileModuleTableMap::OM_CLASS; $obj = new $cls(); $col = $obj->hydrate($row, $offset, false, $indexType); - GroupModuleTableMap::addInstanceToPool($obj, $key); + ProfileModuleTableMap::addInstanceToPool($obj, $key); } return array($obj, $col); @@ -287,8 +287,8 @@ class GroupModuleTableMap extends TableMap $cls = static::getOMClass(false); // populate the object(s) while ($row = $dataFetcher->fetch()) { - $key = GroupModuleTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); - if (null !== ($obj = GroupModuleTableMap::getInstanceFromPool($key))) { + $key = ProfileModuleTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = ProfileModuleTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, 0, true); // rehydrate @@ -297,7 +297,7 @@ class GroupModuleTableMap extends TableMap $obj = new $cls(); $obj->hydrate($row); $results[] = $obj; - GroupModuleTableMap::addInstanceToPool($obj, $key); + ProfileModuleTableMap::addInstanceToPool($obj, $key); } // if key exists } @@ -318,15 +318,15 @@ class GroupModuleTableMap extends TableMap public static function addSelectColumns(Criteria $criteria, $alias = null) { if (null === $alias) { - $criteria->addSelectColumn(GroupModuleTableMap::ID); - $criteria->addSelectColumn(GroupModuleTableMap::GROUP_ID); - $criteria->addSelectColumn(GroupModuleTableMap::MODULE_ID); - $criteria->addSelectColumn(GroupModuleTableMap::ACCESS); - $criteria->addSelectColumn(GroupModuleTableMap::CREATED_AT); - $criteria->addSelectColumn(GroupModuleTableMap::UPDATED_AT); + $criteria->addSelectColumn(ProfileModuleTableMap::ID); + $criteria->addSelectColumn(ProfileModuleTableMap::PROFILE_ID); + $criteria->addSelectColumn(ProfileModuleTableMap::MODULE_ID); + $criteria->addSelectColumn(ProfileModuleTableMap::ACCESS); + $criteria->addSelectColumn(ProfileModuleTableMap::CREATED_AT); + $criteria->addSelectColumn(ProfileModuleTableMap::UPDATED_AT); } else { $criteria->addSelectColumn($alias . '.ID'); - $criteria->addSelectColumn($alias . '.GROUP_ID'); + $criteria->addSelectColumn($alias . '.PROFILE_ID'); $criteria->addSelectColumn($alias . '.MODULE_ID'); $criteria->addSelectColumn($alias . '.ACCESS'); $criteria->addSelectColumn($alias . '.CREATED_AT'); @@ -343,7 +343,7 @@ class GroupModuleTableMap extends TableMap */ public static function getTableMap() { - return Propel::getServiceContainer()->getDatabaseMap(GroupModuleTableMap::DATABASE_NAME)->getTable(GroupModuleTableMap::TABLE_NAME); + return Propel::getServiceContainer()->getDatabaseMap(ProfileModuleTableMap::DATABASE_NAME)->getTable(ProfileModuleTableMap::TABLE_NAME); } /** @@ -351,16 +351,16 @@ class GroupModuleTableMap extends TableMap */ public static function buildTableMap() { - $dbMap = Propel::getServiceContainer()->getDatabaseMap(GroupModuleTableMap::DATABASE_NAME); - if (!$dbMap->hasTable(GroupModuleTableMap::TABLE_NAME)) { - $dbMap->addTableObject(new GroupModuleTableMap()); + $dbMap = Propel::getServiceContainer()->getDatabaseMap(ProfileModuleTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(ProfileModuleTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new ProfileModuleTableMap()); } } /** - * Performs a DELETE on the database, given a GroupModule or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a ProfileModule or Criteria object OR a primary key value. * - * @param mixed $values Criteria or GroupModule object or primary key or array of primary keys + * @param mixed $values Criteria or ProfileModule object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -371,25 +371,25 @@ class GroupModuleTableMap extends TableMap public static function doDelete($values, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileModuleTableMap::DATABASE_NAME); } if ($values instanceof Criteria) { // rename for clarity $criteria = $values; - } elseif ($values instanceof \Thelia\Model\GroupModule) { // it's a model object + } elseif ($values instanceof \Thelia\Model\ProfileModule) { // it's a model object // create criteria based on pk values $criteria = $values->buildPkeyCriteria(); } else { // it's a primary key, or an array of pks - $criteria = new Criteria(GroupModuleTableMap::DATABASE_NAME); - $criteria->add(GroupModuleTableMap::ID, (array) $values, Criteria::IN); + $criteria = new Criteria(ProfileModuleTableMap::DATABASE_NAME); + $criteria->add(ProfileModuleTableMap::ID, (array) $values, Criteria::IN); } - $query = GroupModuleQuery::create()->mergeWith($criteria); + $query = ProfileModuleQuery::create()->mergeWith($criteria); - if ($values instanceof Criteria) { GroupModuleTableMap::clearInstancePool(); + if ($values instanceof Criteria) { ProfileModuleTableMap::clearInstancePool(); } elseif (!is_object($values)) { // it's a primary key, or an array of pks - foreach ((array) $values as $singleval) { GroupModuleTableMap::removeInstanceFromPool($singleval); + foreach ((array) $values as $singleval) { ProfileModuleTableMap::removeInstanceFromPool($singleval); } } @@ -397,20 +397,20 @@ class GroupModuleTableMap extends TableMap } /** - * Deletes all rows from the group_module table. + * Deletes all rows from the profile_module table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). */ public static function doDeleteAll(ConnectionInterface $con = null) { - return GroupModuleQuery::create()->doDeleteAll($con); + return ProfileModuleQuery::create()->doDeleteAll($con); } /** - * Performs an INSERT on the database, given a GroupModule or Criteria object. + * Performs an INSERT on the database, given a ProfileModule or Criteria object. * - * @param mixed $criteria Criteria or GroupModule object containing data that is used to create the INSERT statement. + * @param mixed $criteria Criteria or ProfileModule object containing data that is used to create the INSERT statement. * @param ConnectionInterface $con the ConnectionInterface connection to use * @return mixed The new primary key. * @throws PropelException Any exceptions caught during processing will be @@ -419,22 +419,22 @@ class GroupModuleTableMap extends TableMap public static function doInsert($criteria, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupModuleTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileModuleTableMap::DATABASE_NAME); } if ($criteria instanceof Criteria) { $criteria = clone $criteria; // rename for clarity } else { - $criteria = $criteria->buildCriteria(); // build Criteria from GroupModule object + $criteria = $criteria->buildCriteria(); // build Criteria from ProfileModule object } - if ($criteria->containsKey(GroupModuleTableMap::ID) && $criteria->keyContainsValue(GroupModuleTableMap::ID) ) { - throw new PropelException('Cannot insert a value for auto-increment primary key ('.GroupModuleTableMap::ID.')'); + if ($criteria->containsKey(ProfileModuleTableMap::ID) && $criteria->keyContainsValue(ProfileModuleTableMap::ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.ProfileModuleTableMap::ID.')'); } // Set the correct dbName - $query = GroupModuleQuery::create()->mergeWith($criteria); + $query = ProfileModuleQuery::create()->mergeWith($criteria); try { // use transaction because $criteria could contain info @@ -450,7 +450,7 @@ class GroupModuleTableMap extends TableMap return $pk; } -} // GroupModuleTableMap +} // ProfileModuleTableMap // This is the static code needed to register the TableMap for this table with the main Propel class. // -GroupModuleTableMap::buildTableMap(); +ProfileModuleTableMap::buildTableMap(); diff --git a/core/lib/Thelia/Model/Map/GroupResourceTableMap.php b/core/lib/Thelia/Model/Map/ProfileResourceTableMap.php similarity index 68% rename from core/lib/Thelia/Model/Map/GroupResourceTableMap.php rename to core/lib/Thelia/Model/Map/ProfileResourceTableMap.php index 9304d8e59..4e46d9c33 100644 --- a/core/lib/Thelia/Model/Map/GroupResourceTableMap.php +++ b/core/lib/Thelia/Model/Map/ProfileResourceTableMap.php @@ -10,12 +10,12 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\RelationMap; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Map\TableMapTrait; -use Thelia\Model\GroupResource; -use Thelia\Model\GroupResourceQuery; +use Thelia\Model\ProfileResource; +use Thelia\Model\ProfileResourceQuery; /** - * This class defines the structure of the 'group_resource' table. + * This class defines the structure of the 'profile_resource' table. * * * @@ -25,14 +25,14 @@ use Thelia\Model\GroupResourceQuery; * (i.e. if it's a text column type). * */ -class GroupResourceTableMap extends TableMap +class ProfileResourceTableMap extends TableMap { use InstancePoolTrait; use TableMapTrait; /** * The (dot-path) name of this class */ - const CLASS_NAME = 'Thelia.Model.Map.GroupResourceTableMap'; + const CLASS_NAME = 'Thelia.Model.Map.ProfileResourceTableMap'; /** * The default database name for this class @@ -42,17 +42,17 @@ class GroupResourceTableMap extends TableMap /** * The table name for this class */ - const TABLE_NAME = 'group_resource'; + const TABLE_NAME = 'profile_resource'; /** * The related Propel class for this table */ - const OM_CLASS = '\\Thelia\\Model\\GroupResource'; + const OM_CLASS = '\\Thelia\\Model\\ProfileResource'; /** * A class that can be returned by this tableMap */ - const CLASS_DEFAULT = 'Thelia.Model.GroupResource'; + const CLASS_DEFAULT = 'Thelia.Model.ProfileResource'; /** * The total number of columns @@ -72,37 +72,37 @@ class GroupResourceTableMap extends TableMap /** * the column name for the ID field */ - const ID = 'group_resource.ID'; + const ID = 'profile_resource.ID'; /** - * the column name for the GROUP_ID field + * the column name for the PROFILE_ID field */ - const GROUP_ID = 'group_resource.GROUP_ID'; + const PROFILE_ID = 'profile_resource.PROFILE_ID'; /** * the column name for the RESOURCE_ID field */ - const RESOURCE_ID = 'group_resource.RESOURCE_ID'; + const RESOURCE_ID = 'profile_resource.RESOURCE_ID'; /** * the column name for the READ field */ - const READ = 'group_resource.READ'; + const READ = 'profile_resource.READ'; /** * the column name for the WRITE field */ - const WRITE = 'group_resource.WRITE'; + const WRITE = 'profile_resource.WRITE'; /** * the column name for the CREATED_AT field */ - const CREATED_AT = 'group_resource.CREATED_AT'; + const CREATED_AT = 'profile_resource.CREATED_AT'; /** * the column name for the UPDATED_AT field */ - const UPDATED_AT = 'group_resource.UPDATED_AT'; + const UPDATED_AT = 'profile_resource.UPDATED_AT'; /** * The default string format for model objects of the related table @@ -116,11 +116,11 @@ class GroupResourceTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'GroupId', 'ResourceId', 'Read', 'Write', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'groupId', 'resourceId', 'read', 'write', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(GroupResourceTableMap::ID, GroupResourceTableMap::GROUP_ID, GroupResourceTableMap::RESOURCE_ID, GroupResourceTableMap::READ, GroupResourceTableMap::WRITE, GroupResourceTableMap::CREATED_AT, GroupResourceTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'GROUP_ID', 'RESOURCE_ID', 'READ', 'WRITE', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'group_id', 'resource_id', 'read', 'write', 'created_at', 'updated_at', ), + self::TYPE_PHPNAME => array('Id', 'ProfileId', 'ResourceId', 'Read', 'Write', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'profileId', 'resourceId', 'read', 'write', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(ProfileResourceTableMap::ID, ProfileResourceTableMap::PROFILE_ID, ProfileResourceTableMap::RESOURCE_ID, ProfileResourceTableMap::READ, ProfileResourceTableMap::WRITE, ProfileResourceTableMap::CREATED_AT, ProfileResourceTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'PROFILE_ID', 'RESOURCE_ID', 'READ', 'WRITE', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'profile_id', 'resource_id', 'read', 'write', 'created_at', 'updated_at', ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, ) ); @@ -131,11 +131,11 @@ class GroupResourceTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'GroupId' => 1, 'ResourceId' => 2, 'Read' => 3, 'Write' => 4, 'CreatedAt' => 5, 'UpdatedAt' => 6, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'groupId' => 1, 'resourceId' => 2, 'read' => 3, 'write' => 4, 'createdAt' => 5, 'updatedAt' => 6, ), - self::TYPE_COLNAME => array(GroupResourceTableMap::ID => 0, GroupResourceTableMap::GROUP_ID => 1, GroupResourceTableMap::RESOURCE_ID => 2, GroupResourceTableMap::READ => 3, GroupResourceTableMap::WRITE => 4, GroupResourceTableMap::CREATED_AT => 5, GroupResourceTableMap::UPDATED_AT => 6, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'GROUP_ID' => 1, 'RESOURCE_ID' => 2, 'READ' => 3, 'WRITE' => 4, 'CREATED_AT' => 5, 'UPDATED_AT' => 6, ), - self::TYPE_FIELDNAME => array('id' => 0, 'group_id' => 1, 'resource_id' => 2, 'read' => 3, 'write' => 4, 'created_at' => 5, 'updated_at' => 6, ), + self::TYPE_PHPNAME => array('Id' => 0, 'ProfileId' => 1, 'ResourceId' => 2, 'Read' => 3, 'Write' => 4, 'CreatedAt' => 5, 'UpdatedAt' => 6, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'profileId' => 1, 'resourceId' => 2, 'read' => 3, 'write' => 4, 'createdAt' => 5, 'updatedAt' => 6, ), + self::TYPE_COLNAME => array(ProfileResourceTableMap::ID => 0, ProfileResourceTableMap::PROFILE_ID => 1, ProfileResourceTableMap::RESOURCE_ID => 2, ProfileResourceTableMap::READ => 3, ProfileResourceTableMap::WRITE => 4, ProfileResourceTableMap::CREATED_AT => 5, ProfileResourceTableMap::UPDATED_AT => 6, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'PROFILE_ID' => 1, 'RESOURCE_ID' => 2, 'READ' => 3, 'WRITE' => 4, 'CREATED_AT' => 5, 'UPDATED_AT' => 6, ), + self::TYPE_FIELDNAME => array('id' => 0, 'profile_id' => 1, 'resource_id' => 2, 'read' => 3, 'write' => 4, 'created_at' => 5, 'updated_at' => 6, ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, ) ); @@ -149,15 +149,15 @@ class GroupResourceTableMap extends TableMap public function initialize() { // attributes - $this->setName('group_resource'); - $this->setPhpName('GroupResource'); - $this->setClassName('\\Thelia\\Model\\GroupResource'); + $this->setName('profile_resource'); + $this->setPhpName('ProfileResource'); + $this->setClassName('\\Thelia\\Model\\ProfileResource'); $this->setPackage('Thelia.Model'); $this->setUseIdGenerator(true); $this->setIsCrossRef(true); // columns $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); - $this->addForeignPrimaryKey('GROUP_ID', 'GroupId', 'INTEGER' , 'group', 'ID', true, null, null); + $this->addForeignPrimaryKey('PROFILE_ID', 'ProfileId', 'INTEGER' , 'profile', 'ID', true, null, null); $this->addForeignPrimaryKey('RESOURCE_ID', 'ResourceId', 'INTEGER' , 'resource', 'ID', true, null, null); $this->addColumn('READ', 'Read', 'TINYINT', false, null, 0); $this->addColumn('WRITE', 'Write', 'TINYINT', false, null, 0); @@ -170,7 +170,7 @@ class GroupResourceTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('Group', '\\Thelia\\Model\\Group', RelationMap::MANY_TO_ONE, array('group_id' => 'id', ), 'CASCADE', 'RESTRICT'); + $this->addRelation('Profile', '\\Thelia\\Model\\Profile', RelationMap::MANY_TO_ONE, array('profile_id' => 'id', ), 'CASCADE', 'RESTRICT'); $this->addRelation('Resource', '\\Thelia\\Model\\Resource', RelationMap::MANY_TO_ONE, array('resource_id' => 'id', ), 'CASCADE', 'RESTRICT'); } // buildRelations() @@ -195,14 +195,14 @@ class GroupResourceTableMap extends TableMap * to the cache in order to ensure that the same objects are always returned by find*() * and findPk*() calls. * - * @param \Thelia\Model\GroupResource $obj A \Thelia\Model\GroupResource object. + * @param \Thelia\Model\ProfileResource $obj A \Thelia\Model\ProfileResource object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool($obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if (null === $key) { - $key = serialize(array((string) $obj->getId(), (string) $obj->getGroupId(), (string) $obj->getResourceId())); + $key = serialize(array((string) $obj->getId(), (string) $obj->getProfileId(), (string) $obj->getResourceId())); } // if key === null self::$instances[$key] = $obj; } @@ -216,13 +216,13 @@ class GroupResourceTableMap extends TableMap * methods in your stub classes -- you may need to explicitly remove objects * from the cache in order to prevent returning objects that no longer exist. * - * @param mixed $value A \Thelia\Model\GroupResource object or a primary key value. + * @param mixed $value A \Thelia\Model\ProfileResource object or a primary key value. */ public static function removeInstanceFromPool($value) { if (Propel::isInstancePoolingEnabled() && null !== $value) { - if (is_object($value) && $value instanceof \Thelia\Model\GroupResource) { - $key = serialize(array((string) $value->getId(), (string) $value->getGroupId(), (string) $value->getResourceId())); + if (is_object($value) && $value instanceof \Thelia\Model\ProfileResource) { + $key = serialize(array((string) $value->getId(), (string) $value->getProfileId(), (string) $value->getResourceId())); } elseif (is_array($value) && count($value) === 3) { // assume we've been passed a primary key"; @@ -232,7 +232,7 @@ class GroupResourceTableMap extends TableMap return; } else { - $e = new PropelException("Invalid value passed to removeInstanceFromPool(). Expected primary key or \Thelia\Model\GroupResource object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value, true))); + $e = new PropelException("Invalid value passed to removeInstanceFromPool(). Expected primary key or \Thelia\Model\ProfileResource object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value, true))); throw $e; } @@ -254,11 +254,11 @@ class GroupResourceTableMap extends TableMap public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) { // If the PK cannot be derived from the row, return NULL. - if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 1 + $offset : static::translateFieldName('GroupId', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 2 + $offset : static::translateFieldName('ResourceId', TableMap::TYPE_PHPNAME, $indexType)] === null) { + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 1 + $offset : static::translateFieldName('ProfileId', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 2 + $offset : static::translateFieldName('ResourceId', TableMap::TYPE_PHPNAME, $indexType)] === null) { return null; } - return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 1 + $offset : static::translateFieldName('GroupId', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 2 + $offset : static::translateFieldName('ResourceId', TableMap::TYPE_PHPNAME, $indexType)])); + return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 1 + $offset : static::translateFieldName('ProfileId', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 2 + $offset : static::translateFieldName('ResourceId', TableMap::TYPE_PHPNAME, $indexType)])); } /** @@ -292,7 +292,7 @@ class GroupResourceTableMap extends TableMap */ public static function getOMClass($withPrefix = true) { - return $withPrefix ? GroupResourceTableMap::CLASS_DEFAULT : GroupResourceTableMap::OM_CLASS; + return $withPrefix ? ProfileResourceTableMap::CLASS_DEFAULT : ProfileResourceTableMap::OM_CLASS; } /** @@ -306,21 +306,21 @@ class GroupResourceTableMap extends TableMap * * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. - * @return array (GroupResource object, last column rank) + * @return array (ProfileResource object, last column rank) */ public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) { - $key = GroupResourceTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); - if (null !== ($obj = GroupResourceTableMap::getInstanceFromPool($key))) { + $key = ProfileResourceTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = ProfileResourceTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, $offset, true); // rehydrate - $col = $offset + GroupResourceTableMap::NUM_HYDRATE_COLUMNS; + $col = $offset + ProfileResourceTableMap::NUM_HYDRATE_COLUMNS; } else { - $cls = GroupResourceTableMap::OM_CLASS; + $cls = ProfileResourceTableMap::OM_CLASS; $obj = new $cls(); $col = $obj->hydrate($row, $offset, false, $indexType); - GroupResourceTableMap::addInstanceToPool($obj, $key); + ProfileResourceTableMap::addInstanceToPool($obj, $key); } return array($obj, $col); @@ -343,8 +343,8 @@ class GroupResourceTableMap extends TableMap $cls = static::getOMClass(false); // populate the object(s) while ($row = $dataFetcher->fetch()) { - $key = GroupResourceTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); - if (null !== ($obj = GroupResourceTableMap::getInstanceFromPool($key))) { + $key = ProfileResourceTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = ProfileResourceTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, 0, true); // rehydrate @@ -353,7 +353,7 @@ class GroupResourceTableMap extends TableMap $obj = new $cls(); $obj->hydrate($row); $results[] = $obj; - GroupResourceTableMap::addInstanceToPool($obj, $key); + ProfileResourceTableMap::addInstanceToPool($obj, $key); } // if key exists } @@ -374,16 +374,16 @@ class GroupResourceTableMap extends TableMap public static function addSelectColumns(Criteria $criteria, $alias = null) { if (null === $alias) { - $criteria->addSelectColumn(GroupResourceTableMap::ID); - $criteria->addSelectColumn(GroupResourceTableMap::GROUP_ID); - $criteria->addSelectColumn(GroupResourceTableMap::RESOURCE_ID); - $criteria->addSelectColumn(GroupResourceTableMap::READ); - $criteria->addSelectColumn(GroupResourceTableMap::WRITE); - $criteria->addSelectColumn(GroupResourceTableMap::CREATED_AT); - $criteria->addSelectColumn(GroupResourceTableMap::UPDATED_AT); + $criteria->addSelectColumn(ProfileResourceTableMap::ID); + $criteria->addSelectColumn(ProfileResourceTableMap::PROFILE_ID); + $criteria->addSelectColumn(ProfileResourceTableMap::RESOURCE_ID); + $criteria->addSelectColumn(ProfileResourceTableMap::READ); + $criteria->addSelectColumn(ProfileResourceTableMap::WRITE); + $criteria->addSelectColumn(ProfileResourceTableMap::CREATED_AT); + $criteria->addSelectColumn(ProfileResourceTableMap::UPDATED_AT); } else { $criteria->addSelectColumn($alias . '.ID'); - $criteria->addSelectColumn($alias . '.GROUP_ID'); + $criteria->addSelectColumn($alias . '.PROFILE_ID'); $criteria->addSelectColumn($alias . '.RESOURCE_ID'); $criteria->addSelectColumn($alias . '.READ'); $criteria->addSelectColumn($alias . '.WRITE'); @@ -401,7 +401,7 @@ class GroupResourceTableMap extends TableMap */ public static function getTableMap() { - return Propel::getServiceContainer()->getDatabaseMap(GroupResourceTableMap::DATABASE_NAME)->getTable(GroupResourceTableMap::TABLE_NAME); + return Propel::getServiceContainer()->getDatabaseMap(ProfileResourceTableMap::DATABASE_NAME)->getTable(ProfileResourceTableMap::TABLE_NAME); } /** @@ -409,16 +409,16 @@ class GroupResourceTableMap extends TableMap */ public static function buildTableMap() { - $dbMap = Propel::getServiceContainer()->getDatabaseMap(GroupResourceTableMap::DATABASE_NAME); - if (!$dbMap->hasTable(GroupResourceTableMap::TABLE_NAME)) { - $dbMap->addTableObject(new GroupResourceTableMap()); + $dbMap = Propel::getServiceContainer()->getDatabaseMap(ProfileResourceTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(ProfileResourceTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new ProfileResourceTableMap()); } } /** - * Performs a DELETE on the database, given a GroupResource or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a ProfileResource or Criteria object OR a primary key value. * - * @param mixed $values Criteria or GroupResource object or primary key or array of primary keys + * @param mixed $values Criteria or ProfileResource object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -429,17 +429,17 @@ class GroupResourceTableMap extends TableMap public static function doDelete($values, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileResourceTableMap::DATABASE_NAME); } if ($values instanceof Criteria) { // rename for clarity $criteria = $values; - } elseif ($values instanceof \Thelia\Model\GroupResource) { // it's a model object + } elseif ($values instanceof \Thelia\Model\ProfileResource) { // it's a model object // create criteria based on pk values $criteria = $values->buildPkeyCriteria(); } else { // it's a primary key, or an array of pks - $criteria = new Criteria(GroupResourceTableMap::DATABASE_NAME); + $criteria = new Criteria(ProfileResourceTableMap::DATABASE_NAME); // primary key is composite; we therefore, expect // the primary key passed to be an array of pkey values if (count($values) == count($values, COUNT_RECURSIVE)) { @@ -447,18 +447,18 @@ class GroupResourceTableMap extends TableMap $values = array($values); } foreach ($values as $value) { - $criterion = $criteria->getNewCriterion(GroupResourceTableMap::ID, $value[0]); - $criterion->addAnd($criteria->getNewCriterion(GroupResourceTableMap::GROUP_ID, $value[1])); - $criterion->addAnd($criteria->getNewCriterion(GroupResourceTableMap::RESOURCE_ID, $value[2])); + $criterion = $criteria->getNewCriterion(ProfileResourceTableMap::ID, $value[0]); + $criterion->addAnd($criteria->getNewCriterion(ProfileResourceTableMap::PROFILE_ID, $value[1])); + $criterion->addAnd($criteria->getNewCriterion(ProfileResourceTableMap::RESOURCE_ID, $value[2])); $criteria->addOr($criterion); } } - $query = GroupResourceQuery::create()->mergeWith($criteria); + $query = ProfileResourceQuery::create()->mergeWith($criteria); - if ($values instanceof Criteria) { GroupResourceTableMap::clearInstancePool(); + if ($values instanceof Criteria) { ProfileResourceTableMap::clearInstancePool(); } elseif (!is_object($values)) { // it's a primary key, or an array of pks - foreach ((array) $values as $singleval) { GroupResourceTableMap::removeInstanceFromPool($singleval); + foreach ((array) $values as $singleval) { ProfileResourceTableMap::removeInstanceFromPool($singleval); } } @@ -466,20 +466,20 @@ class GroupResourceTableMap extends TableMap } /** - * Deletes all rows from the group_resource table. + * Deletes all rows from the profile_resource table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). */ public static function doDeleteAll(ConnectionInterface $con = null) { - return GroupResourceQuery::create()->doDeleteAll($con); + return ProfileResourceQuery::create()->doDeleteAll($con); } /** - * Performs an INSERT on the database, given a GroupResource or Criteria object. + * Performs an INSERT on the database, given a ProfileResource or Criteria object. * - * @param mixed $criteria Criteria or GroupResource object containing data that is used to create the INSERT statement. + * @param mixed $criteria Criteria or ProfileResource object containing data that is used to create the INSERT statement. * @param ConnectionInterface $con the ConnectionInterface connection to use * @return mixed The new primary key. * @throws PropelException Any exceptions caught during processing will be @@ -488,22 +488,22 @@ class GroupResourceTableMap extends TableMap public static function doInsert($criteria, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupResourceTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileResourceTableMap::DATABASE_NAME); } if ($criteria instanceof Criteria) { $criteria = clone $criteria; // rename for clarity } else { - $criteria = $criteria->buildCriteria(); // build Criteria from GroupResource object + $criteria = $criteria->buildCriteria(); // build Criteria from ProfileResource object } - if ($criteria->containsKey(GroupResourceTableMap::ID) && $criteria->keyContainsValue(GroupResourceTableMap::ID) ) { - throw new PropelException('Cannot insert a value for auto-increment primary key ('.GroupResourceTableMap::ID.')'); + if ($criteria->containsKey(ProfileResourceTableMap::ID) && $criteria->keyContainsValue(ProfileResourceTableMap::ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.ProfileResourceTableMap::ID.')'); } // Set the correct dbName - $query = GroupResourceQuery::create()->mergeWith($criteria); + $query = ProfileResourceQuery::create()->mergeWith($criteria); try { // use transaction because $criteria could contain info @@ -519,7 +519,7 @@ class GroupResourceTableMap extends TableMap return $pk; } -} // GroupResourceTableMap +} // ProfileResourceTableMap // This is the static code needed to register the TableMap for this table with the main Propel class. // -GroupResourceTableMap::buildTableMap(); +ProfileResourceTableMap::buildTableMap(); diff --git a/core/lib/Thelia/Model/Map/GroupTableMap.php b/core/lib/Thelia/Model/Map/ProfileTableMap.php similarity index 76% rename from core/lib/Thelia/Model/Map/GroupTableMap.php rename to core/lib/Thelia/Model/Map/ProfileTableMap.php index 881a2fa84..293c662ba 100644 --- a/core/lib/Thelia/Model/Map/GroupTableMap.php +++ b/core/lib/Thelia/Model/Map/ProfileTableMap.php @@ -10,12 +10,12 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\RelationMap; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Map\TableMapTrait; -use Thelia\Model\Group; -use Thelia\Model\GroupQuery; +use Thelia\Model\Profile; +use Thelia\Model\ProfileQuery; /** - * This class defines the structure of the 'group' table. + * This class defines the structure of the 'profile' table. * * * @@ -25,14 +25,14 @@ use Thelia\Model\GroupQuery; * (i.e. if it's a text column type). * */ -class GroupTableMap extends TableMap +class ProfileTableMap extends TableMap { use InstancePoolTrait; use TableMapTrait; /** * The (dot-path) name of this class */ - const CLASS_NAME = 'Thelia.Model.Map.GroupTableMap'; + const CLASS_NAME = 'Thelia.Model.Map.ProfileTableMap'; /** * The default database name for this class @@ -42,17 +42,17 @@ class GroupTableMap extends TableMap /** * The table name for this class */ - const TABLE_NAME = 'group'; + const TABLE_NAME = 'profile'; /** * The related Propel class for this table */ - const OM_CLASS = '\\Thelia\\Model\\Group'; + const OM_CLASS = '\\Thelia\\Model\\Profile'; /** * A class that can be returned by this tableMap */ - const CLASS_DEFAULT = 'Thelia.Model.Group'; + const CLASS_DEFAULT = 'Thelia.Model.Profile'; /** * The total number of columns @@ -72,22 +72,22 @@ class GroupTableMap extends TableMap /** * the column name for the ID field */ - const ID = 'group.ID'; + const ID = 'profile.ID'; /** * the column name for the CODE field */ - const CODE = 'group.CODE'; + const CODE = 'profile.CODE'; /** * the column name for the CREATED_AT field */ - const CREATED_AT = 'group.CREATED_AT'; + const CREATED_AT = 'profile.CREATED_AT'; /** * the column name for the UPDATED_AT field */ - const UPDATED_AT = 'group.UPDATED_AT'; + const UPDATED_AT = 'profile.UPDATED_AT'; /** * The default string format for model objects of the related table @@ -112,7 +112,7 @@ class GroupTableMap extends TableMap protected static $fieldNames = array ( self::TYPE_PHPNAME => array('Id', 'Code', 'CreatedAt', 'UpdatedAt', ), self::TYPE_STUDLYPHPNAME => array('id', 'code', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(GroupTableMap::ID, GroupTableMap::CODE, GroupTableMap::CREATED_AT, GroupTableMap::UPDATED_AT, ), + self::TYPE_COLNAME => array(ProfileTableMap::ID, ProfileTableMap::CODE, ProfileTableMap::CREATED_AT, ProfileTableMap::UPDATED_AT, ), self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'CREATED_AT', 'UPDATED_AT', ), self::TYPE_FIELDNAME => array('id', 'code', 'created_at', 'updated_at', ), self::TYPE_NUM => array(0, 1, 2, 3, ) @@ -127,7 +127,7 @@ class GroupTableMap extends TableMap protected static $fieldKeys = array ( self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'CreatedAt' => 2, 'UpdatedAt' => 3, ), self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'createdAt' => 2, 'updatedAt' => 3, ), - self::TYPE_COLNAME => array(GroupTableMap::ID => 0, GroupTableMap::CODE => 1, GroupTableMap::CREATED_AT => 2, GroupTableMap::UPDATED_AT => 3, ), + self::TYPE_COLNAME => array(ProfileTableMap::ID => 0, ProfileTableMap::CODE => 1, ProfileTableMap::CREATED_AT => 2, ProfileTableMap::UPDATED_AT => 3, ), self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'CREATED_AT' => 2, 'UPDATED_AT' => 3, ), self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'created_at' => 2, 'updated_at' => 3, ), self::TYPE_NUM => array(0, 1, 2, 3, ) @@ -143,9 +143,9 @@ class GroupTableMap extends TableMap public function initialize() { // attributes - $this->setName('group'); - $this->setPhpName('Group'); - $this->setClassName('\\Thelia\\Model\\Group'); + $this->setName('profile'); + $this->setPhpName('Profile'); + $this->setClassName('\\Thelia\\Model\\Profile'); $this->setPackage('Thelia.Model'); $this->setUseIdGenerator(true); // columns @@ -160,11 +160,10 @@ class GroupTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('AdminGroup', '\\Thelia\\Model\\AdminGroup', RelationMap::ONE_TO_MANY, array('id' => 'group_id', ), 'CASCADE', 'RESTRICT', 'AdminGroups'); - $this->addRelation('GroupResource', '\\Thelia\\Model\\GroupResource', RelationMap::ONE_TO_MANY, array('id' => 'group_id', ), 'CASCADE', 'RESTRICT', 'GroupResources'); - $this->addRelation('GroupModule', '\\Thelia\\Model\\GroupModule', RelationMap::ONE_TO_MANY, array('id' => 'group_id', ), 'CASCADE', 'CASCADE', 'GroupModules'); - $this->addRelation('GroupI18n', '\\Thelia\\Model\\GroupI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'GroupI18ns'); - $this->addRelation('Admin', '\\Thelia\\Model\\Admin', RelationMap::MANY_TO_MANY, array(), 'CASCADE', 'RESTRICT', 'Admins'); + $this->addRelation('Admin', '\\Thelia\\Model\\Admin', RelationMap::ONE_TO_MANY, array('id' => 'profile_id', ), 'RESTRICT', 'RESTRICT', 'Admins'); + $this->addRelation('ProfileResource', '\\Thelia\\Model\\ProfileResource', RelationMap::ONE_TO_MANY, array('id' => 'profile_id', ), 'CASCADE', 'RESTRICT', 'ProfileResources'); + $this->addRelation('ProfileModule', '\\Thelia\\Model\\ProfileModule', RelationMap::ONE_TO_MANY, array('id' => 'profile_id', ), 'CASCADE', 'CASCADE', 'ProfileModules'); + $this->addRelation('ProfileI18n', '\\Thelia\\Model\\ProfileI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'ProfileI18ns'); $this->addRelation('Resource', '\\Thelia\\Model\\Resource', RelationMap::MANY_TO_MANY, array(), 'CASCADE', 'RESTRICT', 'Resources'); } // buildRelations() @@ -182,16 +181,15 @@ class GroupTableMap extends TableMap ); } // getBehaviors() /** - * Method to invalidate the instance pool of all tables related to group * by a foreign key with ON DELETE CASCADE + * Method to invalidate the instance pool of all tables related to profile * by a foreign key with ON DELETE CASCADE */ public static function clearRelatedInstancePool() { // Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool, // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. - AdminGroupTableMap::clearInstancePool(); - GroupResourceTableMap::clearInstancePool(); - GroupModuleTableMap::clearInstancePool(); - GroupI18nTableMap::clearInstancePool(); + ProfileResourceTableMap::clearInstancePool(); + ProfileModuleTableMap::clearInstancePool(); + ProfileI18nTableMap::clearInstancePool(); } /** @@ -250,7 +248,7 @@ class GroupTableMap extends TableMap */ public static function getOMClass($withPrefix = true) { - return $withPrefix ? GroupTableMap::CLASS_DEFAULT : GroupTableMap::OM_CLASS; + return $withPrefix ? ProfileTableMap::CLASS_DEFAULT : ProfileTableMap::OM_CLASS; } /** @@ -264,21 +262,21 @@ class GroupTableMap extends TableMap * * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. - * @return array (Group object, last column rank) + * @return array (Profile object, last column rank) */ public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) { - $key = GroupTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); - if (null !== ($obj = GroupTableMap::getInstanceFromPool($key))) { + $key = ProfileTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = ProfileTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, $offset, true); // rehydrate - $col = $offset + GroupTableMap::NUM_HYDRATE_COLUMNS; + $col = $offset + ProfileTableMap::NUM_HYDRATE_COLUMNS; } else { - $cls = GroupTableMap::OM_CLASS; + $cls = ProfileTableMap::OM_CLASS; $obj = new $cls(); $col = $obj->hydrate($row, $offset, false, $indexType); - GroupTableMap::addInstanceToPool($obj, $key); + ProfileTableMap::addInstanceToPool($obj, $key); } return array($obj, $col); @@ -301,8 +299,8 @@ class GroupTableMap extends TableMap $cls = static::getOMClass(false); // populate the object(s) while ($row = $dataFetcher->fetch()) { - $key = GroupTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); - if (null !== ($obj = GroupTableMap::getInstanceFromPool($key))) { + $key = ProfileTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = ProfileTableMap::getInstanceFromPool($key))) { // We no longer rehydrate the object, since this can cause data loss. // See http://www.propelorm.org/ticket/509 // $obj->hydrate($row, 0, true); // rehydrate @@ -311,7 +309,7 @@ class GroupTableMap extends TableMap $obj = new $cls(); $obj->hydrate($row); $results[] = $obj; - GroupTableMap::addInstanceToPool($obj, $key); + ProfileTableMap::addInstanceToPool($obj, $key); } // if key exists } @@ -332,10 +330,10 @@ class GroupTableMap extends TableMap public static function addSelectColumns(Criteria $criteria, $alias = null) { if (null === $alias) { - $criteria->addSelectColumn(GroupTableMap::ID); - $criteria->addSelectColumn(GroupTableMap::CODE); - $criteria->addSelectColumn(GroupTableMap::CREATED_AT); - $criteria->addSelectColumn(GroupTableMap::UPDATED_AT); + $criteria->addSelectColumn(ProfileTableMap::ID); + $criteria->addSelectColumn(ProfileTableMap::CODE); + $criteria->addSelectColumn(ProfileTableMap::CREATED_AT); + $criteria->addSelectColumn(ProfileTableMap::UPDATED_AT); } else { $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.CODE'); @@ -353,7 +351,7 @@ class GroupTableMap extends TableMap */ public static function getTableMap() { - return Propel::getServiceContainer()->getDatabaseMap(GroupTableMap::DATABASE_NAME)->getTable(GroupTableMap::TABLE_NAME); + return Propel::getServiceContainer()->getDatabaseMap(ProfileTableMap::DATABASE_NAME)->getTable(ProfileTableMap::TABLE_NAME); } /** @@ -361,16 +359,16 @@ class GroupTableMap extends TableMap */ public static function buildTableMap() { - $dbMap = Propel::getServiceContainer()->getDatabaseMap(GroupTableMap::DATABASE_NAME); - if (!$dbMap->hasTable(GroupTableMap::TABLE_NAME)) { - $dbMap->addTableObject(new GroupTableMap()); + $dbMap = Propel::getServiceContainer()->getDatabaseMap(ProfileTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(ProfileTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new ProfileTableMap()); } } /** - * Performs a DELETE on the database, given a Group or Criteria object OR a primary key value. + * Performs a DELETE on the database, given a Profile or Criteria object OR a primary key value. * - * @param mixed $values Criteria or Group object or primary key or array of primary keys + * @param mixed $values Criteria or Profile object or primary key or array of primary keys * which is used to create the DELETE statement * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows @@ -381,25 +379,25 @@ class GroupTableMap extends TableMap public static function doDelete($values, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileTableMap::DATABASE_NAME); } if ($values instanceof Criteria) { // rename for clarity $criteria = $values; - } elseif ($values instanceof \Thelia\Model\Group) { // it's a model object + } elseif ($values instanceof \Thelia\Model\Profile) { // it's a model object // create criteria based on pk values $criteria = $values->buildPkeyCriteria(); } else { // it's a primary key, or an array of pks - $criteria = new Criteria(GroupTableMap::DATABASE_NAME); - $criteria->add(GroupTableMap::ID, (array) $values, Criteria::IN); + $criteria = new Criteria(ProfileTableMap::DATABASE_NAME); + $criteria->add(ProfileTableMap::ID, (array) $values, Criteria::IN); } - $query = GroupQuery::create()->mergeWith($criteria); + $query = ProfileQuery::create()->mergeWith($criteria); - if ($values instanceof Criteria) { GroupTableMap::clearInstancePool(); + if ($values instanceof Criteria) { ProfileTableMap::clearInstancePool(); } elseif (!is_object($values)) { // it's a primary key, or an array of pks - foreach ((array) $values as $singleval) { GroupTableMap::removeInstanceFromPool($singleval); + foreach ((array) $values as $singleval) { ProfileTableMap::removeInstanceFromPool($singleval); } } @@ -407,20 +405,20 @@ class GroupTableMap extends TableMap } /** - * Deletes all rows from the group table. + * Deletes all rows from the profile table. * * @param ConnectionInterface $con the connection to use * @return int The number of affected rows (if supported by underlying database driver). */ public static function doDeleteAll(ConnectionInterface $con = null) { - return GroupQuery::create()->doDeleteAll($con); + return ProfileQuery::create()->doDeleteAll($con); } /** - * Performs an INSERT on the database, given a Group or Criteria object. + * Performs an INSERT on the database, given a Profile or Criteria object. * - * @param mixed $criteria Criteria or Group object containing data that is used to create the INSERT statement. + * @param mixed $criteria Criteria or Profile object containing data that is used to create the INSERT statement. * @param ConnectionInterface $con the ConnectionInterface connection to use * @return mixed The new primary key. * @throws PropelException Any exceptions caught during processing will be @@ -429,22 +427,22 @@ class GroupTableMap extends TableMap public static function doInsert($criteria, ConnectionInterface $con = null) { if (null === $con) { - $con = Propel::getServiceContainer()->getWriteConnection(GroupTableMap::DATABASE_NAME); + $con = Propel::getServiceContainer()->getWriteConnection(ProfileTableMap::DATABASE_NAME); } if ($criteria instanceof Criteria) { $criteria = clone $criteria; // rename for clarity } else { - $criteria = $criteria->buildCriteria(); // build Criteria from Group object + $criteria = $criteria->buildCriteria(); // build Criteria from Profile object } - if ($criteria->containsKey(GroupTableMap::ID) && $criteria->keyContainsValue(GroupTableMap::ID) ) { - throw new PropelException('Cannot insert a value for auto-increment primary key ('.GroupTableMap::ID.')'); + if ($criteria->containsKey(ProfileTableMap::ID) && $criteria->keyContainsValue(ProfileTableMap::ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.ProfileTableMap::ID.')'); } // Set the correct dbName - $query = GroupQuery::create()->mergeWith($criteria); + $query = ProfileQuery::create()->mergeWith($criteria); try { // use transaction because $criteria could contain info @@ -460,7 +458,7 @@ class GroupTableMap extends TableMap return $pk; } -} // GroupTableMap +} // ProfileTableMap // This is the static code needed to register the TableMap for this table with the main Propel class. // -GroupTableMap::buildTableMap(); +ProfileTableMap::buildTableMap(); diff --git a/core/lib/Thelia/Model/Map/ResourceTableMap.php b/core/lib/Thelia/Model/Map/ResourceTableMap.php index 8d7708ddd..d3ad2c60a 100644 --- a/core/lib/Thelia/Model/Map/ResourceTableMap.php +++ b/core/lib/Thelia/Model/Map/ResourceTableMap.php @@ -150,7 +150,7 @@ class ResourceTableMap extends TableMap $this->setUseIdGenerator(true); // columns $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); - $this->addColumn('CODE', 'Code', 'VARCHAR', true, 30, null); + $this->addColumn('CODE', 'Code', 'VARCHAR', true, 255, null); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); } // initialize() @@ -160,9 +160,9 @@ class ResourceTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('GroupResource', '\\Thelia\\Model\\GroupResource', RelationMap::ONE_TO_MANY, array('id' => 'resource_id', ), 'CASCADE', 'RESTRICT', 'GroupResources'); + $this->addRelation('ProfileResource', '\\Thelia\\Model\\ProfileResource', RelationMap::ONE_TO_MANY, array('id' => 'resource_id', ), 'CASCADE', 'RESTRICT', 'ProfileResources'); $this->addRelation('ResourceI18n', '\\Thelia\\Model\\ResourceI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'ResourceI18ns'); - $this->addRelation('Group', '\\Thelia\\Model\\Group', RelationMap::MANY_TO_MANY, array(), 'CASCADE', 'RESTRICT', 'Groups'); + $this->addRelation('Profile', '\\Thelia\\Model\\Profile', RelationMap::MANY_TO_MANY, array(), 'CASCADE', 'RESTRICT', 'Profiles'); } // buildRelations() /** @@ -185,7 +185,7 @@ class ResourceTableMap extends TableMap { // Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool, // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. - GroupResourceTableMap::clearInstancePool(); + ProfileResourceTableMap::clearInstancePool(); ResourceI18nTableMap::clearInstancePool(); } diff --git a/core/lib/Thelia/Model/Map/TaxRuleTableMap.php b/core/lib/Thelia/Model/Map/TaxRuleTableMap.php index ccc41e013..4f1cea73b 100644 --- a/core/lib/Thelia/Model/Map/TaxRuleTableMap.php +++ b/core/lib/Thelia/Model/Map/TaxRuleTableMap.php @@ -160,7 +160,7 @@ class TaxRuleTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('Product', '\\Thelia\\Model\\Product', RelationMap::ONE_TO_MANY, array('id' => 'tax_rule_id', ), 'SET NULL', 'RESTRICT', 'Products'); + $this->addRelation('Product', '\\Thelia\\Model\\Product', RelationMap::ONE_TO_MANY, array('id' => 'tax_rule_id', ), 'RESTRICT', 'RESTRICT', 'Products'); $this->addRelation('TaxRuleCountry', '\\Thelia\\Model\\TaxRuleCountry', RelationMap::ONE_TO_MANY, array('id' => 'tax_rule_id', ), 'CASCADE', 'RESTRICT', 'TaxRuleCountries'); $this->addRelation('TaxRuleI18n', '\\Thelia\\Model\\TaxRuleI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'TaxRuleI18ns'); } // buildRelations() @@ -185,7 +185,6 @@ class TaxRuleTableMap extends TableMap { // Invalidate objects in ".$this->getClassNameFromBuilder($joinedTableTableMapBuilder)." instance pool, // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. - ProductTableMap::clearInstancePool(); TaxRuleCountryTableMap::clearInstancePool(); TaxRuleI18nTableMap::clearInstancePool(); } diff --git a/core/lib/Thelia/Model/Profile.php b/core/lib/Thelia/Model/Profile.php new file mode 100644 index 000000000..8f3a61edd --- /dev/null +++ b/core/lib/Thelia/Model/Profile.php @@ -0,0 +1,11 @@ +dispatcher = $dispatcher; diff --git a/core/lib/Thelia/Module/BaseModule.php b/core/lib/Thelia/Module/BaseModule.php index 37c40c953..79acdd4b3 100755 --- a/core/lib/Thelia/Module/BaseModule.php +++ b/core/lib/Thelia/Module/BaseModule.php @@ -24,7 +24,10 @@ namespace Thelia\Module; +use Propel\Runtime\Connection\ConnectionInterface; +use Propel\Runtime\Propel; use Symfony\Component\DependencyInjection\ContainerAware; +use Thelia\Model\Map\ModuleTableMap; use Thelia\Model\ModuleI18nQuery; use Thelia\Model\Map\ModuleImageTableMap; use Thelia\Model\ModuleI18n; @@ -43,27 +46,60 @@ abstract class BaseModule extends ContainerAware const IS_ACTIVATED = 1; const IS_NOT_ACTIVATED = 0; + protected $reflected; + public function __construct() { } - public function activate() + public function activate($moduleModel = null) { - $moduleModel = $this->getModuleModel(); + if (null === $moduleModel) { + $moduleModel = $this->getModuleModel(); + } + if ($moduleModel->getActivate() == self::IS_NOT_ACTIVATED) { - $moduleModel->setActivate(self::IS_ACTIVATED); - $moduleModel->save(); + $con = Propel::getWriteConnection(ModuleTableMap::DATABASE_NAME); + $con->beginTransaction(); try { - $this->afterActivation(); + if ($this->preActivation($con)) { + $moduleModel->setActivate(self::IS_ACTIVATED); + $moduleModel->save($con); + $this->postActivation($con); + $con->commit(); + } } catch (\Exception $e) { - $moduleModel->setActivate(self::IS_NOT_ACTIVATED); - $moduleModel->save(); + $con->rollBack(); throw $e; } } } + public function deActivate($moduleModel = null) + { + if (null === $moduleModel) { + $moduleModel = $this->getModuleModel(); + } + if ($moduleModel->getActivate() == self::IS_ACTIVATED) { + $con = Propel::getWriteConnection(ModuleTableMap::DATABASE_NAME); + $con->beginTransaction(); + try { + if ($this->preDeactivation($con)) { + $moduleModel->setActivate(self::IS_NOT_ACTIVATED); + $moduleModel->save($con); + $this->postDeactivation($con); + + $con->commit(); + } + } catch (\Exception $e) { + $con->rollBack(); + throw $e; + } + + } + } + public function hasContainer() { return null === $this->container; @@ -72,7 +108,7 @@ abstract class BaseModule extends ContainerAware public function getContainer() { if ($this->hasContainer() === false) { - throw new \RuntimeException("Sorry, container his not available in this context"); + throw new \RuntimeException("Sorry, container is not available in this context"); } return $this->container; @@ -99,17 +135,19 @@ abstract class BaseModule extends ContainerAware } } - public function deployImageFolder(Module $module, $folderPath) + public function deployImageFolder(Module $module, $folderPath, ConnectionInterface $con = null) { try { $directoryBrowser = new \DirectoryIterator($folderPath); } catch (\UnexpectedValueException $e) { throw $e; } + if(null === $con) { + $con = \Propel\Runtime\Propel::getConnection( + ModuleImageTableMap::DATABASE_NAME + ); + } - $con = \Propel\Runtime\Propel::getConnection( - ModuleImageTableMap::DATABASE_NAME - ); /* browse the directory */ $imagePosition = 1; @@ -178,9 +216,42 @@ abstract class BaseModule extends ContainerAware return $moduleModel; } - abstract public function getCode(); - abstract public function install(); - abstract public function afterActivation(); - abstract public function destroy(); + public function getCode() + { + if (null === $this->reflected) { + $this->reflected = new \ReflectionObject($this); + } + + return basename(dirname($this->reflected->getFileName())); + } + + public function install(ConnectionInterface $con = null) + { + } + + public function preActivation(ConnectionInterface $con = null) + { + return true; + } + + public function postActivation(ConnectionInterface $con = null) + { + + } + + public function preDeactivation(ConnectionInterface $con = null) + { + return true; + } + + public function postDeactivation(ConnectionInterface $con = null) + { + + } + + public function destroy(ConnectionInterface $con = null) + { + + } } diff --git a/core/lib/Thelia/Controller/Admin/AdminProfileController.php b/core/lib/Thelia/Module/Exception/InvalidXmlDocumentException.php similarity index 82% rename from core/lib/Thelia/Controller/Admin/AdminProfileController.php rename to core/lib/Thelia/Module/Exception/InvalidXmlDocumentException.php index 91f3f2031..49a7d5a68 100644 --- a/core/lib/Thelia/Controller/Admin/AdminProfileController.php +++ b/core/lib/Thelia/Module/Exception/InvalidXmlDocumentException.php @@ -21,19 +21,14 @@ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Admin; +namespace Thelia\Module\Exception; /** - * Class AdminProfileController - * @package Thelia\Controller\Admin + * Class InvalidXmlDocumentException + * @package Thelia\Module\Exception * @author Manuel Raynaud */ -class AdminProfileController extends BaseAdminController +class InvalidXmlDocumentException extends \RuntimeException { - public function defaultAction() - { - if (null !== $response = $this->checkAuth("admin.admin-profile.view")) return $response; - return $this->render("admin-profiles", array("display_admin_profile" => 20)); - } - -} \ No newline at end of file + +} diff --git a/core/lib/Thelia/Module/ModuleDescriptorValidator.php b/core/lib/Thelia/Module/ModuleDescriptorValidator.php new file mode 100644 index 000000000..8f8c89d4a --- /dev/null +++ b/core/lib/Thelia/Module/ModuleDescriptorValidator.php @@ -0,0 +1,60 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Module; +use Thelia\Module\Exception\InvalidXmlDocumentException; + +/** + * Class ModuleDescriptorValidator + * @package Thelia\Module + * @author Manuel Raynaud + */ +class ModuleDescriptorValidator +{ + private $xsd_file; + + public function __construct() + { + $this->xsd_file = __DIR__ . '/schema/module/module.xsd'; + } + + public function validate($xml_file) + { + $dom = new \DOMDocument(); + + if ($dom->load($xml_file)) { + if ($dom->schemaValidate($this->xsd_file)) { + return true; + } + } + + throw new InvalidXmlDocumentException(sprintf("%s file is not a valid file", $xml_file)); + } + + public function getDescriptor($xml_file) + { + $this->validate($xml_file); + + return @simplexml_load_file($xml_file); + } +} diff --git a/core/lib/Thelia/Module/ModuleManagement.php b/core/lib/Thelia/Module/ModuleManagement.php new file mode 100644 index 000000000..99cc5ca9f --- /dev/null +++ b/core/lib/Thelia/Module/ModuleManagement.php @@ -0,0 +1,118 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Module; + +use Propel\Runtime\Connection\ConnectionInterface; +use Propel\Runtime\Exception\PropelException; +use Propel\Runtime\Propel; +use Symfony\Component\Finder\Finder; +use Thelia\Model\Map\ModuleTableMap; +use Thelia\Model\Module; +use Thelia\Model\ModuleI18n; +use Thelia\Model\ModuleQuery; + +/** + * Class ModuleManagement + * @package Thelia\Module + * @author Manuel Raynaud + */ +class ModuleManagement +{ + protected $baseModuleDir; + protected $reflected; + + public function __construct() + { + $this->baseModuleDir = THELIA_MODULE_DIR; + } + + public function updateModules() + { + $finder = new Finder(); + + $finder + ->name('module.xml') + ->in($this->baseModuleDir . '/*/Config'); + + $descriptorValidator = new ModuleDescriptorValidator(); + foreach ($finder as $file) { + $content = $descriptorValidator->getDescriptor($file->getRealPath()); + $reflected = new \ReflectionClass((string) $content->fullnamespace); + $code = basename(dirname($reflected->getFileName())); + if (null === ModuleQuery::create()->filterByCode($code)->findOne()) { + $module = new Module(); + $con = Propel::getWriteConnection(ModuleTableMap::DATABASE_NAME); + $con->beginTransaction(); + try { + $module + ->setCode($code) + ->setFullNamespace((string) $content->fullnamespace) + ->setType($this->getModuleType($reflected)) + ->setActivate(0) + ->save($con); + + $this->saveDescription($module, $content, $con); + + $con->commit(); + } catch (PropelException $e) { + $con->rollBack(); + throw $e; + } + + } + } + } + + private function saveDescription(Module $module,\SimpleXMLElement $content, ConnectionInterface $con) + { + + foreach ($content->descriptive as $description) { + $locale = $description->attributes()->locale; + + $moduleI18n = new ModuleI18n(); + + $moduleI18n + ->setLocale($locale) + ->setModule($module) + ->setTitle($description->title) + ->setDescription(isset($description->description)?$description->description:null) + ->setPostscriptum(isset($description->postscriptum)?$description->postscriptum:null) + ->setChapo(isset($description->subtitle)?$description->subtitle:null) + ->save($con); + } + } + + private function getModuleType(\ReflectionClass $reflected) + { + if ($reflected->implementsInterface('Thelia\Module\DeliveryModuleInterface')) { + return BaseModule::DELIVERY_MODULE_TYPE; + } elseif ($reflected->implementsInterface('Thelia\Module\PaymentModuleInterface')) { + return BaseModule::PAYMENT_MODULE_TYPE; + } else { + return BaseModule::CLASSIC_MODULE_TYPE; + } + + } + +} diff --git a/core/lib/Thelia/Module/schema/module/module.xsd b/core/lib/Thelia/Module/schema/module/module.xsd new file mode 100644 index 000000000..bcd7bd292 --- /dev/null +++ b/core/lib/Thelia/Module/schema/module/module.xsd @@ -0,0 +1,110 @@ + + + + + + + + The full namespace for the main class module (for example MyModule\MyModule) + + + + + complete description, each description must be identify by ISO CODE 639 + + + + + + + + + + + + + + Module version + + + + + Module author + + + + + + + + + + + + + module type : classic, delivery, payment + + + + + + + + + + + + Les plugins qui doivent déjà être présents + + + + + + + + + + + + + + + + + + minimum required version of Thelia in 'dot' format (for example 1.2.3.4) + + + + + + + + + + current module stability: alpha, beta, rc, prod + + + + + + + + + + + + + + Le nom du fichier contenant la documentation. Ce fichier doit se trouver dans le répertoire du plugin. + + + + + L'URL a interroger pour vérifier la présence d'une nouvelle version, appellé avec le nom du plugin et sa version + + + + + + \ No newline at end of file diff --git a/core/lib/Thelia/Rewriting/RewritingResolver.php b/core/lib/Thelia/Rewriting/RewritingResolver.php index 4c8bcba40..8edd0ebba 100755 --- a/core/lib/Thelia/Rewriting/RewritingResolver.php +++ b/core/lib/Thelia/Rewriting/RewritingResolver.php @@ -59,7 +59,7 @@ class RewritingResolver public function load($rewrittenUrl) { $rewrittenUrl = ltrim($rewrittenUrl, '/'); - + $rewrittenUrl = urldecode($rewrittenUrl); $this->search = $this->rewritingUrlQuery->getResolverSearch($rewrittenUrl); if($this->search->count() == 0) { diff --git a/core/lib/Thelia/TaxEngine/TaxEngine.php b/core/lib/Thelia/TaxEngine/TaxEngine.php new file mode 100755 index 000000000..8e5a5695a --- /dev/null +++ b/core/lib/Thelia/TaxEngine/TaxEngine.php @@ -0,0 +1,71 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\TaxEngine; + +/** + * Class TaxEngine + * @package Thelia\TaxEngine + * @author Etienne Roudeix + */ +class TaxEngine +{ + static public function getInstance() + { + return new TaxEngine(); + } + + private function getTaxTypeDirectory() + { + return __DIR__ . "/TaxType"; + } + + public function getTaxTypeList() + { + $typeList = array(); + + try { + $directoryBrowser = new \DirectoryIterator($this->getTaxTypeDirectory($this->getTaxTypeDirectory())); + } catch (\UnexpectedValueException $e) { + return $typeList; + } + + /* browse the directory */ + foreach ($directoryBrowser as $directoryContent) { + /* is it a file ? */ + if (!$directoryContent->isFile()) { + continue; + } + + $fileName = $directoryContent->getFilename(); + $className = substr($fileName, 0, (1+strlen($directoryContent->getExtension())) * -1); + + if($className == "BaseTaxType") { + continue; + } + + $typeList[] = $className; + } + + return $typeList; + } +} diff --git a/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php b/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php index 1e0a11ca7..f8bdd8647 100755 --- a/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php +++ b/core/lib/Thelia/TaxEngine/TaxType/BaseTaxType.php @@ -41,6 +41,8 @@ abstract class BaseTaxType public abstract function getRequirementsList(); + public abstract function getTitle(); + public function calculate(Product $product, $untaxedPrice) { return $untaxedPrice * $this->pricePercentRetriever() + $this->fixAmountRetriever($product); diff --git a/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php b/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php index 32c78c1ac..e623528c2 100755 --- a/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php +++ b/core/lib/Thelia/TaxEngine/TaxType/FeatureFixAmountTaxType.php @@ -65,4 +65,9 @@ class FeatureFixAmountTaxType extends BaseTaxType 'feature' => new ModelValidIdType('Feature'), ); } + + public function getTitle() + { + return "Fix amount Tax depending on a feature"; + } } diff --git a/core/lib/Thelia/TaxEngine/TaxType/FixAmountTaxType.php b/core/lib/Thelia/TaxEngine/TaxType/FixAmountTaxType.php index e62136d99..c93715571 100755 --- a/core/lib/Thelia/TaxEngine/TaxType/FixAmountTaxType.php +++ b/core/lib/Thelia/TaxEngine/TaxType/FixAmountTaxType.php @@ -47,4 +47,9 @@ class FixAmountTaxType extends BaseTaxType 'amount' => new FloatType(), ); } + + public function getTitle() + { + return "Fix amount Tax"; + } } diff --git a/core/lib/Thelia/TaxEngine/TaxType/PricePercentTaxType.php b/core/lib/Thelia/TaxEngine/TaxType/PricePercentTaxType.php index 342f51a6d..6881b0288 100755 --- a/core/lib/Thelia/TaxEngine/TaxType/PricePercentTaxType.php +++ b/core/lib/Thelia/TaxEngine/TaxType/PricePercentTaxType.php @@ -47,6 +47,9 @@ class PricePercentTaxType extends BaseTaxType 'percent' => new FloatType(), ); } -} -//600 / (1 + 0,10 + 0,10) =/= 600 / (1 + 0,10 ) + 600 / (1 + 0,10 ) \ No newline at end of file + public function getTitle() + { + return "Price % Tax"; + } +} diff --git a/core/lib/Thelia/Tests/Action/BaseAction.php b/core/lib/Thelia/Tests/Action/BaseAction.php index f0027fd21..c07c07115 100644 --- a/core/lib/Thelia/Tests/Action/BaseAction.php +++ b/core/lib/Thelia/Tests/Action/BaseAction.php @@ -23,7 +23,6 @@ namespace Thelia\Tests\Action; - /** * Class BaseAction * @package Thelia\Tests\Action\ImageTest @@ -41,4 +40,4 @@ class BaseAction extends \PHPUnit_Framework_TestCase return $container; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Action/ContentTest.php b/core/lib/Thelia/Tests/Action/ContentTest.php index 7aa819346..f527026bf 100644 --- a/core/lib/Thelia/Tests/Action/ContentTest.php +++ b/core/lib/Thelia/Tests/Action/ContentTest.php @@ -36,7 +36,6 @@ use Thelia\Model\ContentFolderQuery; use Thelia\Model\ContentQuery; use Thelia\Model\FolderQuery; - /** * Class ContentTest * @package Thelia\Tests\Action @@ -205,7 +204,7 @@ class ContentTest extends BaseAction $test = ContentFolderQuery::create() ->filterByContent($content) ->filterByFolder($folder); - } while($test->count() > 0); + } while ($test->count() > 0); $event = new ContentAddFolderEvent($content, $folder->getId()); @@ -267,10 +266,10 @@ class ContentTest extends BaseAction ->addAscendingOrderByColumn('RAND()') ->findOne(); - if(null === $folder) { + if (null === $folder) { $this->fail('use fixtures before launching test, there is no folder in database'); } return $folder; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Action/FolderTest.php b/core/lib/Thelia/Tests/Action/FolderTest.php index 903e1b77b..7ef88aa0d 100644 --- a/core/lib/Thelia/Tests/Action/FolderTest.php +++ b/core/lib/Thelia/Tests/Action/FolderTest.php @@ -31,7 +31,6 @@ use Thelia\Core\Event\Folder\FolderUpdateEvent; use Thelia\Core\Event\UpdatePositionEvent; use Thelia\Model\FolderQuery; - /** * Class FolderTest * @package Thelia\Tests\Action\ImageTest @@ -73,8 +72,6 @@ class FolderTest extends BaseAction { $folder = $this->getRandomFolder(); - - $visible = !$folder->getVisible(); $event = new FolderUpdateEvent($folder->getId()); @@ -147,7 +144,7 @@ class FolderTest extends BaseAction ->filterByPosition(1, Criteria::GREATER_THAN) ->findOne(); - if(null === $folder) { + if (null === $folder) { $this->fail('use fixtures before launching test, there is no folder in database'); } @@ -169,7 +166,7 @@ class FolderTest extends BaseAction ->filterByPosition(1) ->findOne(); - if(null === $folder) { + if (null === $folder) { $this->fail('use fixtures before launching test, there is no folder in database'); } @@ -191,7 +188,7 @@ class FolderTest extends BaseAction ->filterByPosition(1, Criteria::GREATER_THAN) ->findOne(); - if(null === $folder) { + if (null === $folder) { $this->fail('use fixtures before launching test, there is no folder in database'); } @@ -215,10 +212,10 @@ class FolderTest extends BaseAction ->addAscendingOrderByColumn('RAND()') ->findOne(); - if(null === $folder) { + if (null === $folder) { $this->fail('use fixtures before launching test, there is no folder in database'); } return $folder; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Command/CacheClearTest.php b/core/lib/Thelia/Tests/Command/CacheClearTestSaved.php similarity index 96% rename from core/lib/Thelia/Tests/Command/CacheClearTest.php rename to core/lib/Thelia/Tests/Command/CacheClearTestSaved.php index 00d54cb3b..0d88806f0 100755 --- a/core/lib/Thelia/Tests/Command/CacheClearTest.php +++ b/core/lib/Thelia/Tests/Command/CacheClearTestSaved.php @@ -115,6 +115,10 @@ class CacheClearTest extends \PHPUnit_Framework_TestCase $container->setParameter("kernel.cache_dir", $this->cache_dir); + $dispatcher = $this->getMock("Symfony\Component\EventDispatcher\EventDispatcherInterface"); + + $container->set("event_dispatcher", $dispatcher); + return $container; } diff --git a/core/lib/Thelia/Tests/TaxEngine/CalculatorTest.php b/core/lib/Thelia/Tests/TaxEngine/CalculatorTest.php index 0dbbc73bb..1e6f6f258 100755 --- a/core/lib/Thelia/Tests/TaxEngine/CalculatorTest.php +++ b/core/lib/Thelia/Tests/TaxEngine/CalculatorTest.php @@ -127,7 +127,7 @@ class CalculatorTest extends \PHPUnit_Framework_TestCase $taxRulesCollection = new ObjectCollection(); $aProduct = ProductQuery::create()->findOne(); - if(null === $aProduct) { + if (null === $aProduct) { return; } @@ -169,7 +169,7 @@ class CalculatorTest extends \PHPUnit_Framework_TestCase $taxRulesCollection->setModel('\Thelia\Model\Tax'); $aProduct = ProductQuery::create()->findOne(); - if(null === $aProduct) { + if (null === $aProduct) { return; } @@ -214,7 +214,7 @@ class CalculatorTest extends \PHPUnit_Framework_TestCase $taxRulesCollection->append($tax); $aProduct = ProductQuery::create()->findOne(); - if(null === $aProduct) { + if (null === $aProduct) { return; } @@ -270,7 +270,7 @@ class CalculatorTest extends \PHPUnit_Framework_TestCase $taxRulesCollection->append($tax); $aProduct = ProductQuery::create()->findOne(); - if(null === $aProduct) { + if (null === $aProduct) { return; } diff --git a/core/lib/Thelia/Tools/URL.php b/core/lib/Thelia/Tools/URL.php index 3e137e5e4..d00c5c4ab 100755 --- a/core/lib/Thelia/Tools/URL.php +++ b/core/lib/Thelia/Tools/URL.php @@ -199,7 +199,7 @@ class URL public function retrieve($view, $viewId, $viewLocale) { if (ConfigQuery::isRewritingEnable()) { - $this->retriever->loadViewUrl($view, $viewLocale, $viewId); + URL::getInstance()->absoluteUrl($this->retriever->loadViewUrl($view, $viewLocale, $viewId)); } else { $allParametersWithoutView = array(); $allParametersWithoutView['locale'] = $viewLocale; diff --git a/core/lib/Thelia/Type/AlphaNumStringListType.php b/core/lib/Thelia/Type/AlphaNumStringListType.php index d8e53cd95..ccf21606d 100755 --- a/core/lib/Thelia/Type/AlphaNumStringListType.php +++ b/core/lib/Thelia/Type/AlphaNumStringListType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class AlphaNumStringListType implements TypeInterface +class AlphaNumStringListType extends BaseType { public function getType() { @@ -50,4 +50,14 @@ class AlphaNumStringListType implements TypeInterface { return $this->isValid($values) ? explode(',', $values) : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/AlphaNumStringType.php b/core/lib/Thelia/Type/AlphaNumStringType.php index 726e6eb67..ad9595f20 100755 --- a/core/lib/Thelia/Type/AlphaNumStringType.php +++ b/core/lib/Thelia/Type/AlphaNumStringType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class AlphaNumStringType implements TypeInterface +class AlphaNumStringType extends BaseType { public function getType() { @@ -44,4 +44,14 @@ class AlphaNumStringType implements TypeInterface { return $this->isValid($value) ? $value : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/AnyType.php b/core/lib/Thelia/Type/AnyType.php index 5cdbb1272..4e844c6e9 100755 --- a/core/lib/Thelia/Type/AnyType.php +++ b/core/lib/Thelia/Type/AnyType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class AnyType implements TypeInterface +class AnyType extends BaseType { public function getType() { @@ -44,4 +44,14 @@ class AnyType implements TypeInterface { return $value; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/BaseType.php b/core/lib/Thelia/Type/BaseType.php new file mode 100644 index 000000000..9beb180e7 --- /dev/null +++ b/core/lib/Thelia/Type/BaseType.php @@ -0,0 +1,46 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Type; + +use Symfony\Component\Validator\ExecutionContextInterface; + +/** + * + * @author Etienne Roudeix + * + */ +abstract class BaseType implements TypeInterface +{ + abstract public function getType(); + abstract public function isValid($value); + abstract public function getFormattedValue($value); + abstract public function getFormType(); + abstract public function getFormOptions(); + + public function verifyForm($value, ExecutionContextInterface $context) + { + if( ! $this->isValid($value) ) { + $context->addViolation(sprintf("received value `%s` does not match `%s` type", $value, $this->getType())); + } + } +} diff --git a/core/lib/Thelia/Type/BooleanOrBothType.php b/core/lib/Thelia/Type/BooleanOrBothType.php index 210201e26..25f3d9994 100755 --- a/core/lib/Thelia/Type/BooleanOrBothType.php +++ b/core/lib/Thelia/Type/BooleanOrBothType.php @@ -29,7 +29,7 @@ namespace Thelia\Type; * */ -class BooleanOrBothType implements TypeInterface +class BooleanOrBothType extends BaseType { const ANY = '*'; @@ -49,4 +49,14 @@ class BooleanOrBothType implements TypeInterface if ($value === self::ANY) return $value; return $value === null ? null : filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/BooleanType.php b/core/lib/Thelia/Type/BooleanType.php index 69cba66ac..5f36453de 100755 --- a/core/lib/Thelia/Type/BooleanType.php +++ b/core/lib/Thelia/Type/BooleanType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class BooleanType implements TypeInterface +class BooleanType extends BaseType { public function getType() { @@ -44,4 +44,14 @@ class BooleanType implements TypeInterface { return $value === null ? null : filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/EnumListType.php b/core/lib/Thelia/Type/EnumListType.php index 2c37929a8..5b54c48bf 100755 --- a/core/lib/Thelia/Type/EnumListType.php +++ b/core/lib/Thelia/Type/EnumListType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class EnumListType implements TypeInterface +class EnumListType extends BaseType { protected $values = array(); @@ -69,4 +69,14 @@ class EnumListType implements TypeInterface { return in_array($value, $this->values); } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/EnumType.php b/core/lib/Thelia/Type/EnumType.php index 416f9714a..1283acde0 100755 --- a/core/lib/Thelia/Type/EnumType.php +++ b/core/lib/Thelia/Type/EnumType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class EnumType implements TypeInterface +class EnumType extends BaseType { protected $values = array(); @@ -52,4 +52,14 @@ class EnumType implements TypeInterface { return $this->isValid($value) ? $value : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/FloatToFloatArrayType.php b/core/lib/Thelia/Type/FloatToFloatArrayType.php index 682ddebdd..f55997f55 100755 --- a/core/lib/Thelia/Type/FloatToFloatArrayType.php +++ b/core/lib/Thelia/Type/FloatToFloatArrayType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class FloatToFloatArrayType implements TypeInterface +class FloatToFloatArrayType extends BaseType { public function getType() { @@ -54,4 +54,14 @@ class FloatToFloatArrayType implements TypeInterface { return $this->isValid($value) ? $value : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/FloatType.php b/core/lib/Thelia/Type/FloatType.php index f82f34b58..830622a86 100755 --- a/core/lib/Thelia/Type/FloatType.php +++ b/core/lib/Thelia/Type/FloatType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class FloatType implements TypeInterface +class FloatType extends BaseType { public function getType() { @@ -44,4 +44,14 @@ class FloatType implements TypeInterface { return $this->isValid($value) ? $value : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/IntListType.php b/core/lib/Thelia/Type/IntListType.php index 28590472e..5fe31aa3c 100755 --- a/core/lib/Thelia/Type/IntListType.php +++ b/core/lib/Thelia/Type/IntListType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class IntListType implements TypeInterface +class IntListType extends BaseType { public function getType() { @@ -50,4 +50,14 @@ class IntListType implements TypeInterface { return $this->isValid($values) ? explode(',', $values) : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/IntToCombinedIntsListType.php b/core/lib/Thelia/Type/IntToCombinedIntsListType.php index b2dc6b068..562e160dd 100755 --- a/core/lib/Thelia/Type/IntToCombinedIntsListType.php +++ b/core/lib/Thelia/Type/IntToCombinedIntsListType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class IntToCombinedIntsListType implements TypeInterface +class IntToCombinedIntsListType extends BaseType { public function getType() { @@ -124,4 +124,14 @@ class IntToCombinedIntsListType implements TypeInterface return true; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/IntToCombinedStringsListType.php b/core/lib/Thelia/Type/IntToCombinedStringsListType.php index 5863feb97..5c4327dc8 100755 --- a/core/lib/Thelia/Type/IntToCombinedStringsListType.php +++ b/core/lib/Thelia/Type/IntToCombinedStringsListType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class IntToCombinedStringsListType implements TypeInterface +class IntToCombinedStringsListType extends BaseType { public function getType() { @@ -124,4 +124,14 @@ class IntToCombinedStringsListType implements TypeInterface return true; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/IntType.php b/core/lib/Thelia/Type/IntType.php index 8e2ec4fd8..5aa146e60 100755 --- a/core/lib/Thelia/Type/IntType.php +++ b/core/lib/Thelia/Type/IntType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class IntType implements TypeInterface +class IntType extends BaseType { public function getType() { @@ -44,4 +44,14 @@ class IntType implements TypeInterface { return $this->isValid($value) ? $value : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/JsonType.php b/core/lib/Thelia/Type/JsonType.php index 5c92182a8..502a43953 100755 --- a/core/lib/Thelia/Type/JsonType.php +++ b/core/lib/Thelia/Type/JsonType.php @@ -28,7 +28,7 @@ namespace Thelia\Type; * */ -class JsonType implements TypeInterface +class JsonType extends BaseType { public function getType() { @@ -46,4 +46,14 @@ class JsonType implements TypeInterface { return $this->isValid($value) ? json_decode($value, true) : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/ModelType.php b/core/lib/Thelia/Type/ModelType.php index 9eacef094..a8ab8c553 100755 --- a/core/lib/Thelia/Type/ModelType.php +++ b/core/lib/Thelia/Type/ModelType.php @@ -30,7 +30,7 @@ use Thelia\Exception\TypeException; * @author Etienne Roudeix * */ -class ModelType implements TypeInterface +class ModelType extends BaseType { protected $expectedModelActiveRecord = null; @@ -63,4 +63,14 @@ class ModelType implements TypeInterface { return $this->isValid($value) ? $value : null; } + + public function getFormType() + { + return 'text'; + } + + public function getFormOptions() + { + return array(); + } } diff --git a/core/lib/Thelia/Type/ModelValidIdType.php b/core/lib/Thelia/Type/ModelValidIdType.php index 9ae94e497..a9bfec7b5 100755 --- a/core/lib/Thelia/Type/ModelValidIdType.php +++ b/core/lib/Thelia/Type/ModelValidIdType.php @@ -30,7 +30,7 @@ use Thelia\Exception\TypeException; * @author Etienne Roudeix * */ -class ModelValidIdType implements TypeInterface +class ModelValidIdType extends BaseType { protected $expectedModelActiveRecordQuery = null; @@ -67,4 +67,23 @@ class ModelValidIdType implements TypeInterface return $this->isValid($value) ? $queryClass::create()->findPk($value) : null; } + + public function getFormType() + { + return 'choice'; + } + + public function getFormOptions() + { + $queryClass = $this->expectedModelActiveRecordQuery; + + $choices = array(); + foreach($queryClass::create()->find() as $item) { + $choices[$item->getId()] = method_exists($item, "getTitle") ? $item->getTitle() : $item->getId(); + } + + return array( + "choices" => $choices, + ); + } } diff --git a/core/lib/Thelia/Type/TypeInterface.php b/core/lib/Thelia/Type/TypeInterface.php index b293b1783..99e2f77e0 100755 --- a/core/lib/Thelia/Type/TypeInterface.php +++ b/core/lib/Thelia/Type/TypeInterface.php @@ -22,12 +22,13 @@ /*************************************************************************************/ namespace Thelia\Type; +use Symfony\Component\Validator\ExecutionContextInterface; + /** * * @author Etienne Roudeix * */ - interface TypeInterface { public function getType(); @@ -35,4 +36,8 @@ interface TypeInterface public function isValid($value); public function getFormattedValue($value); + + public function getFormType(); + public function getFormOptions(); + public function verifyForm($value, ExecutionContextInterface $context); } diff --git a/install/insert.sql b/install/insert.sql index 8e6585a5b..7a5b34ca9 100755 --- a/install/insert.sql +++ b/install/insert.sql @@ -19,7 +19,7 @@ INSERT INTO `config` (`name`, `value`, `secured`, `hidden`, `created_at`, `updat ('image_cache_dir_from_web_root', 'cache/images', 0, 0, NOW(), NOW()), ('document_cache_dir_from_web_root', 'cache/documents', 0, 0, NOW(), NOW()), ('currency_rate_update_url', 'http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml', 0, 0, NOW(), NOW()), -('page_not_found_view', '404', 0, 0, NOW(), NOW()), +('page_not_found_view', '404.html', 0, 0, NOW(), NOW()), ('passed_url_view', 'passed-url', 0, 0, NOW(), NOW()), ('use_tax_free_amounts', 0, 0, 0, NOW(), NOW()), ('process_assets', '1', 0, 0, NOW(), NOW()), @@ -28,7 +28,8 @@ INSERT INTO `config` (`name`, `value`, `secured`, `hidden`, `created_at`, `updat ('thelia_customer_remember_me_cookie_name', 'tcrmcn', 0, 0, NOW(), NOW()), ('thelia_customer_remember_me_cookie_expiration', 31536000, 0, 0, NOW(), NOW()), ('session_config.handlers', 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeFileSessionHandler', 0, 0, NOW(), NOW()), -('company_name','', 0, 0, NOW(), NOW()) +('company_name','', 0, 0, NOW(), NOW()), +('contact_email','', 0, 0, NOW(), NOW()) ; @@ -39,6 +40,8 @@ INSERT INTO `module` (`id`, `code`, `type`, `activate`, `position`, `full_namesp (4, 'FakeCB', 3, 0, 2, 'FakeCB\\FakeCB', NOW(), NOW()); INSERT INTO `module_i18n` (`id`, `locale`, `title`, `description`, `chapo`, `postscriptum`) VALUES +('1', 'en_US', 'Debug bar', NULL, NULL, NULL), +('1', 'fr_FR', 'Debug bar', NULL, NULL, NULL), ('2', 'en_US', '72h delivery', NULL, NULL, NULL), ('2', 'fr_FR', 'Livraison par colissimo en 72h', NULL, NULL, NULL); @@ -275,7 +278,6 @@ INSERT INTO `country` (`id`, `area_id`, `isocode`, `isoalpha2`, `isoalpha3`, `by (187, NULL, '862', 'VE', 'VEN', 0, NOW(), NOW()), (188, NULL, '704', 'VN', 'VNM', 0, NOW(), NOW()), (189, NULL, '887', 'YE', 'YEM', 0, NOW(), NOW()), -(190, NULL, '807', 'MK', 'MKD', 0, NOW(), NOW()), (191, NULL, '180', 'CD', 'COD', 0, NOW(), NOW()), (192, NULL, '894', 'ZM', 'ZMB', 0, NOW(), NOW()), (193, NULL, '716', 'ZW', 'ZWE', 0, NOW(), NOW()), @@ -915,9 +917,6 @@ INSERT INTO `country_i18n` (`id`, `locale`, `title`, `description`, `chapo`, `po (189, 'en_US', 'Yemen', '', '', ''), (189, 'es_ES', 'Yemen', '', '', ''), (189, 'fr_FR', 'Yémen', '', '', ''), -(190, 'en_US', 'Yougoslavia', '', '', ''), -(190, 'es_ES', 'Yugoslavia', '', '', ''), -(190, 'fr_FR', 'Yougoslavie', '', '', ''), (191, 'en_US', 'Zaire', '', '', ''), (191, 'es_ES', 'Zaire', '', '', ''), (191, 'fr_FR', 'Zaïre', '', '', ''), @@ -1193,3 +1192,101 @@ INSERT INTO `order_status_i18n` (`id`, `locale`, `title`, `description`, `chapo` (4, 'fr_FR', 'Envoyée', '', '', ''), (5, 'en_US', 'Canceled', '', '', ''), (5, 'fr_FR', 'Annulée', '', '', ''); + + +/** +generated with command : php Thelia thelia:generate-resources --output sql + */ +INSERT INTO resource (`id`, `code`, `created_at`, `updated_at`) VALUES +(NULL, 'admin.address.view', NOW(), NOW()), +(NULL, 'admin.address.create', NOW(), NOW()), +(NULL, 'admin.address.update', NOW(), NOW()), +(NULL, 'admin.address.delete', NOW(), NOW()), +(NULL, 'admin.configuration.admin.view', NOW(), NOW()), +(NULL, 'admin.configuration.admin.create', NOW(), NOW()), +(NULL, 'admin.configuration.admin.update', NOW(), NOW()), +(NULL, 'admin.configuration.admin.delete', NOW(), NOW()), +(NULL, 'admin.configuration.area.view', NOW(), NOW()), +(NULL, 'admin.configuration.area.create', NOW(), NOW()), +(NULL, 'admin.configuration.area.update', NOW(), NOW()), +(NULL, 'admin.configuration.area.delete', NOW(), NOW()), +(NULL, 'admin.configuration.attribute.view', NOW(), NOW()), +(NULL, 'admin.configuration.attribute.create', NOW(), NOW()), +(NULL, 'admin.configuration.attribute.update', NOW(), NOW()), +(NULL, 'admin.configuration.attribute.delete', NOW(), NOW()), +(NULL, 'admin.category.view', NOW(), NOW()), +(NULL, 'admin.category.create', NOW(), NOW()), +(NULL, 'admin.category.update', NOW(), NOW()), +(NULL, 'admin.category.delete', NOW(), NOW()), +(NULL, 'admin.configuration.view', NOW(), NOW()), +(NULL, 'admin.configuration.create', NOW(), NOW()), +(NULL, 'admin.configuration.update', NOW(), NOW()), +(NULL, 'admin.configuration.delete', NOW(), NOW()), +(NULL, 'admin.content.view', NOW(), NOW()), +(NULL, 'admin.content.create', NOW(), NOW()), +(NULL, 'admin.content.update', NOW(), NOW()), +(NULL, 'admin.content.delete', NOW(), NOW()), +(NULL, 'admin.configuration.country.view', NOW(), NOW()), +(NULL, 'admin.configuration.country.create', NOW(), NOW()), +(NULL, 'admin.configuration.country.update', NOW(), NOW()), +(NULL, 'admin.configuration.country.delete', NOW(), NOW()), +(NULL, 'admin.coupon.view', NOW(), NOW()), +(NULL, 'admin.coupon.create', NOW(), NOW()), +(NULL, 'admin.coupon.update', NOW(), NOW()), +(NULL, 'admin.coupon.delete', NOW(), NOW()), +(NULL, 'admin.configuration.currency.view', NOW(), NOW()), +(NULL, 'admin.configuration.currency.create', NOW(), NOW()), +(NULL, 'admin.configuration.currency.update', NOW(), NOW()), +(NULL, 'admin.configuration.currency.delete', NOW(), NOW()), +(NULL, 'admin.customer.view', NOW(), NOW()), +(NULL, 'admin.customer.create', NOW(), NOW()), +(NULL, 'admin.customer.update', NOW(), NOW()), +(NULL, 'admin.customer.delete', NOW(), NOW()), +(NULL, 'admin.configuration.feature.view', NOW(), NOW()), +(NULL, 'admin.configuration.feature.create', NOW(), NOW()), +(NULL, 'admin.configuration.feature.update', NOW(), NOW()), +(NULL, 'admin.configuration.feature.delete', NOW(), NOW()), +(NULL, 'admin.folder.view', NOW(), NOW()), +(NULL, 'admin.folder.create', NOW(), NOW()), +(NULL, 'admin.folder.update', NOW(), NOW()), +(NULL, 'admin.folder.delete', NOW(), NOW()), +(NULL, 'admin.configuration.language.view', NOW(), NOW()), +(NULL, 'admin.configuration.language.create', NOW(), NOW()), +(NULL, 'admin.configuration.language.update', NOW(), NOW()), +(NULL, 'admin.configuration.language.delete', NOW(), NOW()), +(NULL, 'admin.configuration.mailing-system.view', NOW(), NOW()), +(NULL, 'admin.configuration.mailing-system.create', NOW(), NOW()), +(NULL, 'admin.configuration.mailing-system.update', NOW(), NOW()), +(NULL, 'admin.configuration.mailing-system.delete', NOW(), NOW()), +(NULL, 'admin.configuration.message.view', NOW(), NOW()), +(NULL, 'admin.configuration.message.create', NOW(), NOW()), +(NULL, 'admin.configuration.message.update', NOW(), NOW()), +(NULL, 'admin.configuration.message.delete', NOW(), NOW()), +(NULL, 'admin.configuration.module.view', NOW(), NOW()), +(NULL, 'admin.configuration.module.create', NOW(), NOW()), +(NULL, 'admin.configuration.module.update', NOW(), NOW()), +(NULL, 'admin.configuration.module.delete', NOW(), NOW()), +(NULL, 'admin.order.view', NOW(), NOW()), +(NULL, 'admin.order.create', NOW(), NOW()), +(NULL, 'admin.order.update', NOW(), NOW()), +(NULL, 'admin.order.delete', NOW(), NOW()), +(NULL, 'admin.product.view', NOW(), NOW()), +(NULL, 'admin.product.create', NOW(), NOW()), +(NULL, 'admin.product.update', NOW(), NOW()), +(NULL, 'admin.product.delete', NOW(), NOW()), +(NULL, 'admin.configuration.profile.view', NOW(), NOW()), +(NULL, 'admin.configuration.profile.create', NOW(), NOW()), +(NULL, 'admin.configuration.profile.update', NOW(), NOW()), +(NULL, 'admin.configuration.profile.delete', NOW(), NOW()), +(NULL, 'admin.configuration.shipping-zone.view', NOW(), NOW()), +(NULL, 'admin.configuration.shipping-zone.create', NOW(), NOW()), +(NULL, 'admin.configuration.shipping-zone.update', NOW(), NOW()), +(NULL, 'admin.configuration.shipping-zone.delete', NOW(), NOW()), +(NULL, 'admin.configuration.tax.view', NOW(), NOW()), +(NULL, 'admin.configuration.tax.create', NOW(), NOW()), +(NULL, 'admin.configuration.tax.update', NOW(), NOW()), +(NULL, 'admin.configuration.tax.delete', NOW(), NOW()), +(NULL, 'admin.configuration.template.view', NOW(), NOW()), +(NULL, 'admin.configuration.template.create', NOW(), NOW()), +(NULL, 'admin.configuration.template.update', NOW(), NOW()), +(NULL, 'admin.configuration.template.delete', NOW(), NOW()); diff --git a/install/thelia.sql b/install/thelia.sql index 4371aa4f5..1e96ee783 100755 --- a/install/thelia.sql +++ b/install/thelia.sql @@ -50,7 +50,7 @@ CREATE TABLE `product` FOREIGN KEY (`tax_rule_id`) REFERENCES `tax_rule` (`id`) ON UPDATE RESTRICT - ON DELETE SET NULL, + ON DELETE RESTRICT, CONSTRAINT `fk_product_template` FOREIGN KEY (`template_id`) REFERENCES `template` (`id`) @@ -365,11 +365,12 @@ CREATE TABLE `product_sale_elements` `newness` TINYINT DEFAULT 0, `weight` FLOAT DEFAULT 0, `is_default` TINYINT(1) DEFAULT 0, + `ean_code` VARCHAR(255), `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), - UNIQUE INDEX `ref_UNIQUE` (`ref`), INDEX `idx_product_sale_element_product_id` (`product_id`), + INDEX `ref` (`ref`), CONSTRAINT `fk_product_sale_element_product_id` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) @@ -775,6 +776,7 @@ CREATE TABLE `order_product` `was_new` TINYINT NOT NULL, `was_in_promo` TINYINT NOT NULL, `weight` VARCHAR(45), + `ean_code` VARCHAR(255), `tax_rule_title` VARCHAR(255), `tax_rule_description` LONGTEXT, `parent` INTEGER COMMENT 'not managed yet', @@ -929,12 +931,12 @@ CREATE TABLE `area_delivery_module` ) ENGINE=InnoDB; -- --------------------------------------------------------------------- --- group +-- profile -- --------------------------------------------------------------------- -DROP TABLE IF EXISTS `group`; +DROP TABLE IF EXISTS `profile`; -CREATE TABLE `group` +CREATE TABLE `profile` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `code` VARCHAR(30) NOT NULL, @@ -953,7 +955,7 @@ DROP TABLE IF EXISTS `resource`; CREATE TABLE `resource` ( `id` INTEGER NOT NULL AUTO_INCREMENT, - `code` VARCHAR(30) NOT NULL, + `code` VARCHAR(255) NOT NULL, `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), @@ -969,6 +971,7 @@ DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `id` INTEGER NOT NULL AUTO_INCREMENT, + `profile_id` INTEGER, `firstname` VARCHAR(100) NOT NULL, `lastname` VARCHAR(100) NOT NULL, `login` VARCHAR(100) NOT NULL, @@ -979,61 +982,39 @@ CREATE TABLE `admin` `remember_me_serial` VARCHAR(255), `created_at` DATETIME, `updated_at` DATETIME, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + INDEX `fk_admin_profile_id` (`profile_id`), + CONSTRAINT `fk_admin_profile_id` + FOREIGN KEY (`profile_id`) + REFERENCES `profile` (`id`) + ON UPDATE RESTRICT + ON DELETE RESTRICT ) ENGINE=InnoDB; -- --------------------------------------------------------------------- --- admin_group +-- profile_resource -- --------------------------------------------------------------------- -DROP TABLE IF EXISTS `admin_group`; +DROP TABLE IF EXISTS `profile_resource`; -CREATE TABLE `admin_group` +CREATE TABLE `profile_resource` ( `id` INTEGER NOT NULL AUTO_INCREMENT, - `group_id` INTEGER NOT NULL, - `admin_id` INTEGER NOT NULL, - `created_at` DATETIME, - `updated_at` DATETIME, - PRIMARY KEY (`id`,`group_id`,`admin_id`), - INDEX `idx_admin_group_group_id` (`group_id`), - INDEX `idx_admin_group_admin_id` (`admin_id`), - CONSTRAINT `fk_admin_group_group_id` - FOREIGN KEY (`group_id`) - REFERENCES `group` (`id`) - ON UPDATE RESTRICT - ON DELETE CASCADE, - CONSTRAINT `fk_admin_group_admin_id` - FOREIGN KEY (`admin_id`) - REFERENCES `admin` (`id`) - ON UPDATE RESTRICT - ON DELETE CASCADE -) ENGINE=InnoDB; - --- --------------------------------------------------------------------- --- group_resource --- --------------------------------------------------------------------- - -DROP TABLE IF EXISTS `group_resource`; - -CREATE TABLE `group_resource` -( - `id` INTEGER NOT NULL AUTO_INCREMENT, - `group_id` INTEGER NOT NULL, + `profile_id` INTEGER NOT NULL, `resource_id` INTEGER NOT NULL, `read` TINYINT DEFAULT 0, `write` TINYINT DEFAULT 0, `created_at` DATETIME, `updated_at` DATETIME, - PRIMARY KEY (`id`,`group_id`,`resource_id`), - INDEX `id_group_resource_group_id` (`group_id`), - INDEX `idx_group_resource_resource_id` (`resource_id`), - CONSTRAINT `fk_group_resource_group_id` - FOREIGN KEY (`group_id`) - REFERENCES `group` (`id`) + PRIMARY KEY (`id`,`profile_id`,`resource_id`), + INDEX `id_profile_resource_profile_id` (`profile_id`), + INDEX `idx_profile_resource_resource_id` (`resource_id`), + CONSTRAINT `fk_profile_resource_profile_id` + FOREIGN KEY (`profile_id`) + REFERENCES `profile` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE, - CONSTRAINT `fk_group_resource_resource_id` + CONSTRAINT `fk_profile_resource_resource_id` FOREIGN KEY (`resource_id`) REFERENCES `resource` (`id`) ON UPDATE RESTRICT @@ -1041,28 +1022,28 @@ CREATE TABLE `group_resource` ) ENGINE=InnoDB; -- --------------------------------------------------------------------- --- group_module +-- profile_module -- --------------------------------------------------------------------- -DROP TABLE IF EXISTS `group_module`; +DROP TABLE IF EXISTS `profile_module`; -CREATE TABLE `group_module` +CREATE TABLE `profile_module` ( `id` INTEGER NOT NULL AUTO_INCREMENT, - `group_id` INTEGER NOT NULL, + `profile_id` INTEGER NOT NULL, `module_id` INTEGER, `access` TINYINT DEFAULT 0, `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), - INDEX `idx_group_module_group_id` (`group_id`), - INDEX `idx_group_module_module_id` (`module_id`), - CONSTRAINT `fk_group_module_group_id` - FOREIGN KEY (`group_id`) - REFERENCES `group` (`id`) + INDEX `idx_profile_module_profile_id` (`profile_id`), + INDEX `idx_profile_module_module_id` (`module_id`), + CONSTRAINT `fk_profile_module_profile_id` + FOREIGN KEY (`profile_id`) + REFERENCES `profile` (`id`) ON UPDATE CASCADE ON DELETE CASCADE, - CONSTRAINT `fk_group_module_module_id` + CONSTRAINT `fk_profile_module_module_id` FOREIGN KEY (`module_id`) REFERENCES `module` (`id`) ON UPDATE RESTRICT @@ -1971,12 +1952,12 @@ CREATE TABLE `module_i18n` ) ENGINE=InnoDB; -- --------------------------------------------------------------------- --- group_i18n +-- profile_i18n -- --------------------------------------------------------------------- -DROP TABLE IF EXISTS `group_i18n`; +DROP TABLE IF EXISTS `profile_i18n`; -CREATE TABLE `group_i18n` +CREATE TABLE `profile_i18n` ( `id` INTEGER NOT NULL, `locale` VARCHAR(5) DEFAULT 'en_US' NOT NULL, @@ -1985,9 +1966,9 @@ CREATE TABLE `group_i18n` `chapo` TEXT, `postscriptum` TEXT, PRIMARY KEY (`id`,`locale`), - CONSTRAINT `group_i18n_FK_1` + CONSTRAINT `profile_i18n_FK_1` FOREIGN KEY (`id`) - REFERENCES `group` (`id`) + REFERENCES `profile` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB; diff --git a/local/config/schema.xml b/local/config/schema.xml index 65928176e..7c2cf4b97 100755 --- a/local/config/schema.xml +++ b/local/config/schema.xml @@ -29,7 +29,7 @@ - + @@ -284,15 +284,16 @@ + - - - + + + @@ -610,6 +611,7 @@ + @@ -721,7 +723,7 @@
- +
@@ -738,7 +740,7 @@
- + @@ -753,6 +755,7 @@
+ @@ -761,61 +764,49 @@ - -
- - - - - - + + - - - - - - - - + +
- +
- + - - + + - + - - + + - +
- +
- + - - + + - + - - + + - + diff --git a/local/modules/Cheque/Cheque.php b/local/modules/Cheque/Cheque.php index 4516c84f3..cebaff146 100755 --- a/local/modules/Cheque/Cheque.php +++ b/local/modules/Cheque/Cheque.php @@ -23,6 +23,7 @@ namespace Cheque; +use Propel\Runtime\Connection\ConnectionInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; use Thelia\Model\ModuleImageQuery; @@ -59,17 +60,13 @@ class Cheque extends BaseModule implements PaymentModuleInterface // no special process, waiting for the cheque. } - public function install() - { - } - - public function afterActivation() + public function postActivation(ConnectionInterface $con = null) { /* insert the images from image folder if first module activation */ $module = $this->getModuleModel(); if(ModuleImageQuery::create()->filterByModule($module)->count() == 0) { - $this->deployImageFolder($module, sprintf('%s/images', __DIR__)); + $this->deployImageFolder($module, sprintf('%s/images', __DIR__), $con); } /* set module title */ @@ -82,10 +79,6 @@ class Cheque extends BaseModule implements PaymentModuleInterface ); } - public function destroy() - { - // TODO: Implement destroy() method. - } public function getCode() { diff --git a/local/modules/Cheque/Config/module.xml b/local/modules/Cheque/Config/module.xml new file mode 100755 index 000000000..1df6cf589 --- /dev/null +++ b/local/modules/Cheque/Config/module.xml @@ -0,0 +1,18 @@ + + + Cheque\Cheque + + Cheque + + + Cheque + + 1.1 + + Manuel Raynaud + mraynaud@openstudio.fr + + payment + 2.0.0 + alpha + diff --git a/local/modules/Cheque/Config/plugin.xml b/local/modules/Cheque/Config/plugin.xml deleted file mode 100755 index e69de29bb..000000000 diff --git a/local/modules/Colissimo/Colissimo.php b/local/modules/Colissimo/Colissimo.php index 7ff972feb..adbbb32c3 100755 --- a/local/modules/Colissimo/Colissimo.php +++ b/local/modules/Colissimo/Colissimo.php @@ -67,25 +67,6 @@ class Colissimo extends BaseModule implements DeliveryModuleInterface return 2; } - public function afterActivation() - { - - } - - /** - * YOU HAVE TO IMPLEMENT HERE ABSTRACT METHODD FROM BaseModule Class - * Like install and destroy - */ - public function install() - { - // TODO: Implement install() method. - } - - public function destroy() - { - // TODO: Implement destroy() method. - } - public function getCode() { return 'Colissimo'; diff --git a/local/modules/Colissimo/Config/module.xml b/local/modules/Colissimo/Config/module.xml new file mode 100644 index 000000000..1f47ad9c9 --- /dev/null +++ b/local/modules/Colissimo/Config/module.xml @@ -0,0 +1,18 @@ + + + Colissimo\Colissimo + + colisimo + + + colisimo + + 1.0 + + Manuel Raynaud + mraynaud@openstudio.fr + + delivery + 2.0.0 + alpha + diff --git a/local/modules/Colissimo/Config/plugin.xml b/local/modules/Colissimo/Config/plugin.xml deleted file mode 100755 index e69de29bb..000000000 diff --git a/local/modules/FakeCB/Config/module.xml b/local/modules/FakeCB/Config/module.xml new file mode 100644 index 000000000..0beea57f4 --- /dev/null +++ b/local/modules/FakeCB/Config/module.xml @@ -0,0 +1,18 @@ + + + FakeCB\FakeCB + + fake cb + + + simulation cb + + 1.0 + + Manuel Raynaud + mraynaud@openstudio.fr + + payment + 2.0.0 + alpha + diff --git a/local/modules/FakeCB/Config/plugin.xml b/local/modules/FakeCB/Config/plugin.xml deleted file mode 100755 index e69de29bb..000000000 diff --git a/local/modules/FakeCB/FakeCB.php b/local/modules/FakeCB/FakeCB.php index ca682fab3..58c8318da 100755 --- a/local/modules/FakeCB/FakeCB.php +++ b/local/modules/FakeCB/FakeCB.php @@ -23,6 +23,7 @@ namespace FakeCB; +use Propel\Runtime\Connection\ConnectionInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; use Thelia\Model\Base\ModuleImageQuery; @@ -59,12 +60,8 @@ class FakeCB extends BaseModule implements PaymentModuleInterface // TODO: Implement pay() method. } - public function install() - { - } - - public function afterActivation() + public function postActivation(ConnectionInterface $con = null) { /* insert the images from image folder if first module activation */ $module = $this->getModuleModel(); @@ -82,10 +79,6 @@ class FakeCB extends BaseModule implements PaymentModuleInterface ); } - public function destroy() - { - // TODO: Implement destroy() method. - } public function getCode() { diff --git a/local/modules/TheliaDebugBar/Config/module.xml b/local/modules/TheliaDebugBar/Config/module.xml new file mode 100644 index 000000000..61a4c1b0e --- /dev/null +++ b/local/modules/TheliaDebugBar/Config/module.xml @@ -0,0 +1,18 @@ + + + TheliaDebugBar\TheliaDebugBar + + debugbar for thelia + + + debugbar pour thelia + + 1.0 + + Manuel Raynaud + mraynaud@openstudio.fr + + classic + 2.0.0 + alpha + diff --git a/local/modules/TheliaDebugBar/Config/plugin.xml b/local/modules/TheliaDebugBar/Config/plugin.xml deleted file mode 100755 index e69de29bb..000000000 diff --git a/local/modules/TheliaDebugBar/Listeners/DebugBarListeners.php b/local/modules/TheliaDebugBar/Listeners/DebugBarListeners.php index c7b9d015c..5ea75a1df 100755 --- a/local/modules/TheliaDebugBar/Listeners/DebugBarListeners.php +++ b/local/modules/TheliaDebugBar/Listeners/DebugBarListeners.php @@ -45,13 +45,17 @@ class DebugBarListeners extends BaseAction implements EventSubscriberInterface { { $debugBar = $this->container->get("debugBar"); + $alternativelogger = null; + if($this->container->getParameter('kernel.debug')) { + $alternativelogger = \Thelia\Log\Tlog::getInstance(); + } $debugBar->addCollector(new PhpInfoCollector()); //$debugBar->addCollector(new MessagesCollector()); //$debugBar->addCollector(new RequestDataCollector()); $debugBar->addCollector(new TimeDataCollector()); $debugBar->addCollector(new MemoryCollector()); - $debugBar->addCollector(new PropelCollector(\Thelia\Log\Tlog::getInstance())); + $debugBar->addCollector(new PropelCollector($alternativelogger)); } /** diff --git a/local/modules/TheliaDebugBar/TheliaDebugBar.php b/local/modules/TheliaDebugBar/TheliaDebugBar.php index da9fddf12..466f50d5a 100755 --- a/local/modules/TheliaDebugBar/TheliaDebugBar.php +++ b/local/modules/TheliaDebugBar/TheliaDebugBar.php @@ -32,21 +32,6 @@ class TheliaDebugBar extends BaseModule * Like install and destroy */ - public function afterActivation() - { - - } - - public function install() - { - // TODO: Implement install() method. - } - - public function destroy() - { - // TODO: Implement destroy() method. - } - public function getCode() { return 'TheliaDebugBar'; diff --git a/templates/admin/default/ajax/address-update-modal.html b/templates/admin/default/ajax/address-update-modal.html index 39bafccea..687c51b57 100644 --- a/templates/admin/default/ajax/address-update-modal.html +++ b/templates/admin/default/ajax/address-update-modal.html @@ -1,6 +1,6 @@ {* Update an Address *} -{form name="thelia.address.update"} +{form name="thelia.admin.address.update"} {* Capture the dialog body, to pass it to the generic dialog *} {capture "edit_address_dialog"} diff --git a/templates/admin/default/configuration.html b/templates/admin/default/configuration.html index 9aa74c962..f95b623da 100644 --- a/templates/admin/default/configuration.html +++ b/templates/admin/default/configuration.html @@ -129,17 +129,17 @@ {/loop} - {loop type="auth" name="pcc3" roles="ADMIN" permissions="admin.configuration.admin_profiles"} + {loop type="auth" name="pcc3" roles="ADMIN" permissions="admin.configuration.profiles"} - - + + {/loop} {loop type="auth" name="pcc4" roles="ADMIN" permissions="admin.configuration.admin_users"} - - + + {/loop} diff --git a/templates/admin/default/customer-edit.html b/templates/admin/default/customer-edit.html index 69e1815f3..64126e053 100644 --- a/templates/admin/default/customer-edit.html +++ b/templates/admin/default/customer-edit.html @@ -28,7 +28,7 @@
- {form name="thelia.customer.modification"} + {form name="thelia.admin.customer.modification"}
@@ -221,7 +221,7 @@
{* Add an Address *} - {form name="thelia.address.create"} + {form name="thelia.admin.address.create"} {* Capture the dialog body, to pass it to the generic dialog *} {capture "address_creation_dialog"} diff --git a/templates/admin/default/customers.html b/templates/admin/default/customers.html index cfa332ae4..c5d5d2e60 100644 --- a/templates/admin/default/customers.html +++ b/templates/admin/default/customers.html @@ -161,7 +161,7 @@ {* Adding a new Category *} - {form name="thelia.customer.creation"} + {form name="thelia.admin.customer.create"} {* Capture the dialog body, to pass it to the generic dialog *} {capture "customer_creation_dialog"} diff --git a/templates/admin/default/includes/generic-warning-dialog.html b/templates/admin/default/includes/generic-warning-dialog.html new file mode 100755 index 000000000..95157e62f --- /dev/null +++ b/templates/admin/default/includes/generic-warning-dialog.html @@ -0,0 +1,34 @@ +{* + +A generic modal creation dialog template. Parameters + + dialog_id = the dialog id attribute + dialog_title = the dialog title + dialog_body = the dialog body. In most cases, this is a creation form + + dialog_ok_label = The OK button label. Default OK + + ok_button_id (optionnal) = the id of the OK button +*} + diff --git a/templates/admin/default/includes/module-block.html b/templates/admin/default/includes/module-block.html new file mode 100644 index 000000000..658557d4e --- /dev/null +++ b/templates/admin/default/includes/module-block.html @@ -0,0 +1,60 @@ +
+
+
{intl l='Back-office profiles'}{intl l='Administration profiles'}
{intl l='Back-office users'}{intl l='Administrators'}
+ + + + + + + + {module_include location='modules_table_header'} + + + + + + + {loop type="module" name="module.{$module_type}" module_type={$module_type|default:1} backend_context=1} + + + + + + {module_include location='modules_table_row'} + + + + {/loop} + +
+ {$caption_title|default:{intl l='classic modules'}} +
{intl l="Name"}{intl l="Description"}{intl l="Enable/Disable"}{intl l="Actions"}
{$TITLE}{$CHAPO} +
+ +
+ +
+
+ + {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.documentation"} + + {/loop} + + {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.edit"} + + {/loop} + + {loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.modules.delete"} + + {/loop} +
+
+ + \ No newline at end of file diff --git a/templates/admin/default/modules.html b/templates/admin/default/modules.html index 8c86c349a..86c336a04 100644 --- a/templates/admin/default/modules.html +++ b/templates/admin/default/modules.html @@ -25,221 +25,11 @@
-
-
- - - - - - - + {if $error_message}
{$error_message}
{/if} + {include file="includes/module-block.html" module_type="1" caption_title={intl l='Classic modules'}} + {include file="includes/module-block.html" module_type="2" caption_title={intl l='Delivery modules'}} + {include file="includes/module-block.html" module_type="3" caption_title={intl l='Payment modules'}} - {module_include location='modules_table_header'} - - - - - - - - - - - - {module_include location='modules_table_row'} - - - - - - - - - {module_include location='modules_table_row'} - - - - - - - - - {module_include location='modules_table_row'} - - - - -
- {intl l='Transport modules'} -
{intl l="Name"}{intl l="Description"}{intl l="Enable/Disable"}{intl l="Actions"}
TinymceEos minima maiores doloribus mollitia perspiciatis esse iusto odit error delectus aliquid! Eius, pariatur accusantium odit quidem laboriosam. -
- -
-
-
- - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.documentation"} - - {/loop} - - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.edit"} - - {/loop} - - {loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.modules.delete"} - - {/loop} -
-
So colissimoEos minima maiores doloribus mollitia perspiciatis esse iusto odit error delectus aliquid -
- -
-
-
- - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.documentation"} - - {/loop} - - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.edit"} - - {/loop} - - {loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.modules.delete"} - - {/loop} -
-
Title metaEos minima maiores doloribus mollitia perspiciatis esse iusto odit error delectus aliquid -
- -
-
-
- - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.documentation"} - - {/loop} - - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.edit"} - - {/loop} - - {loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.modules.delete"} - - {/loop} -
-
-
-
- -
-
- - - - - - - - - {module_include location='modules_table_header'} - - - - - - - - - - - - {module_include location='modules_table_row'} - - - - - - - - - {module_include location='modules_table_row'} - - - - - - - - - {module_include location='modules_table_row'} - - - - -
- {intl l='Delivery modules'} -
{intl l="Name"}{intl l="Description"}{intl l="Enable/Disable"}{intl l="Actions"}
TinymceEos minima maiores doloribus mollitia perspiciatis esse iusto odit error delectus aliquid! Eius, pariatur accusantium odit quidem laboriosam. -
- -
-
-
- - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.documentation"} - - {/loop} - - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.edit"} - - {/loop} - - {loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.modules.delete"} - - {/loop} -
-
So colissimoEos minima maiores doloribus mollitia perspiciatis esse iusto odit error delectus aliquid -
- -
-
-
- - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.documentation"} - - {/loop} - - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.edit"} - - {/loop} - - {loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.modules.delete"} - - {/loop} -
-
Title metaEos minima maiores doloribus mollitia perspiciatis esse iusto odit error delectus aliquid -
- -
-
-
- - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.documentation"} - - {/loop} - - {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.modules.edit"} - - {/loop} - - {loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.modules.delete"} - - {/loop} -
-
-
-
@@ -251,8 +41,7 @@ {* Delete module confirmation dialog *} {capture "delete_module_dialog"} - - + {/capture} {include @@ -262,10 +51,25 @@ dialog_title = {intl l="Delete a module"} dialog_message = {intl l="Do you really want to delete this module ?"} - form_action = {url path='/admin/modules/delete'} + form_action = {url path='/admin/configuration/modules/delete'} form_content = {$smarty.capture.delete_module_dialog nofilter} } + + {/block} {block name="javascript-initialization"} @@ -273,4 +77,28 @@ {javascripts file='assets/js/bootstrap-switch/bootstrap-switch.js'} {/javascripts} + + {/block} \ No newline at end of file diff --git a/templates/admin/default/profile-edit.html b/templates/admin/default/profile-edit.html index e882dc40d..b2d5fd2a4 100644 --- a/templates/admin/default/profile-edit.html +++ b/templates/admin/default/profile-edit.html @@ -1,126 +1,445 @@ {extends file="admin-layout.tpl"} -{block name="page-title"}{intl l='Edit profile'}{/block} +{block name="page-title"}{intl l='Edit a profile'}{/block} -{block name="check-permissions"}admin.profile.edit{/block} +{block name="check-permissions"}admin.configuration.profiles.edit{/block} {block name="main-content"} -
-
+ {assign oder_tab {$smarty.get.tab|default:$smarty.post.tab|default:'data'}} + {assign asked_country {$smarty.get.country|default:{country ask="default" attr="id"}}} -