Merge branch 'akaunting:master' into master
This commit is contained in:
		| @@ -228,6 +228,8 @@ export default { | ||||
|                                 '#efef32' | ||||
|                             ], | ||||
|                             min_date: false, | ||||
|                             categoriesBasedTypes: null, | ||||
|                             isParentCategoryDisabled: true, | ||||
|                         } | ||||
|                     }, | ||||
|  | ||||
| @@ -288,6 +290,28 @@ export default { | ||||
|                             .catch(error => { | ||||
|                             }); | ||||
|                         }, | ||||
|  | ||||
|                         updateParentCategories(event) { | ||||
|                             if (event === '') { | ||||
|                                 return; | ||||
|                             } | ||||
|  | ||||
|                             if (typeof JSON.parse(this.form.categories)[event] === 'undefined') { | ||||
|                                 this.categoriesBasedTypes = []; | ||||
|                                 this.isParentCategoryDisabled = true; | ||||
|  | ||||
|                                 return; | ||||
|                             } | ||||
|  | ||||
|                             if (this.form.parent_category_id) { | ||||
|                                 this.form.parent_category_id = null; | ||||
|  | ||||
|                                 return; | ||||
|                             } | ||||
|  | ||||
|                             this.categoriesBasedTypes = JSON.parse(this.form.categories)[event]; | ||||
|                             this.isParentCategoryDisabled = false; | ||||
|                         }, | ||||
|                     } | ||||
|                 }) | ||||
|             }); | ||||
|   | ||||
| @@ -13,7 +13,6 @@ return [ | ||||
|     | | ||||
|     */ | ||||
|  | ||||
|     'password' => 'Passwords must be at least six characters and match the confirmation.', | ||||
|     'reset' => 'Your password has been reset!', | ||||
|     'sent' => 'We have emailed your password reset link!', | ||||
|     'throttled' => 'Please wait before retrying.', | ||||
|   | ||||
| @@ -14,6 +14,7 @@ return [ | ||||
|     */ | ||||
|  | ||||
|     'accepted' => 'The :attribute must be accepted.', | ||||
|     'accepted_if' => 'The :attribute must be accepted when :other is :value.', | ||||
|     'active_url' => 'The :attribute is not a valid URL.', | ||||
|     'after' => 'The :attribute must be a date after :date.', | ||||
|     'after_or_equal' => 'The :attribute must be a date after or equal to :date.', | ||||
| @@ -24,10 +25,10 @@ return [ | ||||
|     'before' => 'The :attribute must be a date before :date.', | ||||
|     'before_or_equal' => 'The :attribute must be a date before or equal to :date.', | ||||
|     'between' => [ | ||||
|         'numeric' => 'The :attribute must be between :min and :max.', | ||||
|         'file' => 'The :attribute must be between :min and :max kilobytes.', | ||||
|         'string' => 'The :attribute must be between :min and :max characters.', | ||||
|         'array' => 'The :attribute must have between :min and :max items.', | ||||
|         'file' => 'The :attribute must be between :min and :max kilobytes.', | ||||
|         'numeric' => 'The :attribute must be between :min and :max.', | ||||
|         'string' => 'The :attribute must be between :min and :max characters.', | ||||
|     ], | ||||
|     'boolean' => 'The :attribute field must be true or false.', | ||||
|     'confirmed' => 'The :attribute confirmation does not match.', | ||||
| @@ -35,27 +36,31 @@ return [ | ||||
|     'date' => 'The :attribute is not a valid date.', | ||||
|     'date_equals' => 'The :attribute must be a date equal to :date.', | ||||
|     'date_format' => 'The :attribute does not match the format :format.', | ||||
|     'declined' => 'The :attribute must be declined.', | ||||
|     'declined_if' => 'The :attribute must be declined when :other is :value.', | ||||
|     'different' => 'The :attribute and :other must be different.', | ||||
|     'digits' => 'The :attribute must be :digits digits.', | ||||
|     'digits_between' => 'The :attribute must be between :min and :max digits.', | ||||
|     'dimensions' => 'The :attribute has invalid image dimensions.', | ||||
|     'distinct' => 'The :attribute field has a duplicate value.', | ||||
|     'doesnt_start_with' => 'The :attribute may not start with one of the following: :values.', | ||||
|     'email' => 'The :attribute must be a valid email address.', | ||||
|     'ends_with' => 'The :attribute must end with one of the following: :values.', | ||||
|     'enum' => 'The selected :attribute is invalid.', | ||||
|     'exists' => 'The selected :attribute is invalid.', | ||||
|     'file' => 'The :attribute must be a file.', | ||||
|     'filled' => 'The :attribute field must have a value.', | ||||
|     'gt' => [ | ||||
|         'numeric' => 'The :attribute must be greater than :value.', | ||||
|         'file' => 'The :attribute must be greater than :value kilobytes.', | ||||
|         'string' => 'The :attribute must be greater than :value characters.', | ||||
|         'array' => 'The :attribute must have more than :value items.', | ||||
|         'file' => 'The :attribute must be greater than :value kilobytes.', | ||||
|         'numeric' => 'The :attribute must be greater than :value.', | ||||
|         'string' => 'The :attribute must be greater than :value characters.', | ||||
|     ], | ||||
|     'gte' => [ | ||||
|         'numeric' => 'The :attribute must be greater than or equal :value.', | ||||
|         'file' => 'The :attribute must be greater than or equal :value kilobytes.', | ||||
|         'string' => 'The :attribute must be greater than or equal :value characters.', | ||||
|         'array' => 'The :attribute must have :value items or more.', | ||||
|         'file' => 'The :attribute must be greater than or equal to :value kilobytes.', | ||||
|         'numeric' => 'The :attribute must be greater than or equal to :value.', | ||||
|         'string' => 'The :attribute must be greater than or equal to :value characters.', | ||||
|     ], | ||||
|     'image' => 'The :attribute must be an image.', | ||||
|     'in' => 'The selected :attribute is invalid.', | ||||
| @@ -66,61 +71,70 @@ return [ | ||||
|     'ipv6' => 'The :attribute must be a valid IPv6 address.', | ||||
|     'json' => 'The :attribute must be a valid JSON string.', | ||||
|     'lt' => [ | ||||
|         'numeric' => 'The :attribute must be less than :value.', | ||||
|         'file' => 'The :attribute must be less than :value kilobytes.', | ||||
|         'string' => 'The :attribute must be less than :value characters.', | ||||
|         'array' => 'The :attribute must have less than :value items.', | ||||
|         'file' => 'The :attribute must be less than :value kilobytes.', | ||||
|         'numeric' => 'The :attribute must be less than :value.', | ||||
|         'string' => 'The :attribute must be less than :value characters.', | ||||
|     ], | ||||
|     'lte' => [ | ||||
|         'numeric' => 'The :attribute must be less than or equal :value.', | ||||
|         'file' => 'The :attribute must be less than or equal :value kilobytes.', | ||||
|         'string' => 'The :attribute must be less than or equal :value characters.', | ||||
|         'array' => 'The :attribute must not have more than :value items.', | ||||
|         'file' => 'The :attribute must be less than or equal to :value kilobytes.', | ||||
|         'numeric' => 'The :attribute must be less than or equal to :value.', | ||||
|         'string' => 'The :attribute must be less than or equal to :value characters.', | ||||
|     ], | ||||
|     'mac_address' => 'The :attribute must be a valid MAC address.', | ||||
|     'max' => [ | ||||
|         'numeric' => 'The :attribute must not be greater than :max.', | ||||
|         'file' => 'The :attribute must not be greater than :max kilobytes.', | ||||
|         'string' => 'The :attribute must not be greater than :max characters.', | ||||
|         'array' => 'The :attribute must not have more than :max items.', | ||||
|         'file' => 'The :attribute must not be greater than :max kilobytes.', | ||||
|         'numeric' => 'The :attribute must not be greater than :max.', | ||||
|         'string' => 'The :attribute must not be greater than :max characters.', | ||||
|     ], | ||||
|     'mimes' => 'The :attribute must be a file of type: :values.', | ||||
|     'mimetypes' => 'The :attribute must be a file of type: :values.', | ||||
|     'min' => [ | ||||
|         'numeric' => 'The :attribute must be at least :min.', | ||||
|         'file' => 'The :attribute must be at least :min kilobytes.', | ||||
|         'string' => 'The :attribute must be at least :min characters.', | ||||
|         'array' => 'The :attribute must have at least :min items.', | ||||
|         'file' => 'The :attribute must be at least :min kilobytes.', | ||||
|         'numeric' => 'The :attribute must be at least :min.', | ||||
|         'string' => 'The :attribute must be at least :min characters.', | ||||
|     ], | ||||
|     'multiple_of' => 'The :attribute must be a multiple of :value.', | ||||
|     'not_in' => 'The selected :attribute is invalid.', | ||||
|     'not_regex' => 'The :attribute format is invalid.', | ||||
|     'numeric' => 'The :attribute must be a number.', | ||||
|     'password' => 'The password is incorrect.', | ||||
|     'password' => [ | ||||
|         'letters' => 'The :attribute must contain at least one letter.', | ||||
|         'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.', | ||||
|         'numbers' => 'The :attribute must contain at least one number.', | ||||
|         'symbols' => 'The :attribute must contain at least one symbol.', | ||||
|         'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.', | ||||
|     ], | ||||
|     'present' => 'The :attribute field must be present.', | ||||
|     'prohibited' => 'The :attribute field is prohibited.', | ||||
|     'prohibited_if' => 'The :attribute field is prohibited when :other is :value.', | ||||
|     'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.', | ||||
|     'prohibits' => 'The :attribute field prohibits :other from being present.', | ||||
|     'regex' => 'The :attribute format is invalid.', | ||||
|     'required' => 'The :attribute field is required.', | ||||
|     'required_array_keys' => 'The :attribute field must contain entries for: :values.', | ||||
|     'required_if' => 'The :attribute field is required when :other is :value.', | ||||
|     'required_unless' => 'The :attribute field is required unless :other is in :values.', | ||||
|     'required_with' => 'The :attribute field is required when :values is present.', | ||||
|     'required_with_all' => 'The :attribute field is required when :values are present.', | ||||
|     'required_without' => 'The :attribute field is required when :values is not present.', | ||||
|     'required_without_all' => 'The :attribute field is required when none of :values are present.', | ||||
|     'prohibited' => 'The :attribute field is prohibited.', | ||||
|     'prohibited_if' => 'The :attribute field is prohibited when :other is :value.', | ||||
|     'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.', | ||||
|     'same' => 'The :attribute and :other must match.', | ||||
|     'size' => [ | ||||
|         'numeric' => 'The :attribute must be :size.', | ||||
|         'file' => 'The :attribute must be :size kilobytes.', | ||||
|         'string' => 'The :attribute must be :size characters.', | ||||
|         'array' => 'The :attribute must contain :size items.', | ||||
|         'file' => 'The :attribute must be :size kilobytes.', | ||||
|         'numeric' => 'The :attribute must be :size.', | ||||
|         'string' => 'The :attribute must be :size characters.', | ||||
|     ], | ||||
|     'starts_with' => 'The :attribute must start with one of the following: :values.', | ||||
|     'string' => 'The :attribute must be a string.', | ||||
|     'timezone' => 'The :attribute must be a valid zone.', | ||||
|     'timezone' => 'The :attribute must be a valid timezone.', | ||||
|     'unique' => 'The :attribute has already been taken.', | ||||
|     'uploaded' => 'The :attribute failed to upload.', | ||||
|     'url' => 'The :attribute format is invalid.', | ||||
|     'url' => 'The :attribute must be a valid URL.', | ||||
|     'uuid' => 'The :attribute must be a valid UUID.', | ||||
|  | ||||
|     /* | ||||
|   | ||||
| @@ -51,7 +51,10 @@ | ||||
|                             :currency="$currency" | ||||
|                         /> | ||||
|  | ||||
|                         <x-form.group.account form-group-class="col-span-10 lg:col-span-5 xl:col-span-2 account-input" /> | ||||
|                         <x-form.group.account  | ||||
|                             form-group-class="col-span-10 lg:col-span-5 xl:col-span-2 account-input"  | ||||
|                             selected="{{ request('account_id', setting('default.account')) }}" | ||||
|                         /> | ||||
|  | ||||
|                         <div class="flex items-end lg:justify-end xl:justify-start col-span-10 xl:col-span-2"> | ||||
|                             <x-button | ||||
| @@ -167,11 +170,11 @@ | ||||
|                                 <table class="min-w-full divide-y divide-gray-200"> | ||||
|                                     <tbody class="float-right"> | ||||
|                                         <tr class="border-b"> | ||||
|                                             <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                             <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                                 {{ trans('reconciliations.opening_balance') }}: | ||||
|                                             </th> | ||||
|  | ||||
|                                             <td id="closing-balance" class="w-1/12 ltr:text-right rtl:text-left"> | ||||
|                                             <td id="closing-balance" class="w-3/12 ltr:text-right rtl:text-left"> | ||||
|                                                 <span class="w-auto pl-6 text-sm"> | ||||
|                                                     <x-money :amount="$opening_balance" :currency="$account->currency_code" convert /> | ||||
|                                                 </span> | ||||
| @@ -179,11 +182,11 @@ | ||||
|                                         </tr> | ||||
|  | ||||
|                                         <tr class="border-b"> | ||||
|                                             <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                             <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                                 {{ trans('reconciliations.closing_balance') }}: | ||||
|                                             </th> | ||||
|  | ||||
|                                             <td id="closing-balance" class="w-1/12 text-right"> | ||||
|                                             <td id="closing-balance" class="w-3/12 text-right"> | ||||
|                                                 <x-form.input.money | ||||
|                                                     name="closing_balance_total" | ||||
|                                                     value="0" | ||||
| @@ -199,11 +202,11 @@ | ||||
|                                         </tr> | ||||
|  | ||||
|                                         <tr class="border-b"> | ||||
|                                             <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                             <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                                 {{ trans('reconciliations.cleared_amount') }}: | ||||
|                                             </th> | ||||
|  | ||||
|                                             <td id="cleared-amount" class="w-1/12 text-right"> | ||||
|                                             <td id="cleared-amount" class="w-3/12 text-right"> | ||||
|                                                 <x-form.input.money | ||||
|                                                     name="cleared_amount_total" | ||||
|                                                     value="0" | ||||
| @@ -219,13 +222,13 @@ | ||||
|                                         </tr> | ||||
|  | ||||
|                                         <tr class="border-b"> | ||||
|                                             <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black cursor-pointer"> | ||||
|                                             <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black cursor-pointer"> | ||||
|                                                 <span class="px-2 py-1 rounded-xl" :class="difference"> | ||||
|                                                     {{ trans('general.difference') }} | ||||
|                                                 </span> | ||||
|                                             </th> | ||||
|  | ||||
|                                             <td id="difference" class="w-1/12 ltr:pl-6 rtl:pr-0 text-right"> | ||||
|                                             <td id="difference" class="w-3/12 ltr:pl-6 rtl:pr-0 text-right"> | ||||
|                                                 <div class="difference-money"> | ||||
|                                                     <x-form.input.money | ||||
|                                                         name="difference_total" | ||||
|   | ||||
| @@ -105,11 +105,11 @@ | ||||
|                             <table class="min-w-full divide-y divide-gray-200"> | ||||
|                                 <tbody class="float-right"> | ||||
|                                     <tr class="border-b"> | ||||
|                                         <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                         <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                             {{ trans('reconciliations.opening_balance') }}: | ||||
|                                         </th> | ||||
|  | ||||
|                                         <td id="closing-balance" class="w-1/12 text-right"> | ||||
|                                         <td id="closing-balance" class="w-3/12 text-right"> | ||||
|                                             <span class="w-auto pl-6 text-sm"> | ||||
|                                                 <x-money :amount="$opening_balance" :currency="$account->currency_code" convert /> | ||||
|                                             </span> | ||||
| @@ -117,11 +117,11 @@ | ||||
|                                     </tr> | ||||
|  | ||||
|                                     <tr class="border-b"> | ||||
|                                         <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                         <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                             {{ trans('reconciliations.closing_balance') }}: | ||||
|                                         </th> | ||||
|  | ||||
|                                         <td id="closing-balance" class="w-1/12 text-right"> | ||||
|                                         <td id="closing-balance" class="w-3/12 text-right"> | ||||
|                                             <x-form.input.money | ||||
|                                                 name="closing_balance_total" | ||||
|                                                 value="0" | ||||
| @@ -137,11 +137,11 @@ | ||||
|                                     </tr> | ||||
|  | ||||
|                                     <tr class="border-b"> | ||||
|                                         <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                         <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black"> | ||||
|                                             {{ trans('reconciliations.cleared_amount') }}: | ||||
|                                         </th> | ||||
|  | ||||
|                                         <td id="cleared-amount" class="w-1/12 text-right"> | ||||
|                                         <td id="cleared-amount" class="w-3/12 text-right"> | ||||
|                                             <x-form.input.money | ||||
|                                                 name="cleared_amount_total" | ||||
|                                                 value="0" | ||||
| @@ -157,13 +157,13 @@ | ||||
|                                     </tr> | ||||
|  | ||||
|                                     <tr> | ||||
|                                         <th class="w-11/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black cursor-pointer"> | ||||
|                                         <th class="w-9/12 ltr:pr-6 rtl:pl-6 py-4 ltr:text-left rtl:text-right whitespace-nowrap text-sm font-bold text-black cursor-pointer"> | ||||
|                                             <span class="px-2 py-1 rounded-xl" :class="difference"> | ||||
|                                                 {{ trans('general.difference') }} | ||||
|                                             </span> | ||||
|                                         </th> | ||||
|  | ||||
|                                         <td id="difference" class="w-1/12 ltr:pl-6 rtl:pr-0 text-right"> | ||||
|                                         <td id="difference" class="w-3/12 ltr:pl-6 rtl:pr-0 text-right"> | ||||
|                                             <div class="difference-money"> | ||||
|                                                 <x-form.input.money | ||||
|                                                     name="difference_total" | ||||
|   | ||||
| @@ -125,6 +125,10 @@ | ||||
|         @change="{{ $attributes['change'] }}($event)" | ||||
|         @endif | ||||
|  | ||||
|         @if (! empty($attributes['focus'])) | ||||
|         @focus="{{ $attributes['focus'] }}" | ||||
|         @endif | ||||
|  | ||||
|         @if (! empty($attributes['visible-change'])) | ||||
|         @visible-change="{{ $attributes['visible-change'] }}" | ||||
|         @endif | ||||
|   | ||||
| @@ -4,7 +4,11 @@ | ||||
|  | ||||
|         <x-form.group.color name="color" label="{{ trans('general.color') }}" form-group-class="col-span-6" /> | ||||
|  | ||||
|         <x-form.input.hidden name="type" :value="$type" /> | ||||
|         <x-form.group.select name="parent_id" label="{{ trans('general.parent') . ' ' . trans_choice('general.categories', 1) }}" :options="[]" not-required focus="updateParentCategories(form.type)" dynamicOptions="categoriesBasedTypes" sort-options="false" disabled="isParentCategoryDisabled" form-group-class="col-span-6" /> | ||||
|  | ||||
|         <x-form.input.hidden name="categories" value="{{ json_encode($categories) }}" /> | ||||
|  | ||||
|         <x-form.input.hidden name="type" :value="'{{ $type }}'" @change="updateParentCategories" /> | ||||
|         <x-form.input.hidden name="enabled" value="1" /> | ||||
|     </div> | ||||
| </x-form> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user