FIle - /trunk/views/php/admin/settings/users_profile_fields.php

/trunk/views/php/admin/settings/users_profile_fields.php
1,991 bytes
January 20, 2025 at 08:22
4




<?php
declare(strict_types 1);

namespace 
Views\admin\settings;

use 
Apex\Svc\{ViewAppDb};
use 
App\Users\Models\ProfileField;

/**
 * Render the template.
 */
class users_profile_fields
{

    
/**
     * Render
     */
    
public function render(View $viewApp $appDb $db):void
    
{

        
// Create profile_field
        
if ($app->getAction() == 'create') {

        
// Get order num
            
if (!$order_num $db->getField("SELECT max(order_num) FROM user_profile_fields")) {
                
$order_num=0;
            }
            
$order_num++;

            
$obj ProfileField::insert([
                
'show_in_form' => $app->post('show_in_form'),
                
'order_num' => $order_num,
                
'form_field' => $app->post('form_field'),
                
'alias' => $app->post('alias'),
                
'default_value' => $app->post('default_value'),
                
'name' => $app->post('name'),
                
'select_options' => $app->post('select_options'),
            ]);

            
// Callout
            
$view->addCallout("Successfully created new profile_field");

        
// Update profile_field
        
} elseif ($app->getAction() == 'update') {

        
// Get model
            
if (!$obj ProfileField::whereId($app->post('profile_field_id'))) {
                throw new 
\Exception("No record exists with the id#, " $app->post('profile_field_id'));
            }

            
// Update record
            
$obj->save([
                
'show_in_form' => $app->post('show_in_form'),
                
'order_num' => $app->post('order_num'),
                
'form_field' => $app->post('form_field'),
                
'alias' => $app->post('alias'),
                
'default_value' => $app->post('default_value'),
                
'name' => $app->post('name'),
                
'options' => $app->post('options'),

            ]);

            
// Add callout
            
$view->addCallout("Successfully updated profile_field");
        }

    }

}