protected function beforeDelete()
 {
     // Delete options
     $options = new CustomSettingOptionRepository();
     $options->setWhereSettingId($this->getId());
     $options->deleteObjectCollection();
     return $this;
 }
 /**
  * @param string $module
  * @param string $key
  * @return array
  */
 private static function getSelectTypeSettingOption($module, $key)
 {
     $setting = self::getCustomSetting($module, $key);
     if (!$setting) {
         return [];
     }
     $options = new CustomSettingOptionRepository();
     $options->setWhereSettingId($setting->getId());
     return $options->getPairs('option_name');
 }
 public function setting_options()
 {
     $id = abs((int) $_GET['id']);
     if (!$id) {
         return;
     }
     $setting = new CustomSetting($id);
     $breadcrumbs = BreadCrumbs::getInstance()->addCrumb(ucfirst(P))->addCrumb($setting->getModule())->addCrumb($setting->getKey());
     $options = new CustomSettingOptionRepository();
     $options->setWhereSettingId($id);
     $table = CmsTable::getInstance()->setHeadingTitle('Options')->addData($options)->addColumn(ColumnData::getInstance('option_name')->enableOrderableColumn())->addColumn(ColumnEdit::getInstance('edit')->href('?p=' . P . '&do=setting_options_edit&id={%id%}')->width('1%')->value(__('Edit')))->addColumn(ColumnDelete::getInstance('delete')->href('?p=' . P . '&do=_setting_options_delete&id={%id%}'));
     $columns = Columns::getInstance()->add($breadcrumbs)->add('<a class="btn btn-success" href="?p=' . P . '&do=setting_options_add&id=' . $id . '">Add Setting Option</a>', ['align' => 'right']);
     echo $columns;
     echo $table;
 }