optional preview && dynamic profile fields

This commit is contained in:
vedatakd 2021-10-26 18:37:33 +03:00
parent 1fc5cbbd5d
commit 819764a012
7 changed files with 57 additions and 28 deletions

View File

@ -23,6 +23,7 @@ return [
'ads' => [
'title' => 'visiosoft.module.advs::section.ads',
'fields' => [
'preview_mode',
'show_finish_and_publish_date',
'latest-limit',
'popular_ads_limit',

View File

@ -485,4 +485,11 @@ return [
'default_value' => false,
]
],
'preview_mode' => [
'type' => 'anomaly.field_type.boolean',
'bind' => 'adv.preview_mode',
'config' => [
'default_value' => true,
],
],
];

View File

@ -133,7 +133,7 @@ return [
],
'market_place' => [
'name' => 'Market Place',
'instructions' => 'If the marketplace is down, your site will act as ecommerce. For example,
'instructions' => 'If the marketplace is down, your site will act as ecommerce. For example,
some fields in the profile such as ads, dopings, messages, sale, packages and store are not visible and
removes corporate membership.'
],
@ -280,9 +280,9 @@ return [
'name' => 'Show Tax Field',
'instructions' => 'When this option is enabled, you can set the tax rate on the ad creation page.'
],
'hide_contact_created_at' => [
'name' => 'Hide Contact Fields For in Create New Ad'
],
'hide_contact_created_at' => [
'name' => 'Hide Contact Fields For in Create New Ad'
],
'show_input_flag' => [
'name' => 'Show Flags on Input',
'instructions' => 'Show flag and description on translatable inputs'
@ -293,5 +293,9 @@ return [
],
'only_email_login' => [
'name' => 'Only Email Login'
]
],
'preview_mode' => [
'name' => 'Preview Mode',
'instructions' => 'When this mode is enabled, the ad is previewed by the user.'
],
];

View File

@ -107,7 +107,7 @@
</div>
</div>
<div class="select-price">
{% set HideStandardPrice = setting_value('visiosoft.module.advs::hide_standard_price_field') or setting_value('visiosoft.module.advs::market_place') != true ? ' d-none' %}
{% set HideStandardPrice = setting_value('visiosoft.module.advs::hide_standard_price_field') or setting_value('visiosoft.module.advs::market_place') != true ? ' d-none' : '' %}
<label>
<span class="{{ HideStandardPrice }}">
@ -123,7 +123,7 @@
</div>
<div class="d-flex">
<div class="d-flex flex-fill {{ HideStandardPrice }}">
<div class=" flex-fill {{ (HideStandardPrice) ? HideStandardPrice : 'd-flex' }}">
{% set standardPriceValue = form.fields.standard_price.value|split('.') %}
<input class="mt-3 border-0 text-right standard-price-field whole-price flex-fill"
placeholder="0" value="{{ standardPriceValue|first }}"

View File

@ -926,7 +926,12 @@ class AdvsController extends PublicController
event(new EditedAd($before_editing, $adv));
}
return redirect(route('advs_preview', [$this->request->update_id]));
if (config('adv.preview_mode')) {
return redirect(route('advs_preview', [$this->request->update_id]));
}
return redirect(route('adv_detail_seo', [$adv->slug, $adv->id]));
}
/* New Create Adv */
@ -1013,7 +1018,7 @@ class AdvsController extends PublicController
'visiosoft.module.advs::new-ad/new-create',
compact(
'id', 'cats_d', 'cats', 'adv', 'custom_fields', 'options',
'hidePrice','is_options', 'configurations', 'rawClassified'
'hidePrice', 'is_options', 'configurations', 'rawClassified'
)
);
}

View File

@ -7,25 +7,6 @@ class ProfileFormBuilder extends FormBuilder
{
protected $model = UserModel::class;
protected $fields = [
'gsm_phone',
'office_phone',
'land_phone',
'identification_number',
'education' => [
'type' => 'anomaly.field_type.select',
'config' => [
'handler' => 'Visiosoft\ProfileModule\OptionHandler\EducationOptions@handle',
]
],
'education_part' => 'anomaly.field_type.select',
'profession',
'birthday',
'register_type',
'facebook_address',
'google_address',
];
protected $actions = [
'update' => [
'text' => 'visiosoft.module.profile::button.update_profile'

View File

@ -0,0 +1,31 @@
<?php namespace Visiosoft\ProfileModule\Profile\Profile;
use Anomaly\UsersModule\User\UserModel;
class ProfileFormFields
{
public function handle(ProfileFormBuilder $builder, UserModel $model)
{
$fields = [
'gsm_phone',
'office_phone',
'land_phone',
'identification_number',
'education' => [
'type' => 'anomaly.field_type.select',
'config' => [
'handler' => 'Visiosoft\ProfileModule\OptionHandler\EducationOptions@handle',
]
],
'education_part' => 'anomaly.field_type.select',
'profession',
'birthday',
'register_type',
'facebook_address',
'google_address',
];
$assignments = $model->getAssignments();
$builder->setFields(array_merge($fields, $assignments->notLocked()->fieldSlugs()));
}
}