Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class m180117_170602_add_reports_to_BE_marketplace_menu extends CsDbMigration
- {
- /**
- * @inheritDoc
- */
- public function __construct()
- {
- Yii::app()->getModule('marketplace');
- }
- public function safeUp()
- {
- $parentId = $this->queryScalar("SELECT Id FROM Menu WHERE ParentId IS NULL AND Operation = 'MenuMarketplace'");
- if (!$parentId) {
- throw new Exception('cannot find parent menu');
- }
- $priority = $this->queryScalar('SELECT COALESCE(MAX(Priority),0)+1 FROM Menu WHERE ParentId = :parent', ['parent' => $parentId]);
- $this->execute('SET FOREIGN_KEY_CHECKS = 0;');
- $this->insert('AuthItem', ['name' => 'MenuMarketplace_Reports', 'type' => 1]);
- $this->insert('Menu', [
- 'MenuLabel' => 'Rapoarte marketplace',
- 'ParentId' => $parentId,
- 'Operation' => 'MenuMarketplace_Reports',
- 'URL' => '',
- 'Priority' => $priority,
- 'ModuleId' => 'marketplace',
- 'CreationDate' => date('Y-m-d H:i:s'),
- 'CreationUserId' => Yii::app()->user->id,
- 'LastUpdate' => date('Y-m-d H:i:s'),
- 'LastUpdateUserId' => Yii::app()->user->id,
- ]);
- $parentId = $this->dbConnection->getLastInsertID();
- $this->insert('AuthItem', ['name' => 'MenuMarketplace_Reports_Transport', 'type' => 1]);
- $this->insert('Menu', [
- 'MenuLabel' => 'Raport Transport',
- 'ParentId' => $parentId,
- 'Operation' => 'MenuMarketplace_Reports_Transport',
- 'URL' => '/backend/marketplace/reports/transport',
- 'Priority' => 1,
- 'ModuleId' => 'marketplace',
- 'CreationDate' => date('Y-m-d H:i:s'),
- 'CreationUserId' => Yii::app()->user->id,
- 'LastUpdate' => date('Y-m-d H:i:s'),
- 'LastUpdateUserId' => Yii::app()->user->id,
- ]);
- $this->execute('SET FOREIGN_KEY_CHECKS = 1;');
- }
- public function safeDown()
- {
- $this->execute('SET FOREIGN_KEY_CHECKS = 0;');
- $this->delete('AuthItem', ['name' => 'MenuMarketplace_Reports_Transport']);
- $this->delete('Menu', ['URL' => '/backend/marketplace/reports/transport']);
- $this->delete('AuthItem', ['name' => 'MenuMarketplace_Reports']);
- $this->delete('Menu', ['MenuLabel' => 'Raport Transport']);
- $this->execute('SET FOREIGN_KEY_CHECKS = 1;');
- }
- protected function queryScalar($query, $params=[])
- {
- return $this->dbConnection->createCommand($query)->queryScalar($params);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement