mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 22:47:32 -05:00 
			
		
		
		
	Merge remote-tracking branch 'origin/ClientRegistrationRefactor' into v5-develop
This commit is contained in:
		
						commit
						5f0614066c
					
				@ -20,82 +20,102 @@ class ClientRegistrationFields
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'first_name',
 | 
			
		||||
                'required' => true,
 | 
			
		||||
                'visible' => true,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'last_name',
 | 
			
		||||
                'required' => true,
 | 
			
		||||
                'visible' => true,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'email',
 | 
			
		||||
                'required' => true,
 | 
			
		||||
                'visible' => true,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'phone',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => true,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'password',
 | 
			
		||||
                'required' => true,
 | 
			
		||||
                'visible' => true,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'name',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'website',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'address1',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'address2',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'city',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'state',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'postal_code',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'country_id',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'custom_value1',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'custom_value2',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'custom_value3',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'custom_value4',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'public_notes',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'vat_number',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
            [
 | 
			
		||||
                'key' => 'currency_id',
 | 
			
		||||
                'required' => false,
 | 
			
		||||
                'visible' => false,
 | 
			
		||||
            ],
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -40,8 +40,8 @@ class RegisterRequest extends FormRequest
 | 
			
		||||
        $rules = [];
 | 
			
		||||
 | 
			
		||||
        foreach ($this->company()->client_registration_fields as $field) {
 | 
			
		||||
            if ($field['required']) {
 | 
			
		||||
                $rules[$field['key']] = ['bail','required'];
 | 
			
		||||
            if ($field['visible']) {
 | 
			
		||||
                $rules[$field['key']] = $field['required'] ? ['bail','required'] : ['sometimes'];
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,41 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
use App\Models\Company;
 | 
			
		||||
use Illuminate\Support\Facades\Schema;
 | 
			
		||||
use Illuminate\Database\Schema\Blueprint;
 | 
			
		||||
use Illuminate\Database\Migrations\Migration;
 | 
			
		||||
 | 
			
		||||
return new class extends Migration
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Run the migrations.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function up()
 | 
			
		||||
    {
 | 
			
		||||
        Company::query()->cursor()->each(function ($company){
 | 
			
		||||
 | 
			
		||||
            $crfs = $company->client_registration_fields;
 | 
			
		||||
            
 | 
			
		||||
            foreach($crfs as $key => $crf)
 | 
			
		||||
            {
 | 
			
		||||
                $crfs[$key]['visible'] = $crfs[$key]['required'];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $company->client_registration_fields = $crfs;
 | 
			
		||||
            $company->save();
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reverse the migrations.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function down()
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
@ -29,7 +29,7 @@
 | 
			
		||||
                <div class="grid grid-cols-12 gap-4 mt-10">
 | 
			
		||||
                    @if($register_company->client_registration_fields)
 | 
			
		||||
                    @foreach($register_company->client_registration_fields as $field)
 | 
			
		||||
                        @if($field['required'])
 | 
			
		||||
                        @if($field['visible'])
 | 
			
		||||
                            <div class="col-span-12 md:col-span-6">
 | 
			
		||||
                                <section class="flex items-center">
 | 
			
		||||
                                    <label 
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user