diff --git a/addons/default/visiosoft/advs-module/migrations/2021_01_06_110331_visiosoft.module.advs__add_doc-files_field.php b/addons/default/visiosoft/advs-module/migrations/2021_01_06_110331_visiosoft.module.advs__add_doc-files_field.php new file mode 100644 index 000000000..72343feed --- /dev/null +++ b/addons/default/visiosoft/advs-module/migrations/2021_01_06_110331_visiosoft.module.advs__add_doc-files_field.php @@ -0,0 +1,26 @@ + 'advs', + ]; + + protected $fields = [ + 'doc_files' => [ + 'type' => 'visiosoft.field_type.media', + 'config' => [ + 'folders' => ["ads_documents"], + 'mode' => 'upload', + ], + ], + ]; + + protected $assignments = [ + 'doc_files' + ]; +} diff --git a/addons/default/visiosoft/advs-module/resources/config/permissions.php b/addons/default/visiosoft/advs-module/resources/config/permissions.php index cead467e5..282f8d0ba 100644 --- a/addons/default/visiosoft/advs-module/resources/config/permissions.php +++ b/addons/default/visiosoft/advs-module/resources/config/permissions.php @@ -46,4 +46,9 @@ return [ 'write', 'delete', ], + 'status' => [ + 'read', + 'write', + 'delete', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php index 8ac2928e0..b54f66702 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php @@ -22,14 +22,16 @@ return [ 'fields' => [ 'latest-limit', 'popular_ads_limit', + 'ads_image_limit', 'default_view_type', - 'price_area_hidden', + 'price_area_hidden', 'hide_listing_standard_price', 'hide_zero_price', 'auto_approve', 'estimated_pending_time', 'default_published_time', 'default_GET', + 'get_categories', 'listing_page_image', 'show_ads_count', ], @@ -82,6 +84,7 @@ return [ 'translations' => [ 'title' => 'visiosoft.module.advs::section.translations', 'fields' => [ + 'lang_switcher_for_browser', 'override_text', ], ], diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php index 70cb3439a..e5bca4a16 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php @@ -153,12 +153,12 @@ return [ 'mode' => 'checkbox' ] ], - 'price_area_hidden' => [ - 'type' => 'anomaly.field_type.boolean', - 'config' => [ - 'default_value' => false, - ] - ], + 'price_area_hidden' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ] + ], 'enabled_currencies' => [ 'bind' => 'streams::currencies.enabled', 'env' => 'ADV_ENABLED_CURRENCIES', @@ -351,15 +351,34 @@ return [ 'env' => 'OVERRIDE_TEXT', ], 'steps_color' => [ - "type" => "anomaly.field_type.colorpicker", + "type" => "anomaly.field_type.colorpicker", "config" => [ "default_value" => '#209579', ] ], 'create_ad_button_color' => [ - "type" => "anomaly.field_type.colorpicker", + "type" => "anomaly.field_type.colorpicker", "config" => [ "default_value" => '#00a651', ] ], + 'ads_image_limit' => [ + "type" => "anomaly.field_type.integer", + "config" => [ + "default_value" => 25 + ] + ], + 'lang_switcher_for_browser' => [ + 'type' => 'anomaly.field_type.boolean', + 'bind' => 'advs.lang_switcher_for_browser', + 'env' => 'LANG_SWITCHER_FOR_BROWSER', + ], + 'get_categories' => [ + 'type' => 'anomaly.field_type.checkboxes', + 'config' => [ + 'options' => function (\Visiosoft\CatsModule\Category\Contract\CategoryRepositoryInterface $categoryRepository) { + return $categoryRepository->mainCats()->pluck('name', 'id')->all(); + }, + ], + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/css/custom.css b/addons/default/visiosoft/advs-module/resources/css/custom.css index 54242c139..c00e602ef 100644 --- a/addons/default/visiosoft/advs-module/resources/css/custom.css +++ b/addons/default/visiosoft/advs-module/resources/css/custom.css @@ -44,4 +44,8 @@ select[name=filter_User] + .select2 { min-width: 20rem; +} + +.navbar-collapse { + padding-left: 15px !important; } \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/css/list.css b/addons/default/visiosoft/advs-module/resources/css/list.css index e793b0ebc..1362ec7e4 100644 --- a/addons/default/visiosoft/advs-module/resources/css/list.css +++ b/addons/default/visiosoft/advs-module/resources/css/list.css @@ -224,4 +224,58 @@ a.sort-by-open-dropdown:hover { #listFilterForm .card-header { padding: 5px 0; +} + +.p-3{ + background-color: #f4f4f4; +} + +.card { + border: none; +} + +.py-1 { + padding-top: 3px!important; + padding-bottom: 3px!important; +} + +.px-2 { + padding: 0!important; +} + +.btn-link { + font-weight: bold; +} + +.p-3 { + padding: 8px !important; +} + +.searchbut { + padding: 0px !important; +} + +#main > div > nav { + padding-bottom: 10px !important; +} + +.breadcrumb { + padding: 0px !important; +} +.subbreadcrumb small , .sort-by-selected-text{ + color: black !important; +} + +.img-thumbnail { + padding: 0px; + border: none; +} + +.products-list p { + margin-top: 0; + margin-bottom: 0; +} + +.navbar-collapse { + padding-left: 15px !important; } \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js new file mode 100644 index 000000000..c94938966 --- /dev/null +++ b/addons/default/visiosoft/advs-module/resources/js/admin/advanced.js @@ -0,0 +1,32 @@ +function getUrlParameter(sParam) { + var sPageURL = window.location.search.substring(1), + sURLVariables = sPageURL.split('&'), + sParameterName, + i; + + for (i = 0; i < sURLVariables.length; i++) { + sParameterName = sURLVariables[i].split('='); + + if (sParameterName[0] === sParam) { + return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); + } + } +}; + + +if (getUrlParameter('view') === "advanced") { + $('.fast-update').on('change', function () { + var advanced_value = $(this).val(), advanced_entry_id = $(this).data('entry_id'), + advanced_column = $(this).data('column'), advanced_type = $(this).attr('type'); + + if (advanced_type === "checkbox") { + advanced_value = ($(this).prop('checked')) ? 1 : 0; + } + + crudAjax({ + 'advanced_column': advanced_column, + 'advanced_entry_id': advanced_entry_id, + 'advanced_value': advanced_value + }, advanced_update_url, 'POST') + }) +} \ No newline at end of file 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 777bc94d0..88b42946a 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/button.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/button.php @@ -43,4 +43,5 @@ return [ 'fast_create' => 'Fast create', 'publish' => 'Publish', 'import' => 'Import', + 'new_status' => 'New Status', ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/field.php b/addons/default/visiosoft/advs-module/resources/lang/en/field.php index e813d5ec7..4f8860df0 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/field.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/field.php @@ -165,6 +165,7 @@ return [ 'edit' => 'Edit', 'approve' => 'Approve', 'passive' => "Passive", + 'sold' => 'Sold', 'offered_by' => 'Offered By', 'more_ads_by' => 'More Ads By', 'click_phone' => 'Show phone number', @@ -209,6 +210,7 @@ return [ 'corporate_info' => 'Corporate Info', 'featured_ads' => "Featured Ads", 'trending_ads' => 'Trendind Ads', + 'search_ad_result_prefix' => 'on', 'search_ads_result_message' => [ 'name' => ':count ads found for :name search', ], @@ -280,6 +282,7 @@ return [ "no_location" => "No location is selected.", "continue" => 'Continue', "gallery" => 'Gallery', + "ad" => 'Ad', "ads" => 'Ads', "were_found" => 'were found.', @@ -316,6 +319,7 @@ return [ 'congratulations' => 'Congratulations', 'ad_desc' => 'Ad Description', 'upload_photos' => 'Upload Photos', + 'upload_files' => 'Upload Files', 'additional_fields' => 'Additional Fields', 'ad_location' => 'Ad Location', diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/message.php b/addons/default/visiosoft/advs-module/resources/lang/en/message.php index 3d41352db..60f9ffec9 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/message.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/message.php @@ -29,4 +29,5 @@ return [ 'this_ad_is_not_valid_anymore' => "This ad is not valid anymore!", 'approve_status_change' => "Your Ad's Status Has Been Set to Active!", 'passive_status_change' => "Your Ad's Status Has Been Set to Passive!", + 'sold_status_change' => "Your Ad's Status Has Been Set to Sold!", ]; 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 0a094c9f1..1c540e8b2 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/permission.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/permission.php @@ -97,4 +97,12 @@ return [ 'delete' => 'Can delete option configuration?', ], ], + 'status' => [ + 'name' => 'Status', + 'option' => [ + 'read' => 'Can read status?', + 'write' => 'Can create/edit status?', + 'delete' => 'Can delete status?', + ], + ], ]; 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 6e1310527..d7f9f96a1 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/section.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/section.php @@ -56,4 +56,7 @@ return [ 'title' => 'Configuration', ], 'translations' => 'Translations', + 'status' => [ + 'title' => 'Status', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php index ab4017740..28be23772 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php @@ -219,4 +219,12 @@ return [ 'name' => 'Create Ad Button Color', 'instructions' => 'Changes the button that shows up when the new ad category selection is finished.' ], + 'lang_switcher_for_browser' => [ + 'name' => 'Lang Switcher For Browser', + 'instructions' => 'Allows you to choose browser language as active language' + ], + 'get_categories' => [ + 'name' => 'GET Categories', + 'instructions' => 'It represents the categories in which the GET property will be valid.' + ], ]; 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 761fa569d..d94ccdc24 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/stream.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/stream.php @@ -31,4 +31,7 @@ return [ 'option_configuration' => [ 'name' => 'Configuration', ], + 'status' => [ + 'name' => 'Status', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/view.php b/addons/default/visiosoft/advs-module/resources/lang/en/view.php index 0a174882a..0ba4fe99f 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/view.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/view.php @@ -2,4 +2,5 @@ return [ 'unfinished' => 'Unfinished', + 'advanced' => 'Advanced', ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/tr/field.php b/addons/default/visiosoft/advs-module/resources/lang/tr/field.php index 40751f2d6..26f95961a 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/tr/field.php +++ b/addons/default/visiosoft/advs-module/resources/lang/tr/field.php @@ -210,6 +210,7 @@ return [ 'corporate_info' => 'Kurumsal Bilgiler', 'featured_ads' => "Öne Çıkan İlanlar", 'trending_ads' => 'Popüler İlanlar', + 'search_ad_result_prefix' => 'Aramanızda', 'search_ads_result_message' => [ 'name' => ':name aramanızda :count adet ilan bulunmuştur. ', @@ -219,7 +220,7 @@ return [ 'view_cart' => 'Sepeti Görüntüle', 'no_ads' => 'İlan bulunamadı!', 'show_display_mode' => [ - 'map' => 'harita', + 'map' => 'Harita', 'list' => 'Liste', ], 'advs_list_table_thead' => [ @@ -282,6 +283,7 @@ return [ "no_location" => "Lokasyon eklenmemiş.", "continue" => 'Devam Et', "gallery" => 'Galeri', + "ad" => 'İlan', "ads" => 'İlanlar', "were_found" => 'bulundu.', diff --git a/addons/default/visiosoft/advs-module/resources/lang/tr/setting.php b/addons/default/visiosoft/advs-module/resources/lang/tr/setting.php index a7fc6b867..c4201db02 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/tr/setting.php +++ b/addons/default/visiosoft/advs-module/resources/lang/tr/setting.php @@ -219,4 +219,12 @@ return [ 'name' => 'Reklam Düğmesi Rengi Oluştur', 'instructions' => 'Yeni reklam kategorisi seçimi bittiğinde görünen düğmeyi değiştirir.' ], + 'lang_switcher_for_browser' => [ + 'name' => 'Tarayıcı Diline Geç', + 'instructions' => 'Seçili aktif bir dil olmadığında tarayıcı dilini aktif dil olarak seçmenize izin verir' + ], + 'get_categories' => [ + 'name' => 'GET Kategorileri', + 'instructions' => 'GET özelliğinin geçerli olacağı kategorileri temsil eder.' + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/tr/view.php b/addons/default/visiosoft/advs-module/resources/lang/tr/view.php index 3f1464b90..b5a71395d 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/tr/view.php +++ b/addons/default/visiosoft/advs-module/resources/lang/tr/view.php @@ -2,4 +2,5 @@ return [ 'unfinished' => 'Bitmemiş', + 'advanced' => 'Gelişmiş', ]; diff --git a/addons/default/visiosoft/advs-module/resources/views/ad-detail/detail.twig b/addons/default/visiosoft/advs-module/resources/views/ad-detail/detail.twig index 3c1678bf9..f7335e0c4 100644 --- a/addons/default/visiosoft/advs-module/resources/views/ad-detail/detail.twig +++ b/addons/default/visiosoft/advs-module/resources/views/ad-detail/detail.twig @@ -36,6 +36,12 @@ + + {% if setting_value('visiosoft.theme.base::ad_details_tab') %} {% if blocks('ad-item-content-block-area') is null %} diff --git a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/dropleft-edit.twig b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/dropleft-edit.twig index f8363133d..0fe27f951 100644 --- a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/dropleft-edit.twig +++ b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/dropleft-edit.twig @@ -20,6 +20,12 @@ {{ trans('visiosoft.module.advs::field.passive') }} {% endif %} + {% if adv.status != 'sold' and adv.is_get_adv != '1' %} + + + {{ trans('visiosoft.module.advs::field.sold') }} + + {% endif %} {{ asset_add("styles.css", "visiosoft.module.advs::css/dropleft-edit.css") }} diff --git a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/map.twig b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/map.twig index 5df7ac7b8..4632edc42 100644 --- a/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/map.twig +++ b/addons/default/visiosoft/advs-module/resources/views/ad-detail/partials/map.twig @@ -1,4 +1,3 @@ -

{% if(adv.map_Val == "") %} {{ trans('visiosoft.module.advs::field.no_location') }} {% else %} @@ -51,4 +50,3 @@ {% endif %} -

\ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig b/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig new file mode 100644 index 000000000..c600670e8 --- /dev/null +++ b/addons/default/visiosoft/advs-module/resources/views/admin/table/table.twig @@ -0,0 +1,90 @@ +{{ asset_add("scripts.js", "streams::js/table/table.js") }} + +{% if not actions.empty() %} + {{ asset_add("scripts.js", "streams::js/table/actions.js") }} +{% endif %} + +{% if table.options.sortable %} + {{ asset_add("scripts.js", "streams::js/table/sortable.js") }} +{% endif %} + +
+ + {{ view("streams::table/partials/filters", {'table': table}) }} + {{ view("streams::table/partials/views", {'table': table}) }} + + {{ view(table.options.heading ?: "streams::table/partials/heading", {'table': table}) }} + + {% if not table.rows.empty() %} + {% block card %} +
+ + {{ form_open({ 'url': url_full() }) }} +
+ + + {{ view("streams::table/partials/header", {'table': table}) }} + + {% block body %} + + {% for row in table.rows %} + + + {% if table.options.sortable %} + + {% endif %} + + {% if not table.actions.empty() %} + + {% endif %} + + {% for column in row.columns %} + + {% endfor %} + + + + + {% endfor %} + + + {% endblock %} + + {{ view("streams::table/partials/footer", {'table': table}) }} + +
+ {{ icon('fa fa-arrows handle') }} + + + + + {{ (column.attributes.html) ? column.attributes.html|raw : column.value|raw }} + + {{ buttons(row.buttons)|raw }} +
+
+ {{ form_close() }} + +
+ {% endblock %} + {% else %} + + {% block no_results %} +
+
+ {{ trans(table.options.get('no_results_message', 'streams::message.no_results')) }} +
+
+ {% endblock %} + {% endif %} +
+ diff --git a/addons/default/visiosoft/advs-module/resources/views/list/list.twig b/addons/default/visiosoft/advs-module/resources/views/list/list.twig index 9b867ef94..91f262d86 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/list.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/list.twig @@ -26,8 +26,9 @@ "{{ catText }}" {% endif %} + {{ trans('visiosoft.module.advs::field.search_ad_result_prefix')|lower }} - {{ advs.total }} {{ trans('visiosoft.module.advs::field.ads')|lower }} + {{ advs.total }} {{ trans('visiosoft.module.advs::field.ad')|lower }} {{ trans('visiosoft.module.advs::field.were_found') }} diff --git a/addons/default/visiosoft/advs-module/resources/views/list/partials/display-mode.twig b/addons/default/visiosoft/advs-module/resources/views/list/partials/display-mode.twig index afee7be01..f30dc0eac 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/partials/display-mode.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/partials/display-mode.twig @@ -1,4 +1,4 @@ -
+