Log message #4202219

# At Username Text
# Sep 6th 2019, 20:12 ricksaccous you enjoy it? @alexdd55976
# Sep 6th 2019, 20:11 alexdd55976 cake1.x :)
# Sep 6th 2019, 20:11 alexdd55976 oh.. finally working on an old project again…
# Sep 6th 2019, 19:59 ricksaccous TableClass->setConnection('connectionName');
# Sep 6th 2019, 19:55 itmpls a table's `defaultConnectionName` method returns the schema to use, but what if im looping through multiple ones? what's a recommended way to set that dynamically?
# Sep 6th 2019, 19:34 emiliano ok, I will test, thanks a lot
# Sep 6th 2019, 19:30 ndm ``` $this->removeBehavior('AwsCognito'); $this->addBehavior('CognitoUsers'); ```
# Sep 6th 2019, 19:29 ndm The `implementedMethods` option will just create an alias that you can call via the table object where the behavior is attached to, it won't change any implementation details. Extending the behavior is OK if you need to change what it does, just unload the original behavior first.
# Sep 6th 2019, 19:29 ndm What would you expect that code to do?
# Sep 6th 2019, 19:28 emiliano sorry for the trouble but I'm working with that and thanks a lot for your time
# Sep 6th 2019, 19:25 emiliano $this->addBehavior('CognitoUsers', Configure::read('AwsCognito')); $this->addBehavior('CognitoUsers', [ 'implementedMethods' => [ 'beforeSaveIdata' => 'beforeSave', ] ] );
# Sep 6th 2019, 19:25 emiliano and this:
# Sep 6th 2019, 19:25 slackebot Best solution for most cases. */ $entity = $this->createCognitoUserIdata($entity); }else{ //enable/disable user if($entity->active andand $entity->isDirty('active')){ $this->enableCognitoUser($entity); }elseif(!$entity->active andand $entity->isDirty('active')){ $this->disableCognitoUser($entity); } } }
# Sep 6th 2019, 19:25 emiliano protected $_defaultConfig = [ 'implementedMethods' => [ 'beforeSaveIdata' => 'beforeSave', ] ]; public function beforeSaveIdata(Event $event, EntityInterface $entity, ArrayObject $options) { if($entity->isNew()){ /* better to have the cognito creation callback be beforeSave instead of afterSave, so that we only create users once we're sure they're in the cognito user pool.
# Sep 6th 2019, 19:24 emiliano if use a public function? for example, I test but dont work beforeSaveIdata -> beforeSave
# Sep 6th 2019, 19:23 emiliano Is there no way to use only that function that I need to replace?
# Sep 6th 2019, 19:22 emiliano ok, thanks a lot
# Sep 6th 2019, 19:15 ndm @emiliano `createCognitoUser` is not an exposed/public method, so your config will just hide all public methods, resolving the naming conflict. Looking at the source of the plugin you should consider my other suggestion, that is unload the original behavior, otherwise both behaviors will run, and you don't want that.
# Sep 6th 2019, 19:14 daniel.upshaw Any word on when Cake 4 will be released?
# Sep 6th 2019, 19:11 emiliano I need that instead of createCognitoUser use createCognitoUserIdata is ok?
# Sep 6th 2019, 19:09 emiliano It doesn't throw error now, but keep taking the other function createCognitoUser
# Sep 6th 2019, 19:09 emiliano I do this: protected $_defaultConfig = [ 'implementedMethods' => [ 'createCognitoUserIdata' => 'createCognitoUser', ] ];
# Sep 6th 2019, 18:37 ricksaccous yeah that's prob the easiest option
# Sep 6th 2019, 18:37 racmiroslav @ricksaccous thank you. I will set ID’s directly then
# Sep 6th 2019, 18:37 ricksaccous request data type data
# Sep 6th 2019, 18:37 ricksaccous not the actual entities
# Sep 6th 2019, 18:37 ricksaccous yeah, when you use newEntity it expects request data
# Sep 6th 2019, 18:36 ricksaccous you might be able to do $payment->invoice->toArray();
# Sep 6th 2019, 18:36 racmiroslav @ricksaccous ok, that is the problem. I did not know that.
# Sep 6th 2019, 18:36 ricksaccous if $payment->invoice is already an entity it won't work
# Sep 6th 2019, 18:36 ricksaccous you do realize you can't pass an entity right? it has to be request data
# Sep 6th 2019, 18:36 ricksaccous @racmiroslav let me see the $payment->invoice
# Sep 6th 2019, 18:35 racmiroslav @ricksaccous I use exactly the same code as you sent, just different variable names.
# Sep 6th 2019, 18:34 ricksaccous that's the most common mistake
# Sep 6th 2019, 18:34 ricksaccous perhaps your data is not formatted properly
# Sep 6th 2019, 18:34 ricksaccous and is the data you are passing an array?
# Sep 6th 2019, 18:34 ricksaccous why wouldn't you use that, why are you using patchEntity?
# Sep 6th 2019, 18:34 ricksaccous @racmiroslav so you are doing that and the data isn't hyrdrating?
# Sep 6th 2019, 18:33 slackebot <ricksaccous>
# Sep 6th 2019, 18:32 ndm @emiliano Well I assumed that it's your own plugin... unless there's events you can hook in, then overriding might be the way to go. Maybe you should remove the behavior that is added by the `ApiUsersTable` class that you're extending (ie replace it so to speak), but I'm not sure as I don't know what exactly that plugin is doing.
# Sep 6th 2019, 18:30 ricksaccous you're right, i just like doing it, lol