Skip to content

Commit

Permalink
fixing issue w/ legacy sort order reference
Browse files Browse the repository at this point in the history
  • Loading branch information
nateiler committed May 17, 2018
1 parent 4f54114 commit 148706f
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 25 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
Changelog
=========
## 1.0.0-rc.11 - 2018-05-08
### Fixed
- Reference to legacy sort order property

## 1.0.0-rc.10 - 2018-05-08
### Fixed
- Typo in migration file renaming which prevented the migration from running
Expand Down
6 changes: 3 additions & 3 deletions src/Organizations.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public function init()
'organizationUserAssociations' => services\OrganizationUserAssociations::class,
'records' => services\Records::class,
'users' => services\Users::class,
'userAssociations' => services\UserOrganizationAssociations::class,
'userOrganizationAssociations' => services\UserOrganizationAssociations::class,
'userTypes' => services\UserTypes::class,
'userTypeAssociations' => services\UserTypeAssociations::class,
]);
Expand Down Expand Up @@ -387,9 +387,9 @@ public function getUsers()
/**
* @return services\UserOrganizationAssociations
*/
public function getUserAssociations()
public function getUserOrganizationAssociations()
{
return $this->get('userAssociations');
return $this->get('userOrganizationAssociations');
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/actions/users/Action.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public function run(
$model = new UserAssociation([
'userId' => $user->getId(),
'organizationId' => $organization->getId(),
'sortOrder' => $sortOrder
Organizations::getInstance()->getUserOrganizationAssociations()::SORT_ORDER_ATTRIBUTE => $sortOrder
]);

return $this->runInternal($model);
Expand Down
2 changes: 1 addition & 1 deletion src/actions/users/Associate.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Associate extends Action
protected function performAction(Model $model): bool
{
if (true === $this->ensureUserAssociation($model)) {
return OrganizationPlugin::getInstance()->getUserAssociations()->associate(
return OrganizationPlugin::getInstance()->getUserOrganizationAssociations()->associate(
$model
);
}
Expand Down
2 changes: 1 addition & 1 deletion src/actions/users/Dissociate.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Dissociate extends Action
protected function performAction(Model $model): bool
{
if (true === $this->ensureUserAssociation($model)) {
return OrganizationPlugin::getInstance()->getUserAssociations()->dissociate(
return OrganizationPlugin::getInstance()->getUserOrganizationAssociations()->dissociate(
$model
);
}
Expand Down
2 changes: 1 addition & 1 deletion src/elements/behaviors/UserOrganizationsBehavior.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ private function delete(User $user)
*/
private function dissociateOrganizations(User $user)
{
$associationService = OrganizationPlugin::getInstance()->getUserAssociations();
$associationService = OrganizationPlugin::getInstance()->getUserOrganizationAssociations();
foreach ($user->getOrganizations()->all() as $organization) {
$associationService->dissociate(
$associationService->create([
Expand Down
3 changes: 2 additions & 1 deletion src/migrations/Install.php
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,8 @@ protected function createTables()
'id' => $this->primaryKey(),
'userId' => $this->integer()->notNull(),
'organizationId' => $this->integer()->notNull(),
'sortOrder' => $this->smallInteger()->unsigned(),
'userOrder' => $this->smallInteger()->unsigned(),
'organizationOrder' => $this->smallInteger()->unsigned(),
'dateCreated' => $this->dateTime()->notNull(),
'dateUpdated' => $this->dateTime()->notNull(),
'uid' => $this->uid()
Expand Down
27 changes: 18 additions & 9 deletions src/migrations/m180507_121214_user_association_sort.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

namespace flipbox\organizations\migrations;

use Craft;
use craft\db\Migration;
use flipbox\organizations\records\UserAssociation;

Expand All @@ -21,17 +22,25 @@ class m180507_121214_user_association_sort extends Migration
*/
public function safeUp()
{
$this->renameColumn(
UserAssociation::tableName(),
'sortOrder',
'organizationOrder'
$table = Craft::$app->getDb()->getSchema()->getTableSchema(
UserAssociation::tableName()
);

$this->addColumn(
UserAssociation::tableName(),
'userOrder',
$this->smallInteger()->unsigned()
);
if (isset($table->columns['sortOrder'])) {
$this->renameColumn(
UserAssociation::tableName(),
'sortOrder',
'organizationOrder'
);
}

if (!isset($table->columns['userOrder'])) {
$this->addColumn(
UserAssociation::tableName(),
'userOrder',
$this->smallInteger()->unsigned()
);
}
}

/**
Expand Down
8 changes: 4 additions & 4 deletions src/records/UserAssociation.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
* @since 1.0.0
*
* @property int $organizationId
* @property int $organizationOrder
* @property int $userOrder
* @property int $organizationOrder The order which an organization lists its users
* @property int $userOrder The order which a user lists its organizations
* @property Organization $organization
* @property UserType[] $types
*/
Expand Down Expand Up @@ -62,7 +62,7 @@ public static function find()
*/
public function associate(bool $autoReorder = true): bool
{
return OrganizationPlugin::getInstance()->getUserAssociations()->associate(
return OrganizationPlugin::getInstance()->getUserOrganizationAssociations()->associate(
$this,
$autoReorder
);
Expand All @@ -73,7 +73,7 @@ public function associate(bool $autoReorder = true): bool
*/
public function dissociate(bool $autoReorder = true): bool
{
return OrganizationPlugin::getInstance()->getUserAssociations()->dissociate(
return OrganizationPlugin::getInstance()->getUserOrganizationAssociations()->dissociate(
$this,
$autoReorder
);
Expand Down
8 changes: 4 additions & 4 deletions src/services/Users.php
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public function saveAssociations(

$models = $query->all();

$associationService = OrganizationPlugin::getInstance()->getUserAssociations();
$associationService = OrganizationPlugin::getInstance()->getUserOrganizationAssociations();

$query = $associationService->getQuery([
$associationService::SOURCE_ATTRIBUTE => $user->getId() ?: false
Expand All @@ -148,7 +148,7 @@ public function dissociate(
$query,
$user,
[
OrganizationPlugin::getInstance()->getUserAssociations(),
OrganizationPlugin::getInstance()->getUserOrganizationAssociations(),
'dissociate'
]
);
Expand All @@ -168,7 +168,7 @@ public function associate(
$query,
$user,
[
OrganizationPlugin::getInstance()->getUserAssociations(),
OrganizationPlugin::getInstance()->getUserOrganizationAssociations(),
'associate'
]
);
Expand Down Expand Up @@ -227,7 +227,7 @@ private function toAssociations(
$associations = [];
$sortOrder = 1;

$associationService = OrganizationPlugin::getInstance()->getUserAssociations();
$associationService = OrganizationPlugin::getInstance()->getUserOrganizationAssociations();
$sortOrderAttribute = $associationService::SORT_ORDER_ATTRIBUTE;

$existingAssociations = $associationService->findAllByCriteria([
Expand Down

0 comments on commit 148706f

Please sign in to comment.