diff --git a/app/plugins/CoreEnroller/src/Model/Entity/BasicPetitionAttributeSet.php b/app/plugins/CoreEnroller/src/Model/Entity/BasicPetitionAttributeSet.php deleted file mode 100644 index b810bd47d..000000000 --- a/app/plugins/CoreEnroller/src/Model/Entity/BasicPetitionAttributeSet.php +++ /dev/null @@ -1,49 +0,0 @@ - - */ - protected $_accessible = [ - '*' => true, - 'id' => false, - 'slug' => false, - ]; -} diff --git a/app/plugins/CoreEnroller/src/Model/Table/BasicPetitionAttributeSetsTable.php b/app/plugins/CoreEnroller/src/Model/Table/BasicPetitionAttributeSetsTable.php deleted file mode 100644 index d0f7bb5bb..000000000 --- a/app/plugins/CoreEnroller/src/Model/Table/BasicPetitionAttributeSetsTable.php +++ /dev/null @@ -1,125 +0,0 @@ -addBehavior('Changelog'); - $this->addBehavior('Log'); - $this->addBehavior('Timestamp'); - - $this->setTableType(\App\Lib\Enum\TableTypeEnum::Artifact); - - // Define associations - $this->belongsTo('CoreEnroller.BasicAttributeCollectors'); - $this->belongsTo('Petition'); - - $this->setDisplayField('mail'); - - $this->setPrimaryLink('petition_id'); - $this->setRequiresCO(true); - - $this->setPermissions([ - // Actions that operate over an entity (ie: require an $id) - 'entity' => [ - 'delete' => false, - 'edit' => false, - 'view' => ['platformAdmin', 'coAdmin'] - ], - // Actions that operate over a table (ie: do not require an $id) - 'table' => [ - 'add' => false, - 'index' => ['platformAdmin', 'coAdmin'] - ] - ]); - } - - /** - * Set validation rules. - * - * @since COmanage Registry v5.1.0 - * @param Validator $validator Validator - * @return Validator Validator - */ - - public function validationDefault(Validator $validator): Validator { - $schema = $this->getSchema(); - - $validator->add('petition_id', [ - 'content' => ['rule' => 'isInteger'] - ]); - $validator->notEmptyString('petition_id'); - - $validator->add('basic_attribute_collector_id', [ - 'content' => ['rule' => 'isInteger'] - ]); - $validator->notEmptyString('basic_attribute_collector_id'); - - // For now we allow any attribute to be empty and rely on upsert and the UI to - // enforce requirements. - foreach(['honorific', 'given', 'middle', 'family', 'suffix'] as $f) { - $validator->add($f, [ - 'size' => ['rule' => ['validateMaxLength', ['column' => $schema->getColumn($f)]], - 'provider' => 'table'], - 'filter' => ['rule' => ['validateInput'], - 'provider' => 'table'] - ]); - $validator->allowEmptyString($f); - } - - $this->registerStringValidation($validator, $schema, 'mail', false); - $validator->add('mail', [ - 'content' => ['rule' => ['email'], - 'message' => __d('error', 'input.invalid.email')] - ]); - - return $validator; - } -} diff --git a/app/plugins/CoreEnroller/src/Model/Table/InvitationAcceptersTable.php b/app/plugins/CoreEnroller/src/Model/Table/InvitationAcceptersTable.php index f3f19eeb3..2fbdfe5fa 100644 --- a/app/plugins/CoreEnroller/src/Model/Table/InvitationAcceptersTable.php +++ b/app/plugins/CoreEnroller/src/Model/Table/InvitationAcceptersTable.php @@ -162,6 +162,15 @@ public function prepare( $petition->status = PetitionStatusEnum::PendingAcceptance; $Petitions->saveOrFail($petition); + + // Record history + $Petitions->PetitionHistoryRecords->record( + petitionId: $petition->id, + enrollmentFlowStepId: $step->id, + action: PetitionActionEnum::InvitationViewed, + comment: __d('result', 'Petitions.viewed.inv') + // actorPersonId + ); } return true;