diff --git a/addons/default/visiosoft/advs-module/migrations/2018_09_25_211014_visiosoft.module.advs__create_advs_fields.php b/addons/default/visiosoft/advs-module/migrations/2018_09_25_211014_visiosoft.module.advs__create_advs_fields.php index e6e21a7c7..3ab4d2d9b 100644 --- a/addons/default/visiosoft/advs-module/migrations/2018_09_25_211014_visiosoft.module.advs__create_advs_fields.php +++ b/addons/default/visiosoft/advs-module/migrations/2018_09_25_211014_visiosoft.module.advs__create_advs_fields.php @@ -250,5 +250,13 @@ class VisiosoftModuleAdvsCreateAdvsFields extends Migration 'default_value' => 0, ] ], + + // Options Fields + "adv" => [ + "type" => "anomaly.field_type.relationship", + "config" => [ + "related" => AdvModel::class, + ] + ] ]; } diff --git a/addons/default/visiosoft/advs-module/migrations/2020_06_05_120415_visiosoft.module.advs__create_options_stream.php b/addons/default/visiosoft/advs-module/migrations/2020_06_05_120415_visiosoft.module.advs__create_options_stream.php new file mode 100644 index 000000000..c00f35ae8 --- /dev/null +++ b/addons/default/visiosoft/advs-module/migrations/2020_06_05_120415_visiosoft.module.advs__create_options_stream.php @@ -0,0 +1,45 @@ + 'options', + 'title_column' => 'name', + 'translatable' => false, + 'versionable' => false, + 'trashable' => false, + 'searchable' => false, + 'sortable' => false, + ]; + + /** + * The stream assignments. + * + * @var array + */ + protected $assignments = [ + 'name' => [ + 'required' => true, + ], + 'adv' => [ + 'required' => true, + ], + ]; + +} diff --git a/addons/default/visiosoft/advs-module/resources/config/permissions.php b/addons/default/visiosoft/advs-module/resources/config/permissions.php index 33de065db..eae0b67cd 100644 --- a/addons/default/visiosoft/advs-module/resources/config/permissions.php +++ b/addons/default/visiosoft/advs-module/resources/config/permissions.php @@ -16,4 +16,9 @@ return [ 'write', 'delete', ], + 'options' => [ + 'read', + 'write', + 'delete', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/js/new-create.js b/addons/default/visiosoft/advs-module/resources/js/new-create.js index c75f3693a..4464b2885 100644 --- a/addons/default/visiosoft/advs-module/resources/js/new-create.js +++ b/addons/default/visiosoft/advs-module/resources/js/new-create.js @@ -215,5 +215,10 @@ $(document).ready(function () { price = parseInt(price.replace(/\./g, '')); let decimal = parseInt($(".priceDecimalField").val()); $('.priceHidden').find('input').val(parseFloat(price + "." + decimal)); - }) + }); + + // Add dynamic option creation + $(".options-tags").select2({ + tags: true + }); }); diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/button.php b/addons/default/visiosoft/advs-module/resources/lang/en/button.php index 75eac762f..c84a77408 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/button.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/button.php @@ -31,4 +31,5 @@ return [ 'update_category' => [ 'name' => 'Update Category' ], + 'new_option' => 'New Option', ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/permission.php b/addons/default/visiosoft/advs-module/resources/lang/en/permission.php index 762eea4c9..a75575d96 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/permission.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/permission.php @@ -49,4 +49,12 @@ return [ 'delete' => 'Can delete cf values?', ], ], + 'options' => [ + 'name' => 'Options', + 'option' => [ + 'read' => 'Can read options?', + 'write' => 'Can create/edit options?', + 'delete' => 'Can delete options?', + ], + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/section.php b/addons/default/visiosoft/advs-module/resources/lang/en/section.php index 1a3eeb889..d59a01842 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/section.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/section.php @@ -40,4 +40,7 @@ return [ 'general' => 'General', 'ads' => 'Ads', 'user' => 'User', + 'options' => [ + 'title' => 'Options', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/stream.php b/addons/default/visiosoft/advs-module/resources/lang/en/stream.php index cd23e3479..29e720836 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/stream.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/stream.php @@ -19,4 +19,7 @@ return [ 'cf_values' => [ 'name' => 'Cf values', ], + 'options' => [ + 'name' => 'Options', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig index e5c1cbac5..5a5c3e1b7 100644 --- a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig +++ b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/detail.twig @@ -34,7 +34,7 @@ - {{ addBlock('ad-detail/details',{'adv':adv})|raw }} + {{ addBlock('ad-detail/details',{'adv':adv, 'options':options})|raw }} {{ addBlock('ad-detail/widget-details',{'adv':adv})|raw }} diff --git a/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig b/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig index 435a6582b..e509c566d 100644 --- a/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig +++ b/addons/default/visiosoft/advs-module/resources/views/new-ad/new-create.twig @@ -20,6 +20,7 @@