Skip to content
This repository has been archived by the owner on Apr 19, 2023. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
ryuring committed Apr 16, 2023
2 parents 55f192f + 58e8a1b commit 6321190
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 4 deletions.
11 changes: 7 additions & 4 deletions plugins/baser-core/src/Service/PermissionGroupsService.php
Original file line number Diff line number Diff line change
Expand Up @@ -188,10 +188,13 @@ public function getList(array $options = [])
}

/**
* プラグインを指定してアクセスルールを構築する
*
* @param string $plugin
*/
* プラグインを指定してアクセスルールを構築する
*
* @param string $plugin
* @noTodo
* @unitTest
* @checked
*/
public function buildByPlugin(string $plugin)
{
$userGroups = $this->UserGroups->find()->where(['id <>' => Configure::read('BcApp.adminGroupId')])->all();
Expand Down
3 changes: 3 additions & 0 deletions plugins/baser-core/tests/Factory/UserFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ public function suspended()
public function admin()
{
UserGroupFactory::make()->admins()->persist();
UserGroupFactory::make(['name' => 'test group1', 'title' => 'test title1'])->persist();
UserGroupFactory::make(['name' => 'test group2', 'title' => 'test title2'])->persist();
UserGroupFactory::make(['name' => 'test group3', 'title' => 'test title3'])->persist();
UsersUserGroupFactory::make()->admin()->persist();

return $this->setField('id', 1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -452,4 +452,30 @@ public function testDeleteByPlugin(): void
$result = $this->PermissionGroups->getList();
$this->assertCount(3, $result);
}

/**
* Test buildByPlugin
*
* @return void
*/
public function testBuildByPlugin(): void
{
$this->loadFixtureScenario(InitAppScenario::class);
$this->loadFixtureScenario(PermissionGroupsScenario::class);
$plugin = 'BcBlog';
$this->PermissionGroups->buildByPlugin($plugin);
$data = $this->PermissionGroups->getIndex(0, [])->where(['plugin' => $plugin])->all()->toArray();
Configure::load($plugin . '.permission', 'baser');
$settings = Configure::read('permission');
Configure::delete('permission');
$this->assertCount(count($settings), $data);

$plugin = 'BaserCore';
$this->PermissionGroups->buildByPlugin($plugin);
$data = $this->PermissionGroups->getIndex(0, [])->where(['plugin' => $plugin])->all()->toArray();
Configure::load($plugin . '.permission', 'baser');
$settings = Configure::read('permission');
Configure::delete('permission');
$this->assertCount(count($settings), $data);
}
}
6 changes: 6 additions & 0 deletions plugins/bc-mail/src/Service/MailFieldsService.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,13 @@ public function getIndex(int $mailContentId, array $queryParams = [])
$query->limit($queryParams['limit']);
}

$fields = $this->MailFields->getSchema()->columns();
if ($options['status'] === 'publish') {
if (empty($queryParams['contain'])) {
$query->contain(['MailContents' => ['Contents']])->select($fields);
} elseif (!isset($queryParams['contain']['MailContents']['Contents'])) {
$query->contain(array_merge_recursive($query->getContain(), ['MailContents' => ['Contents']]));
}
$conditions['use_field'] = true;
$conditions = array_merge($conditions, $this->MailFields->MailContents->Contents->getConditionAllowPublish());
}
Expand Down

0 comments on commit 6321190

Please sign in to comment.