|
@@ -7,6 +7,7 @@ use App\Http\Requests\API\CustomField\CreateOrUpdateRequest;
|
|
|
use App\Http\Resources\API\CustomFieldResource;
|
|
|
use App\Http\Resources\API\NamingRuleSimpleResource;
|
|
|
use App\Models\CustomField;
|
|
|
+use App\Models\Enums\CustomFieldGroupType;
|
|
|
use App\Models\NamingRule;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
@@ -29,16 +30,14 @@ class CustomFieldController extends Controller
|
|
|
*/
|
|
|
public function store(CreateOrUpdateRequest $request)
|
|
|
{
|
|
|
- if (Auth::user()->super_admin) {
|
|
|
- $namingRule = NamingRule::query()->where("id", $request->group)->first();
|
|
|
- if (!in_array(strtolower($request->group), config("custom-field.groups")) && !$namingRule) {
|
|
|
+ switch ($request->input('group_type')) {
|
|
|
+ case CustomFieldGroupType::NAMING_RULE->value:
|
|
|
+ NamingRule::query()->findOrFail($request->input('group'));
|
|
|
+ break;
|
|
|
+ case CustomFieldGroupType::DICTIONARY->value:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
return $this->forbidden("Operation without permission");
|
|
|
- }
|
|
|
- } else {
|
|
|
- $namingRule = NamingRule::query()->where("company_id", Auth::user()->company_id)->where("id", $request->group)->first();
|
|
|
- if (! $namingRule) {
|
|
|
- return $this->forbidden('Naming rule does not exist');
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
CustomField::query()->updateOrCreate([
|