diff --git a/addons/default/visiosoft/advs-module/migrations/2020_12_18_131819_visiosoft.module.advs__create_status_stream.php b/addons/default/visiosoft/advs-module/migrations/2020_12_18_131819_visiosoft.module.advs__create_status_stream.php new file mode 100644 index 000000000..d05cf2076 --- /dev/null +++ b/addons/default/visiosoft/advs-module/migrations/2020_12_18_131819_visiosoft.module.advs__create_status_stream.php @@ -0,0 +1,48 @@ + 'status', + 'title_column' => 'slug', + 'translatable' => true, + 'versionable' => false, + 'trashable' => true, + 'searchable' => false, + 'sortable' => false, + ]; + + protected $fields = [ + "is_system" => [ + "type" => "anomaly.field_type.boolean", + "config" => [ + "default_value" => false, + "mode" => "radio", + ] + ], + "user_access" => [ + "type" => "anomaly.field_type.boolean", + "config" => [ + "default_value" => true, + "mode" => "radio", + ] + ] + ]; + + protected $assignments = [ + 'name' => [ + 'required' => true, + 'translatable' => true, + ], + 'slug' => [ + 'required' => true, + 'unique' => true, + ], + "is_system", + "user_access" + ]; +} diff --git a/addons/default/visiosoft/advs-module/migrations/2020_12_18_134817_visiosoft.module.advs__create_user_status_field.php b/addons/default/visiosoft/advs-module/migrations/2020_12_18_134817_visiosoft.module.advs__create_user_status_field.php new file mode 100644 index 000000000..690d449c1 --- /dev/null +++ b/addons/default/visiosoft/advs-module/migrations/2020_12_18_134817_visiosoft.module.advs__create_user_status_field.php @@ -0,0 +1,26 @@ + 'advs', + ]; + + protected $fields = [ + "user_status" => [ + "type" => "anomaly.field_type.relationship", + "config" => [ + "related" => \Visiosoft\AdvsModule\Status\StatusModel::class, + "mode" => "lookup", + ] + ], + ]; + + protected $assignments = [ + 'user_status', + ]; +} diff --git a/addons/default/visiosoft/advs-module/src/AdvsModule.php b/addons/default/visiosoft/advs-module/src/AdvsModule.php index 50b814e24..532fbc93a 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModule.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModule.php @@ -24,6 +24,11 @@ class AdvsModule extends Module ], ], ], + 'status' => [ + 'buttons' => [ + 'new_status', + ], + ], 'product_options' => [ 'title' => 'visiosoft.module.advs::section.product_options.title', 'buttons' => [ diff --git a/addons/default/visiosoft/profile-module/resources/assets/js/ads.js b/addons/default/visiosoft/profile-module/resources/assets/js/ads.js index 05128b421..5f3616bd2 100644 --- a/addons/default/visiosoft/profile-module/resources/assets/js/ads.js +++ b/addons/default/visiosoft/profile-module/resources/assets/js/ads.js @@ -125,43 +125,70 @@ function addAdsRow(id, href, image, name, formatted_price, city, country, cat1, } function dropdownRow(id, type) { - var dropdown = " + `; return dropdown; } +$(document).on('click', '.adv-status-toggle', function (e) { + e.stopPropagation(); + e.preventDefault(); + + if (!$(this).next('div').hasClass('show')) { + $(this).next('div').addClass('show'); + } else { + $(this).next('div').removeClass('show'); + } +}) + function addDropdownBlock() { const dropdowns = $('.my-ads-dropdown') for (let i = 0; i < dropdowns.length; i++) { diff --git a/addons/default/visiosoft/profile-module/resources/views/profile/partials/navigation.twig b/addons/default/visiosoft/profile-module/resources/views/profile/partials/navigation.twig index 340e9ca46..5c38fe95f 100644 --- a/addons/default/visiosoft/profile-module/resources/views/profile/partials/navigation.twig +++ b/addons/default/visiosoft/profile-module/resources/views/profile/partials/navigation.twig @@ -38,4 +38,4 @@
-{{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/profile-nav.js") }} \ No newline at end of file +{{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/profile-nav.js") }} diff --git a/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php b/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php index 01920904c..c4f169965 100644 --- a/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php +++ b/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php @@ -2,31 +2,24 @@ use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface; use Anomaly\Streams\Platform\Http\Controller\PublicController; -use Anomaly\Streams\Platform\Model\Options\OptionsAdvertisementEntryModel; use Anomaly\Streams\Platform\Model\Users\UsersUsersEntryModel; use Anomaly\UsersModule\User\Contract\UserRepositoryInterface; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Rinvex\Subscriptions\Models\Plan; -use Rinvex\Subscriptions\Models\PlanSubscription; use Visiosoft\AdvsModule\Adv\AdvModel; -use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface; use Visiosoft\AdvsModule\Adv\Event\ChangeStatusAd; use Visiosoft\LocationModule\Country\CountryModel; use Visiosoft\AlgoliaModule\Search\SearchModel; use Visiosoft\CloudsiteModule\CloudsiteModule; -use Visiosoft\CloudsiteModule\Site\SiteModel; -use Visiosoft\OrdersModule\Orderdetail\Event\AgainPuchaseOrder; use Visiosoft\PackagesModule\Http\Controller\PackageFEController; use Visiosoft\MessagesModule\Message\MessageModel; use Visiosoft\PackagesModule\Package\PackageModel; -use Visiosoft\PackagesModule\User\UserModel; use Visiosoft\ProfileModule\Adress\AdressModel; use Visiosoft\ProfileModule\Adress\Contract\AdressRepositoryInterface; use Visiosoft\ProfileModule\Adress\Form\AdressFormBuilder; use Visiosoft\ProfileModule\Education\EducationModel; use Visiosoft\ProfileModule\EducationPart\EducationPartModel; -use Visiosoft\ProfileModule\EducationPartOption\EducationPartOptionModel; use Visiosoft\ProfileModule\Profile\Form\ProfileFormBuilder; use Illuminate\Contracts\Events\Dispatcher; @@ -51,7 +44,7 @@ class MyProfileController extends PublicController protected $user; - public function home(ProfileFormBuilder $form, AdvRepositoryInterface $advRepository) + public function home(ProfileFormBuilder $form) { $advs_count = new AdvModel(); $advs_count = count($advs_count->myAdvsByUser()->get());