Commit 4b9b670b authored by Nicolas Widart's avatar Nicolas Widart

Adding the update setting functionality

parent a2d272e4
...@@ -48,11 +48,10 @@ class EloquentSettingRepository extends EloquentBaseRepository implements Settin ...@@ -48,11 +48,10 @@ class EloquentSettingRepository extends EloquentBaseRepository implements Settin
foreach ($settings as $settingName => $settingValues) { foreach ($settings as $settingName => $settingValues) {
// Check if setting exists // Check if setting exists
if ($setting = $this->findByName($settingName)) { if ($setting = $this->findByName($settingName)) {
$this->updateSetting($setting, $settingValues); continue;
} }
$this->createForName($settingName, $settingValues); $this->createForName($settingName, $settingValues);
} }
} }
/** /**
...@@ -86,9 +85,32 @@ class EloquentSettingRepository extends EloquentBaseRepository implements Settin ...@@ -86,9 +85,32 @@ class EloquentSettingRepository extends EloquentBaseRepository implements Settin
{ {
$setting = new $this->model; $setting = new $this->model;
$setting->name = $settingName; $setting->name = $settingName;
$this->setTranslatedAttributes($settingValues, $setting);
return $setting->save();
}
/**
* Update the given setting
* @param $setting
* @param $settingValues
*/
private function updateSetting($setting, $settingValues)
{
$this->setTranslatedAttributes($settingValues, $setting);
return $setting->save();
}
/**
* @param $settingValues
* @param $setting
*/
private function setTranslatedAttributes($settingValues, $setting)
{
foreach ($settingValues as $lang => $value) { foreach ($settingValues as $lang => $value) {
$setting->translate($lang)->value = $value; $setting->translate($lang)->value = $value;
} }
$setting->save();
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment