# |
Jul 7th 2021, 17:10 |
tyler.adam.lazenby |
and I am not sure why |
# |
Jul 7th 2021, 17:10 |
tyler.adam.lazenby |
it saves the user but the customer ID is being saved as null |
# |
Jul 7th 2021, 17:09 |
tyler.adam.lazenby |
```$validator ->scalar('customer_id') ->maxLength('customer_id', 255) ->requirePresence('customer_id', 'create') ->notEmptyString('customer_id');``` |
# |
Jul 7th 2021, 17:09 |
slackebot2 |
'time_updated' => true, 'forgot_pw_token' => true, 'customer_id' => false, 'user_type_id' => true, 'operator' => true, 'state_owner' => true, 'new_user_type' => true, 'authority' => true, ];``` |
# |
Jul 7th 2021, 17:09 |
slackebot2 |
individual fields accessible as needed. * * @var array */ protected $_accessible = [ 'user_username' => true, 'user_email' => true, 'user_first_name' => true, 'user_last_name' => true, 'user_password' => true, 'user_type' => true, 'operator_id' => true, 'state_owner_id' => true, 'forgot_pw_token_ts' => true, 'time_created' => true, |
# |
Jul 7th 2021, 17:09 |
tyler.adam.lazenby |
```class User extends Entity implements IdentityInterface, \Authorization\IdentityInterface { use LazyLoadEntityTrait; /** * Fields that can be mass assigned using newEntity() or patchEntity(). * * Note that when '*' is set to true, this allows all unspecified fields to * be mass assigned. For security purposes, it is advised to set '*' to false * (or remove it), and explicitly make |
# |
Jul 7th 2021, 17:09 |
slackebot2 |
($this->Users->save($user)) { $this->Flash->success(__('The user has been saved.')); return $this->redirect(['action' => 'index']); } $this->Flash->error(__('The user could not be saved. Please, try again.')); }``` |
# |
Jul 7th 2021, 17:09 |
tyler.adam.lazenby |
```$customer = $this->Woocommerce->createCustomer($woo_data); if (!$customer->id) { $this->Flash->error(__('The user could not be created on the shop. Please try again. If this problem persists please contact support.')); } else { $data['customer_id'] = $customer->id; debug($data); $user = $this->Users->patchEntity($user, $data, ['associations' => ['Operators']]); dd($user); if |
# |
Jul 7th 2021, 17:09 |
tyler.adam.lazenby |
I am trying to set a unique value called customer_id into my users table. It is for a woocommerce data and it isn't saving |
# |
Jul 7th 2021, 16:20 |
dereuromark |
yeah, it is about the files in git :) so in the end it should completely not matter what the folders are, if they are created in the right env anyway. |
# |
Jul 7th 2021, 16:16 |
bato |
I don't think git tracks directory permissions. Anyway stay close to prod evn makes sense |
# |
Jul 7th 2021, 16:11 |
kevin.pfeifer |
indeed |
# |
Jul 7th 2021, 16:11 |
dereuromark |
yeah, which is not relevant for normal files :) |
# |
Jul 7th 2021, 16:11 |
kevin.pfeifer |
git ignores/forgets executable bit by default as far as i know |
# |
Jul 7th 2021, 16:10 |
dereuromark |
either way, staying local more close to prod env is a plus. that includes the creation of files and folders, which in return takes all issues away about permissions |
# |
Jul 7th 2021, 16:10 |
dereuromark |
but yeah, depends on the deploy strategy. |
# |
Jul 7th 2021, 16:10 |
dereuromark |
git doesnt lose permissions when checking it out :) at least for me it doesnt |
# |
Jul 7th 2021, 16:06 |
bato |
:thinking_face: I think the `i18n` shell script is intended to be used in "dev" instance (local, docker, container, etc...) to create translations. Then it will be pushed to a (probably) git repository. When the repository is cloned that permissions are lost. So I can't figure out why there is need of 770 permissions, but maybe it's my limitations. Thanks for the support as usual ;) |
# |
Jul 7th 2021, 14:52 |
dereuromark |
https://stackoverflow.com/questions/19547085/differences-between-chmod-755-vs-750-permissions-set => why would world need access to those if the servers are properly (securely) configured? |
# |
Jul 7th 2021, 14:52 |
dereuromark |
linux :) which means local PC but internet apps (which means not so local apps on the web) are not targeting you yourself on your computer, but on remote servers |
# |
Jul 7th 2021, 14:47 |
bato |
in linux system the folder created are 775 by default, why it should be 770? |
# |
Jul 7th 2021, 14:44 |
dereuromark |
yeah, I didnt have any issues so far, and I run multiple apps through the same container. |
# |
Jul 7th 2021, 14:43 |
dereuromark |
i dont think it is a bug, the permissions shouldnt be larger by default for any folder. any if you use the tools I mentioned there will never be such issues. |
# |
Jul 7th 2021, 14:42 |
bato |
devilbox seems cool also if missing PHP 7.4 and 8. Anyway I think it's a bug, I'll try to open a PR later |
# |
Jul 7th 2021, 14:35 |
dereuromark |
devilbox is just awesome. works ootb (pun intended). |
# |
Jul 7th 2021, 14:34 |
dereuromark |
thats why you always use a box (vm or docker) :) |
# |
Jul 7th 2021, 14:30 |
bato |
If missing `Locale`folder `bin/cake i18n extract` create new one with permissions `770` If web server isn't the creator or doesn't belong to the group, it can't access to that folder |
# |
Jul 7th 2021, 14:24 |
bato |
solved... it was a permission issue on `Locale` folder |
# |
Jul 7th 2021, 14:11 |
bmudda |
@alamnaryab you can try this plugin for populating created and modified by attributes: https://github.com/UseMuffin/Footprint |
# |
Jul 7th 2021, 13:59 |
dereuromark |
I would debug the __d() function and what it looks up in the end, what language it tries to find etc |
# |
Jul 7th 2021, 13:59 |
dereuromark |
cake generates the mo file, no need to do anything from normal po usage |
# |
Jul 7th 2021, 13:57 |
kevin.pfeifer |
So you edit the `my_plugin.po` with something like PoEdit and generate a `my_plugin.mo` from it, right? |
# |
Jul 7th 2021, 13:55 |
bato |
Uhm... so should it work automatically? No need to configure anything else in plugin? |
# |
Jul 7th 2021, 13:51 |
dereuromark |
well, 2 should also be fine. https://github.com/cakephp/localized/tree/3.x/src/Locale |
# |
Jul 7th 2021, 13:50 |
dereuromark |
I always used 3 letter iso codes in cake3 ( https://github.com/dereuromark/cakephp-tools/tree/cake3/src/Locale ), not sure if that makes a difference in the end. |
# |
Jul 7th 2021, 13:36 |
slackebot2 |
forcing locale `I18n::setLocale('it')` but the strings aren't translated. Do I need to add/load a translator for the plugin? |
# |
Jul 7th 2021, 13:36 |
bato |
Hi all, I need some help with localization in a plugin for CakePHP 3.9. I have a plugin named `MyPlugin` and I made translations using `__d()` and domain `my_plugin`. Then I have extracted transaltions with `./bin/cake I18n extract --plugin MyPlugin` generating `my_plugin.pot` file inside the plugin `src/Locale` directory. I have generated `src/Locale/it/my_plugin.po` file with `./bin/cake i18n init it -p MyPlugin` To test it I'm |
# |
Jul 7th 2021, 13:14 |
dereuromark |
As only the controller should have access to request data. |
# |
Jul 7th 2021, 13:13 |
dereuromark |
Usually you would pass in that data from the controller layer into the model layer and then the behavior can use that. |
# |
Jul 7th 2021, 13:13 |
dereuromark |
I think Utils one contains one. Well, they are also cheating a bit using global auth forwarding :) But better than nothing. https://github.com/cakemanager/cakephp-utils/blob/master/src/Model/Behavior/WhoDidItBehavior.php |
# |
Jul 7th 2021, 13:11 |
dereuromark |
At the very least a session class wrapper would be appropriate here. |