From 5c7fe04aa33a53a3b9b2e62c4c6e586f91540716 Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Fri, 27 Nov 2020 19:04:12 +0300 Subject: [PATCH 01/15] #2279 country selection with flags --- .../advs-module/resources/css/list.css | 4 - ....module.location__add_abv_to_countries.php | 35 +- .../resources/css/filterLocation.css | 358 ++++++++++++++++++ .../resources/js/filterLocation.js | 7 +- .../ads-list/partials/location-fields.twig | 1 + 5 files changed, 377 insertions(+), 28 deletions(-) diff --git a/addons/default/visiosoft/advs-module/resources/css/list.css b/addons/default/visiosoft/advs-module/resources/css/list.css index b015844d4..70dc52e09 100644 --- a/addons/default/visiosoft/advs-module/resources/css/list.css +++ b/addons/default/visiosoft/advs-module/resources/css/list.css @@ -218,10 +218,6 @@ a.sort-by-open-dropdown:hover { cursor: pointer; } -.filter-section .countries input[type=checkbox] { - display: none; -} - .gallery-tn { object-fit: cover; } \ No newline at end of file diff --git a/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php b/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php index 3447542c6..c9fae47d4 100644 --- a/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php +++ b/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php @@ -6,27 +6,18 @@ use Anomaly\Streams\Platform\Database\Migration\Migration; class VisiosoftModuleLocationAddAbvToCountries extends Migration { - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::table('location_countries_translations', function (Blueprint $table) { - $table->string('abv'); - }); - } - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('location_countries_translations', function (Blueprint $table) { - $table->string('abv'); - }); - } + protected $delete = false; + + protected $stream = [ + 'slug' => 'countries', + ]; + + protected $fields = [ + 'abv' => 'anomaly.field_type.text', + ]; + + protected $assignments = [ + 'abv', + ]; } diff --git a/addons/default/visiosoft/location-module/resources/css/filterLocation.css b/addons/default/visiosoft/location-module/resources/css/filterLocation.css index a3cae9d8f..1109e5d9c 100644 --- a/addons/default/visiosoft/location-module/resources/css/filterLocation.css +++ b/addons/default/visiosoft/location-module/resources/css/filterLocation.css @@ -26,4 +26,362 @@ height: 200px; overflow: auto; display: none +} + +span.flag { + width: 21px; + height: 14px; + display: inline-block; + position: relative; + top: 2px; +} + +img.flag { + /*width: 15px*/ +} + +.flag { + background-image: url('{{ img("visiosoft.module.location::images/flags.png").path }}'); + background-repeat: no-repeat; + background-size: 100% +} + +.flag-ca { + background-position: 0 .413223% +} + +.flag-ps { + background-position: 0 1.239669% +} + +.flag-sq { + background-position: 0 2.479339% +} + +.flag-hy { + background-position: 0 2.892562% +} + +.flag-sm { + background-position: 0 4.958678% +} + +.flag-az { + background-position: 0 6.61157% +} + +.flag-bs { + background-position: 0 7.024793% +} + +.flag-bn { + background-position: 0 7.85124% +} + +.flag-bg { + background-position: 0 9.090909% +} + +.flag-pt-br { + background-position: 0 12.809917% +} + +.flag-dz { + background-position: 0 12.809917% +} + +.flag-be { + background-position: 0 14.049587% +} + +.flag-fr-ca { + background-position:0 14.876033% +} + +.flag-sg { + background-position: 0 16.115702% +} + +.flag-rm { + background-position: 0 16.942149% +} + +.flag-mi { + background-position: 0 17.768595% +} + +.flag-zn { + background-position: 0 19.008264% +} + +.flag-cs { + background-position: 0 21.900826% +} + +.flag-de { + background-position:0 22.31405% +} + +.flag-da { + background-position: 0 23.140496% +} + +.flag-et { + background-position: 0 25.206612% +} + +.flag-ti { + background-position: 0 26.446281% +} + +.flag-es { + background-position: 0 26.859504% +} + +.flag-am { + background-position: 0 27.272727% +} + +.flag-fi { + background-position: 0 27.68595% +} + +.flag-fj { + background-position: 0 28.099174% +} + +.flag-fo { + background-position: 0 29.338843% +} + +.flag-fr { + background-position: 0 29.752066% +} + +.flag-en { + background-position: 0 92.561983% +} + +.flag-ka { + background-position: 0 30.991736% +} + +.flag-kl { + background-position: 0 32.644628% +} + +.flag-el { + background-position: 0 34.710744% +} + +.flag-hr { + background-position: 0 38.429752% +} + +.flag-ht { + background-position: 0 38.842975% +} + +.flag-hu { + background-position: 0 39.256198% +} + +.flag-id { + background-position: 0 39.669421% +} + +.flag-ga { + background-position: 0 40.082645% +} + +.flag-he { + background-position: 0 40.495868% +} + +.flag-hi { + background-position: 0 40.909091% +} + +.flag-fa { + background-position: 0 42.14876% +} + +.flag-is { + background-position: 0 42.561983% +} + +.flag-it, .flag-la { + background-position: 0 42.975207% +} + +.flag-ja { + background-position: 0 44.214876% +} + +.flag-ky { + background-position: 0 45.041322% +} + +.flag-km { + background-position: 0 45.454545% +} + +.flag-ko { + background-position: 0 47.520661% +} + +.flag-kk { + background-position: 0 48.760331% +} + +.flag-lo { + background-position: 0 49.173554% +} + +.flag-ta, .flag-si { + background-position: 0 50.826446% +} + +.flag-lt { + background-position: 0 52.066116% +} + +.flag-lb { + background-position: 0 52.479339% +} + +.flag-lv { + background-position: 0 52.892562% +} + +.flag-mg { + background-position: 0 55.371901% +} + +.flag-mh { + background-position: 0 55.785124% +} + +.flag-mk { + background-position: 0 56.198347% +} + +.flag-my { + background-position: 0 57.024793% +} + +.flag-mn { + background-position: 0 57.438017% +} + +.flag-ch { + background-position: 0 58.264463% +} + +.flag-mt { + background-position: 0 59.917355% +} + +.flag-dv { + background-position: 0 60.743802% +} + +.flag-ms { + background-position: 0 61.983471% +} + +.flag-nl { + background-position: 0 65.289256% +} + +.flag-no { + background-position: 0 65.702479% +} + +.flag-ne { + background-position: 0 66.115702% +} + +.flag-ho { + background-position: 0 69.421488% +} + +.flag-ur { + background-position: 0 70.247934% +} + +.flag-pl { + background-position: 0 70.661157% +} + +.flag-ro { + background-position: 0 74.380165% +} + +.flag-sr { + background-position: 0 74.793388% +} + +.flag-ru { + background-position: 0 75.206612% +} + +.flag-rw { + background-position: 0 75.619835% +} + +.flag-ar { + background-position: 0 76.033058% +} + +.flag-sv { + background-position: 0 77.68595% +} + +.flag-sk { + background-position: 0 79.752066% +} + +.flag-so { + background-position: 0 81.404959% +} + +.flag-th { + background-position: 0 85.950413% +} + +.flag-tk { + background-position: 0 87.603306% +} + +.flag-tr { + background-position: 0 89.256198% +} + +.flag-uk { + background-position: 0 91.735537% +} + +.flag-uz { + background-position: 0 94.214876% +} + +.flag-vi { + background-position: 0 96.694215% +} + +.flag-bi { + background-position: 0 97.107438% +} + +.flag-sm { + background-position: 0 97.933884% +} + +.flag-ts, .flag-nr, .flag-tn, .flag-zu, .flag-ve, .flag-af { + background-position: 0 98.760331% +} + +.flag-sn, .flag-ny, .flag-to, .flag-nd, .flag-xh { + background-position: 0 100% } \ No newline at end of file diff --git a/addons/default/visiosoft/location-module/resources/js/filterLocation.js b/addons/default/visiosoft/location-module/resources/js/filterLocation.js index 8abd5100a..e3f93c8ad 100644 --- a/addons/default/visiosoft/location-module/resources/js/filterLocation.js +++ b/addons/default/visiosoft/location-module/resources/js/filterLocation.js @@ -12,7 +12,8 @@ $('.filter-country-btn').on('click', function () { countries = callback; resetValue('country', true, false) $.each(countries, function (index, value) { - $('.filter-location-modal .countries').append(item('country', value.id, value.name)); + console.log(value) + $('.filter-location-modal .countries').append(item('country', value.id, value.name, value.slug)); }); if (countries == "") $('.filter-location-modal .countries').html(null_msg); @@ -242,10 +243,12 @@ function locationCrud(params, url, type, beforeSend, callback) { }); } -function item(field_name, id, value) { +function item(field_name, id, value, slug = '' ) { return '
  • \n' + ' \n' + '
  • '; diff --git a/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig b/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig index ae7403f6a..dd3d87223 100644 --- a/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig +++ b/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig @@ -119,4 +119,5 @@ From 63508153404d11885fcf5122aed9259de6448c08 Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Mon, 30 Nov 2020 11:13:12 +0300 Subject: [PATCH 02/15] #2760 demodata's datas fixed --- ....module.location__add_abv_to_countries.php | 32 ------------------- ...osoft.module.location__add_abv_country.php | 23 +++++++++++++ 2 files changed, 23 insertions(+), 32 deletions(-) delete mode 100644 addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php create mode 100644 addons/default/visiosoft/location-module/migrations/2020_11_27_124940_visiosoft.module.location__add_abv_country.php diff --git a/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php b/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php deleted file mode 100644 index 3447542c6..000000000 --- a/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php +++ /dev/null @@ -1,32 +0,0 @@ -string('abv'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('location_countries_translations', function (Blueprint $table) { - $table->string('abv'); - }); - } -} diff --git a/addons/default/visiosoft/location-module/migrations/2020_11_27_124940_visiosoft.module.location__add_abv_country.php b/addons/default/visiosoft/location-module/migrations/2020_11_27_124940_visiosoft.module.location__add_abv_country.php new file mode 100644 index 000000000..e7c7a75cd --- /dev/null +++ b/addons/default/visiosoft/location-module/migrations/2020_11_27_124940_visiosoft.module.location__add_abv_country.php @@ -0,0 +1,23 @@ + 'countries', + ]; + + protected $fields = [ + 'abv' => 'anomaly.field_type.text', + ]; + + protected $assignments = [ + 'abv', + ]; +} From fe0781ca231a6dab034ee15942b5ba946f978209 Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Mon, 30 Nov 2020 11:56:14 +0300 Subject: [PATCH 03/15] #2279 country selection with flags --- .../resources/css/filterLocation.css | 740 ++++++++++++++++-- .../resources/images/flags.png | Bin 0 -> 55435 bytes .../resources/js/filterLocation.js | 6 +- 3 files changed, 687 insertions(+), 59 deletions(-) create mode 100644 addons/default/visiosoft/location-module/resources/images/flags.png diff --git a/addons/default/visiosoft/location-module/resources/css/filterLocation.css b/addons/default/visiosoft/location-module/resources/css/filterLocation.css index 1109e5d9c..9c1eb1adb 100644 --- a/addons/default/visiosoft/location-module/resources/css/filterLocation.css +++ b/addons/default/visiosoft/location-module/resources/css/filterLocation.css @@ -46,91 +46,259 @@ img.flag { background-size: 100% } -.flag-ca { +.flag-ad { background-position: 0 .413223% } -.flag-ps { +.flag-ae { + background-position: 0 .826446% +} + +.flag-af { background-position: 0 1.239669% } -.flag-sq { +.flag-ag { + background-position: 0 1.652893% +} + +.flag-ai { + background-position: 0 2.066116% +} + +.flag-al { background-position: 0 2.479339% } -.flag-hy { +.flag-am { background-position: 0 2.892562% } -.flag-sm { +.flag-an { + background-position: 0 3.305785% +} + +.flag-ao { + background-position: 0 3.719008% +} + +.flag-aq { + background-position: 0 4.132231% +} + +.flag-ar { + background-position: 0 4.545455% +} + +.flag-as { background-position: 0 4.958678% } +.flag-at { + background-position: 0 5.371901% +} + +.flag-au { + background-position: 0 5.785124% +} + +.flag-aw { + background-position: 0 6.198347% +} + .flag-az { background-position: 0 6.61157% } -.flag-bs { +.flag-ba { background-position: 0 7.024793% } -.flag-bn { +.flag-bb { + background-position: 0 7.438017% +} + +.flag-bd { background-position: 0 7.85124% } +.flag-be { + background-position: 0 8.264463% +} + +.flag-bf { + background-position: 0 8.677686% +} + .flag-bg { background-position: 0 9.090909% } -.flag-pt-br { +.flag-bh { + background-position: 0 9.504132% +} + +.flag-bi { + background-position: 0 9.917355% +} + +.flag-bj { + background-position: 0 10.330579% +} + +.flag-bm { + background-position: 0 10.743802% +} + +.flag-bn { + background-position: 0 11.157025% +} + +.flag-bo { + background-position: 0 11.570248% +} + +.flag-br { + background-position: 0 11.983471% +} + +.flag-bs { + background-position: 0 12.396694% +} + +.flag-bt { background-position: 0 12.809917% } -.flag-dz { - background-position: 0 12.809917% +.flag-bv { + background-position: 0 13.22314% } -.flag-be { +.flag-bw { + background-position: 0 13.636364% +} + +.flag-by { background-position: 0 14.049587% } -.flag-fr-ca { - background-position:0 14.876033% +.flag-bz { + background-position: 0 14.46281% } -.flag-sg { +.flag-ca { + background-position: 0 14.876033% +} + +.flag-cc { + background-position: 0 15.289256% +} + +.flag-cd { + background-position: 0 15.702479% +} + +.flag-cf { background-position: 0 16.115702% } -.flag-rm { +.flag-cg { + background-position: 0 16.528926% +} + +.flag-ch { background-position: 0 16.942149% } -.flag-mi { +.flag-ci { + background-position: 0 17.355372% +} + +.flag-ck { background-position: 0 17.768595% } -.flag-zn { +.flag-cl { + background-position: 0 18.181818% +} + +.flag-cm { + background-position: 0 18.595041% +} + +.flag-cn { background-position: 0 19.008264% } -.flag-cs { +.flag-co { + background-position: 0 19.421488% +} + +.flag-cr { + background-position: 0 19.834711% +} + +.flag-cu { + background-position: 0 20.247934% +} + +.flag-cv { + background-position: 0 20.661157% +} + +.flag-cx { + background-position: 0 21.07438% +} + +.flag-cy { + background-position: 0 21.487603% +} + +.flag-cz { background-position: 0 21.900826% } .flag-de { - background-position:0 22.31405% + background-position: 0 22.31405% } -.flag-da { +.flag-dj { + background-position: 0 22.727273% +} + +.flag-dk { background-position: 0 23.140496% } -.flag-et { +.flag-dm { + background-position: 0 23.553719% +} + +.flag-do { + background-position: 0 23.966942% +} + +.flag-dz { + background-position: 0 24.380165% +} + +.flag-ec { + background-position: 0 24.793388% +} + +.flag-ee { background-position: 0 25.206612% } -.flag-ti { +.flag-eg { + background-position: 0 25.619835% +} + +.flag-eh { + background-position: 0 26.033058% +} + +.flag-er { background-position: 0 26.446281% } @@ -138,7 +306,7 @@ img.flag { background-position: 0 26.859504% } -.flag-am { +.flag-et { background-position: 0 27.272727% } @@ -150,6 +318,14 @@ img.flag { background-position: 0 28.099174% } +.flag-fk { + background-position: 0 28.512397% +} + +.flag-fm { + background-position: 0 28.92562% +} + .flag-fo { background-position: 0 29.338843% } @@ -158,22 +334,86 @@ img.flag { background-position: 0 29.752066% } -.flag-en { - background-position: 0 92.561983% +.flag-ga { + background-position: 0 30.165289% } -.flag-ka { +.flag-gd { + background-position: 0 30.578512% +} + +.flag-ge { background-position: 0 30.991736% } -.flag-kl { +.flag-gf { + background-position: 0 31.404959% +} + +.flag-gh { + background-position: 0 31.818182% +} + +.flag-gi { + background-position: 0 32.231405% +} + +.flag-gl { background-position: 0 32.644628% } -.flag-el { +.flag-gm { + background-position: 0 33.057851% +} + +.flag-gn { + background-position: 0 33.471074% +} + +.flag-gp { + background-position: 0 33.884298% +} + +.flag-gq { + background-position: 0 34.297521% +} + +.flag-gr { background-position: 0 34.710744% } +.flag-gs { + background-position: 0 35.123967% +} + +.flag-gt { + background-position: 0 35.53719% +} + +.flag-gu { + background-position: 0 35.950413% +} + +.flag-gw { + background-position: 0 36.363636% +} + +.flag-gy { + background-position: 0 36.77686% +} + +.flag-hk { + background-position: 0 37.190083% +} + +.flag-hm { + background-position: 0 37.603306% +} + +.flag-hn { + background-position: 0 38.016529% +} + .flag-hr { background-position: 0 38.429752% } @@ -190,19 +430,27 @@ img.flag { background-position: 0 39.669421% } -.flag-ga { +.flag-ie { background-position: 0 40.082645% } -.flag-he { +.flag-il { background-position: 0 40.495868% } -.flag-hi { +.flag-in { background-position: 0 40.909091% } -.flag-fa { +.flag-io { + background-position: 0 41.322314% +} + +.flag-iq { + background-position: 0 41.735537% +} + +.flag-ir { background-position: 0 42.14876% } @@ -210,43 +458,99 @@ img.flag { background-position: 0 42.561983% } -.flag-it, .flag-la { +.flag-it { background-position: 0 42.975207% } -.flag-ja { +.flag-jm { + background-position: 0 43.38843% +} + +.flag-jo { + background-position: 0 43.801653% +} + +.flag-jp { background-position: 0 44.214876% } -.flag-ky { +.flag-ke { + background-position: 0 44.628099% +} + +.flag-kg { background-position: 0 45.041322% } -.flag-km { +.flag-kh { background-position: 0 45.454545% } -.flag-ko { +.flag-ki { + background-position: 0 45.867769% +} + +.flag-km { + background-position: 0 46.280992% +} + +.flag-kn { + background-position: 0 46.694215% +} + +.flag-kp { + background-position: 0 47.107438% +} + +.flag-kr { background-position: 0 47.520661% } -.flag-kk { +.flag-kw { + background-position: 0 47.933884% +} + +.flag-ky { + background-position: 0 48.347107% +} + +.flag-kz { background-position: 0 48.760331% } -.flag-lo { +.flag-la { background-position: 0 49.173554% } -.flag-ta, .flag-si { +.flag-lb { + background-position: 0 49.586777% +} + +.flag-lc { + background-position: 0 50% +} + +.flag-li { + background-position: 0 50.413223% +} + +.flag-lk { background-position: 0 50.826446% } +.flag-lr { + background-position: 0 51.239669% +} + +.flag-ls { + background-position: 0 51.652893% +} + .flag-lt { background-position: 0 52.066116% } -.flag-lb { +.flag-lu { background-position: 0 52.479339% } @@ -254,6 +558,26 @@ img.flag { background-position: 0 52.892562% } +.flag-ly { + background-position: 0 53.305785% +} + +.flag-ma { + background-position: 0 53.719008% +} + +.flag-mc { + background-position: 0 54.132231% +} + +.flag-md { + background-position: 0 54.545455% +} + +.flag-me { + background-position: 0 54.958678% +} + .flag-mg { background-position: 0 55.371901% } @@ -266,7 +590,11 @@ img.flag { background-position: 0 56.198347% } -.flag-my { +.flag-ml { + background-position: 0 56.61157% +} + +.flag-mm { background-position: 0 57.024793% } @@ -274,22 +602,78 @@ img.flag { background-position: 0 57.438017% } -.flag-ch { +.flag-mo { + background-position: 0 57.85124% +} + +.flag-mp { background-position: 0 58.264463% } +.flag-mq { + background-position: 0 58.677686% +} + +.flag-mr { + background-position: 0 59.090909% +} + +.flag-ms { + background-position: 0 59.504132% +} + .flag-mt { background-position: 0 59.917355% } -.flag-dv { +.flag-mu { + background-position: 0 60.330579% +} + +.flag-mv { background-position: 0 60.743802% } -.flag-ms { +.flag-mw { + background-position: 0 61.157025% +} + +.flag-mx { + background-position: 0 61.570248% +} + +.flag-my { background-position: 0 61.983471% } +.flag-mz { + background-position: 0 62.396694% +} + +.flag-na { + background-position: 0 62.809917% +} + +.flag-nc { + background-position: 0 63.22314% +} + +.flag-ne { + background-position: 0 63.636364% +} + +.flag-nf { + background-position: 0 64.049587% +} + +.flag-ng { + background-position: 0 64.46281% +} + +.flag-ni { + background-position: 0 64.876033% +} + .flag-nl { background-position: 0 65.289256% } @@ -298,15 +682,47 @@ img.flag { background-position: 0 65.702479% } -.flag-ne { +.flag-np { background-position: 0 66.115702% } -.flag-ho { +.flag-nr { + background-position: 0 66.528926% +} + +.flag-nu { + background-position: 0 66.942149% +} + +.flag-nz { + background-position: 0 67.355372% +} + +.flag-om { + background-position: 0 67.768595% +} + +.flag-pa { + background-position: 0 68.181818% +} + +.flag-pe { + background-position: 0 68.595041% +} + +.flag-pf { + background-position: 0 69.008264% +} + +.flag-pg { background-position: 0 69.421488% } -.flag-ur { +.flag-ph { + background-position: 0 69.834711% +} + +.flag-pk { background-position: 0 70.247934% } @@ -314,11 +730,43 @@ img.flag { background-position: 0 70.661157% } +.flag-pm { + background-position: 0 71.07438% +} + +.flag-pn { + background-position: 0 71.487603% +} + +.flag-pr { + background-position: 0 71.900826% +} + +.flag-pt { + background-position: 0 72.31405% +} + +.flag-pw { + background-position: 0 72.727273% +} + +.flag-py { + background-position: 0 73.140496% +} + +.flag-qa { + background-position: 0 73.553719% +} + +.flag-re { + background-position: 0 73.966942% +} + .flag-ro { background-position: 0 74.380165% } -.flag-sr { +.flag-rs { background-position: 0 74.793388% } @@ -330,58 +778,238 @@ img.flag { background-position: 0 75.619835% } -.flag-ar { +.flag-sa { background-position: 0 76.033058% } -.flag-sv { +.flag-sb { + background-position: 0 76.446281% +} + +.flag-sc { + background-position: 0 76.859504% +} + +.flag-sd { + background-position: 0 77.272727% +} + +.flag-se { background-position: 0 77.68595% } +.flag-sg { + background-position: 0 78.099174% +} + +.flag-sh { + background-position: 0 78.512397% +} + +.flag-si { + background-position: 0 78.92562% +} + +.flag-sj { + background-position: 0 79.338843% +} + .flag-sk { background-position: 0 79.752066% } +.flag-sl { + background-position: 0 80.165289% +} + +.flag-sm { + background-position: 0 80.578512% +} + +.flag-sn { + background-position: 0 80.991736% +} + .flag-so { background-position: 0 81.404959% } +.flag-sr { + background-position: 0 81.818182% +} + +.flag-ss { + background-position: 0 82.231405% +} + +.flag-st { + background-position: 0 82.644628% +} + +.flag-sv { + background-position: 0 83.057851% +} + +.flag-sy { + background-position: 0 83.471074% +} + +.flag-sz { + background-position: 0 83.884298% +} + +.flag-tc { + background-position: 0 84.297521% +} + +.flag-td { + background-position: 0 84.710744% +} + +.flag-tf { + background-position: 0 85.123967% +} + +.flag-tg { + background-position: 0 85.53719% +} + .flag-th { background-position: 0 85.950413% } +.flag-tj { + background-position: 0 86.363636% +} + .flag-tk { + background-position: 0 86.77686% +} + +.flag-tl { + background-position: 0 87.190083% +} + +.flag-tm { background-position: 0 87.603306% } +.flag-tn { + background-position: 0 88.016529% +} + +.flag-to { + background-position: 0 88.429752% +} + +.flag-tp { + background-position: 0 88.842975% +} + .flag-tr { background-position: 0 89.256198% } -.flag-uk { +.flag-tt { + background-position: 0 89.669421% +} + +.flag-tv { + background-position: 0 90.082645% +} + +.flag-tw { + background-position: 0 90.495868% +} + +.flag-ty { + background-position: 0 90.909091% +} + +.flag-tz { + background-position: 0 91.322314% +} + +.flag-ua { background-position: 0 91.735537% } +.flag-ug { + background-position: 0 92.14876% +} + +.flag-gb, .flag-uk { + background-position: 0 92.561983% +} + +.flag-um { + background-position: 0 92.975207% +} + +.flag-us { + background-position: 0 93.38843% +} + +.flag-uy { + background-position: 0 93.801653% +} + .flag-uz { background-position: 0 94.214876% } +.flag-va { + background-position: 0 94.628099% +} + +.flag-vc { + background-position: 0 95.041322% +} + +.flag-ve { + background-position: 0 95.454545% +} + +.flag-vg { + background-position: 0 95.867769% +} + .flag-vi { + background-position: 0 96.280992% +} + +.flag-vn { background-position: 0 96.694215% } -.flag-bi { +.flag-vu { background-position: 0 97.107438% } -.flag-sm { +.flag-wf { + background-position: 0 97.520661% +} + +.flag-ws { background-position: 0 97.933884% } -.flag-ts, .flag-nr, .flag-tn, .flag-zu, .flag-ve, .flag-af { +.flag-ye { + background-position: 0 98.347107% +} + +.flag-za { background-position: 0 98.760331% } -.flag-sn, .flag-ny, .flag-to, .flag-nd, .flag-xh { +.flag-zm { + background-position: 0 99.173554% +} + +.flag-zr { + background-position: 0 99.586777% +} + +.flag-zw { background-position: 0 100% } \ No newline at end of file diff --git a/addons/default/visiosoft/location-module/resources/images/flags.png b/addons/default/visiosoft/location-module/resources/images/flags.png new file mode 100644 index 0000000000000000000000000000000000000000..e93d295be023bc5268220343e0551de5e775780c GIT binary patch literal 55435 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\n' + ' \n' + From b477ce0fd87de9872fa5acb6103689a1e3d56dba Mon Sep 17 00:00:00 2001 From: samed Date: Mon, 30 Nov 2020 14:10:20 +0300 Subject: [PATCH 04/15] tuskish language first name last name update --- .../visiosoft/profile-module/resources/lang/tr/field.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/default/visiosoft/profile-module/resources/lang/tr/field.php b/addons/default/visiosoft/profile-module/resources/lang/tr/field.php index 8bd3d9fde..96a2bb319 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/tr/field.php +++ b/addons/default/visiosoft/profile-module/resources/lang/tr/field.php @@ -5,10 +5,10 @@ return [ 'name' => 'Fotoğraflar' ], 'first_name' => [ - 'name' => 'İsim' + 'name' => 'Adınız' ], 'last_name' => [ - 'name' => 'Soyad' + 'name' => 'Soyadınız' ], 'username' => [ 'name' => 'Kullanıcı Adı' From ff9808689b5aa20c953463ebc629f635d656b3f6 Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Mon, 30 Nov 2020 14:17:00 +0300 Subject: [PATCH 05/15] #2279 country selection with flags --- .../resources/js/filterLocation.js | 82 +++++++++++-------- .../ads-list/partials/location-fields.twig | 3 +- 2 files changed, 48 insertions(+), 37 deletions(-) diff --git a/addons/default/visiosoft/location-module/resources/js/filterLocation.js b/addons/default/visiosoft/location-module/resources/js/filterLocation.js index 16d36930b..941776314 100644 --- a/addons/default/visiosoft/location-module/resources/js/filterLocation.js +++ b/addons/default/visiosoft/location-module/resources/js/filterLocation.js @@ -6,19 +6,22 @@ var village; //Country $('.filter-country-btn').on('click', function () { + var selected__country_request = $('input[name="country[]"]').val(); if (countries == undefined) { var promiseForCountries = new Promise(function (resolve, reject) { locationCrud('', '/ajax/getCountry', 'POST', beforeSend(), function (callback) { countries = callback; resetValue('country', true, false) $.each(countries, function (index, value) { - console.log(value) - $('.filter-location-modal .countries').append(item('country', value.id, value.name, value.abv)); + $('.filter-location-modal .countries').append(item('country', value.id, value.name, value.abv.toLowerCase())); }); if (countries == "") $('.filter-location-modal .countries').html(null_msg); - else if ($('input[name="country"]').val() != "") - $(".filter-location-body .countries li[data-id='" + $('input[name="country"]').val() + "'] input[type='checkbox']").prop('checked', true); + else if ($('input[name="country"]').val() != ""){ + $.each(selected__country_request.split(','), function (index, value){ + $(".filter-location-body .countries li[data-id='" + value.trim() + "'] input[type='checkbox']").prop('checked', true); + }) + } resolve(); }) }); @@ -32,10 +35,9 @@ $('.filter-country-btn').on('click', function () { $('.filter-location-back').show(); scroolToModal() }); - //City $('.filter-city-btn').on('click', function () { - var countries_value = $('input[name="country"]').val(); + var countries_value = $('input[name="country[]"]').val(); var selected__city_request = $('input[name="city[]"]').val(); if (cities == undefined || $(this).attr('data-parent') != countries_value) { $(this).attr('data-parent', countries_value); @@ -199,32 +201,31 @@ function SelectOnClick() { var id = $(this).attr('data-id'); if ($(this).attr('data-field') == "country") { - $('.filter-location-modal,.filter-location-back,.filter-location-modal .countries').hide(); - $('input[name="country"]').val(id) + // $('.filter-location-modal,.filter-location-back,.filter-location-modal .countries').hide(); + // $('input[name="country"]').val(id) $('.selected-city').html(''); $('input[name="city[]"]').val(''); text_html.html(input_text) - $(".filter-location-body input[type='checkbox']").prop('checked', false); + // $(".filter-location-body input[type='checkbox']").prop('checked', false); $(".filter-location-body li[data-id='" + id + "'] input[type='checkbox']").prop('checked', true); - } else { - if (input_val != "") { - input_val = input_val.split(','); - text = text_html.html().split(','); - } else { - input_val = []; - text = []; - } - if (this.checked) { - input_val.push(id); - text.push(input_text) - } else { - input_val.splice($.inArray(id, input_val), 1); - text.splice($.inArray(input_text, text), 1); - } - input.val(input_val.join(',')) - text_html.html(text.join(',')) } + if (input_val != "") { + input_val = input_val.split(','); + text = text_html.html().split(','); + } else { + input_val = []; + text = []; + } + if (this.checked) { + input_val.push(id); + text.push(input_text) + } else { + input_val.splice($.inArray(id, input_val), 1); + text.splice($.inArray(input_text, text), 1); + } + input.val(input_val.join(',')) + text_html.html(text.join(',')) }); } @@ -243,15 +244,26 @@ function locationCrud(params, url, type, beforeSend, callback) { }); } -function item(field_name, id, value, abv ) { - return '
  • \n' + - ' \n' + - '
  • '; +function item(field_name, id, value, abv = '') { + if (field_name === 'country') { + return '
  • \n' + + ' \n' + + '
  • '; + + } else { + return '
  • \n' + + ' \n' + + '
  • '; + + } } function resetValue(location_type, reset_this, reset_parent) { diff --git a/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig b/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig index dd3d87223..9ab07408c 100644 --- a/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig +++ b/addons/default/visiosoft/location-module/resources/views/ads-list/partials/location-fields.twig @@ -21,7 +21,7 @@ - +
    @@ -119,5 +119,4 @@ From 9b9157d8b4b6051aa9e42c16ddee18d84eaac76c Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Mon, 30 Nov 2020 15:47:08 +0300 Subject: [PATCH 06/15] #2336 redirect ad detail link if slug is different --- .../visiosoft/advs-module/src/Adv/AdvModel.php | 6 ++---- .../src/Http/Controller/advsController.php | 17 +++++++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php index 3998afffa..4091e363e 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php @@ -218,13 +218,11 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface { if ($type != null) { $id = $object->id; - $seo = str_slug($object->name); - $seo = str_replace('_', '-', $seo); + $seo = str_slug($object->slug, '-'); return \route('adv_detail_seo', [$seo, $id]); } $id = $object->getObject()->id; - $seo = str_slug($object->getObject()->name); - $seo = str_replace('_', '-', $seo); + $seo = str_slug($object->getObject()->name, '-'); return \route('adv_detail_seo', [$seo, $id]); } diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php index 6704aef1d..8703e798f 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -10,6 +10,7 @@ use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Cookie; +use Illuminate\Support\Str; use Visiosoft\AdvsModule\Adv\AdvModel; use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface; use Visiosoft\AdvsModule\Adv\Event\ChangedStatusAd; @@ -579,12 +580,16 @@ class AdvsController extends PublicController $configurations = $this->optionConfigurationRepository->getConf($adv->id); - if ($adv->created_by_id == isset(auth()->user()->id) or $adv->status == "approved") { - return $this->view->make('visiosoft.module.advs::ad-detail/detail', compact('adv', 'complaints', - 'recommended_advs', 'categories', 'features', 'options', 'configurations')); - } else { - return back(); - } + + if (Str::slug($adv->slug, '-') != $seo) { + $this->messages->error(trans('visiosoft.module.advs::message.ad_doesnt_exist')); + return redirect()->route('visiosoft.module.advs::list'); + } else if ($adv->created_by_id == isset(auth()->user()->id) or $adv->status == "approved") { + return $this->view->make('visiosoft.module.advs::ad-detail/detail', compact('adv', 'complaints', + 'recommended_advs', 'categories', 'features', 'options', 'configurations')); + } else { + return back(); + } } else { $this->messages->error(trans('visiosoft.module.advs::message.ad_doesnt_exist')); return redirect()->route('visiosoft.module.advs::list'); From 32e5e2e299fb7bba9e7ad39c1340244653768f27 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Mon, 30 Nov 2020 17:27:53 +0300 Subject: [PATCH 07/15] #2773 emlak24 edit all area --- .../visiosoft/advs-module/resources/lang/en/message.php | 2 ++ .../advs-module/src/Http/Controller/advsController.php | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) 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 2ee555855..f99494a88 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/message.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/message.php @@ -27,4 +27,6 @@ return [ 'ad_doesnt_exist' => "This ad doesn't exist!", 'select_location_error' => "Please select a location on the map!", '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!", ]; diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php index 6704aef1d..9cca027ba 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -980,7 +980,10 @@ class AdvsController extends PublicController $this->adv_model->statusAds($id, $type); event(new ChangedStatusAd($ad));//Create Notify - $this->messages->success(trans('streams::message.edit_success', ['name' => trans('visiosoft.module.advs::field.status.name')])); + $message = $type === 'approved' ? + trans('visiosoft.module.advs::message.approve_status_change') + : trans('visiosoft.module.advs::message.passive_status_change'); + $this->messages->success($message); return back(); } From 70677ab331b9e9742d6b77075783f06ceb940e24 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Mon, 30 Nov 2020 17:38:24 +0300 Subject: [PATCH 08/15] #2773 emlak24 edit all area --- .../advs-module/src/Http/Controller/advsController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php index 9cca027ba..1add67b50 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -484,7 +484,7 @@ class AdvsController extends PublicController $adv = $this->adv_repository->getListItemAdv($id); - if ($adv && (!$adv->expired() || $adv->created_by_id === \auth()->id())) { + if ($adv && ((!$adv->expired() && $adv->getStatus() === 'approved') || $adv->created_by_id === \auth()->id())) { // Check if created by exists if (!$adv->created_by) { $this->messages->error('visiosoft.module.advs::message.this_ad_is_not_valid_anymore'); From fb710111cba45e25e677ce240a575556bd3e9c75 Mon Sep 17 00:00:00 2001 From: vedatakdogan Date: Mon, 30 Nov 2020 18:07:59 +0300 Subject: [PATCH 09/15] added exception --- app/Exceptions/ExceptionHandler.php | 21 +++++++++++++++++ composer.json | 3 ++- config/app.php | 7 ++++++ config/sentry.php | 36 +++++++++++++++++++++++++++++ config/streams.php | 12 ++++++---- 5 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 app/Exceptions/ExceptionHandler.php create mode 100644 config/sentry.php diff --git a/app/Exceptions/ExceptionHandler.php b/app/Exceptions/ExceptionHandler.php new file mode 100644 index 000000000..f08304731 --- /dev/null +++ b/app/Exceptions/ExceptionHandler.php @@ -0,0 +1,21 @@ +bound('sentry') && $this->shouldReport($e)) { + app('sentry')->captureException($e); + } + + parent::report($e); + } +} diff --git a/composer.json b/composer.json index f4ff8997a..57dcf5107 100644 --- a/composer.json +++ b/composer.json @@ -79,7 +79,8 @@ "visiosoft/integer-field_type": "~2.1.0", "visiosoft/list-field_type": "*", "guzzlehttp/guzzle": "~6.3.3", - "composer/composer": "^1.6" + "composer/composer": "^1.6", + "sentry/sentry-laravel": "*" }, "replace": { "anomaly/streams-platform": "*" diff --git a/config/app.php b/config/app.php index d30a0f6a8..83cf80506 100644 --- a/config/app.php +++ b/config/app.php @@ -1,5 +1,8 @@ Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, + 'Sentry' => Sentry\Laravel\Facade::class, + ], diff --git a/config/sentry.php b/config/sentry.php new file mode 100644 index 000000000..bd95322af --- /dev/null +++ b/config/sentry.php @@ -0,0 +1,36 @@ + env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')), + + // capture release as git sha + // 'release' => trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')), + + // When left empty or `null` the Laravel environment will be used + 'environment' => env('SENTRY_ENVIRONMENT'), + + 'breadcrumbs' => [ + // Capture Laravel logs in breadcrumbs + 'logs' => true, + + // Capture SQL queries in breadcrumbs + 'sql_queries' => true, + + // Capture bindings on SQL queries logged in breadcrumbs + 'sql_bindings' => true, + + // Capture queue job information in breadcrumbs + 'queue_info' => true, + + // Capture command information in breadcrumbs + 'command_info' => true, + ], + + // @see: https://docs.sentry.io/error-reporting/configuration/?platform=php#send-default-pii + 'send_default_pii' => false, + + 'traces_sample_rate' => (float)(env('SENTRY_TRACES_SAMPLE_RATE', 1)), + + 'controllers_base_namespace' => env('SENTRY_CONTROLLERS_BASE_NAMESPACE', 'App\\Http\\Controllers'), + +]; diff --git a/config/streams.php b/config/streams.php index 766f261e5..a05e9b5d3 100644 --- a/config/streams.php +++ b/config/streams.php @@ -1,7 +1,9 @@ [], + 'bindings' => [ + 'Anomaly\Streams\Platform\Exception\ExceptionHandler' => ExceptionHandler::class + ], /* |-------------------------------------------------------------------------- @@ -118,7 +122,7 @@ return [ */ 'middleware_priority' => [], - + /* |-------------------------------------------------------------------------- | View Overrides @@ -129,7 +133,7 @@ return [ */ 'overrides' => [], - + /* |-------------------------------------------------------------------------- | Control Panel Customization From 705a1480b7f570216ddcf9d6963b6a16cd4bbf43 Mon Sep 17 00:00:00 2001 From: samed Date: Mon, 30 Nov 2020 18:18:16 +0300 Subject: [PATCH 10/15] tuskish language first name last name update --- .../visiosoft/location-module/resources/lang/tr/field.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/default/visiosoft/location-module/resources/lang/tr/field.php b/addons/default/visiosoft/location-module/resources/lang/tr/field.php index 38c6afb16..4e4966a01 100644 --- a/addons/default/visiosoft/location-module/resources/lang/tr/field.php +++ b/addons/default/visiosoft/location-module/resources/lang/tr/field.php @@ -34,5 +34,8 @@ return [ 'address' => [ 'name' => 'Adres', ], - 'selected' => 'seçilmiş' + 'selected' => 'Seçilmiş', + 'choose_an_option' => 'Seçim yapınız..', + + ]; From 1108dd7f12175e37ecc958fe3151fce3954b8bf1 Mon Sep 17 00:00:00 2001 From: vedatakdogan Date: Tue, 1 Dec 2020 11:37:37 +0300 Subject: [PATCH 11/15] completed fast payment --- .../profile-module/src/Adress/AdressModel.php | 23 ++++++++++++++----- .../src/Adress/AdressRepository.php | 14 +++++++++++ .../src/Adress/Contract/AdressInterface.php | 2 +- .../Contract/AdressRepositoryInterface.php | 2 ++ 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/addons/default/visiosoft/profile-module/src/Adress/AdressModel.php b/addons/default/visiosoft/profile-module/src/Adress/AdressModel.php index 36724c496..9f623e685 100644 --- a/addons/default/visiosoft/profile-module/src/Adress/AdressModel.php +++ b/addons/default/visiosoft/profile-module/src/Adress/AdressModel.php @@ -1,30 +1,41 @@ where('id',$id)->whereNull('deleted_at'); + return AdressModel::query()->where('id', $id)->whereNull('deleted_at'); } - public function getAdressFirst($id) { + public function getAdressFirst($id) + { return $this->getAdress($id)->first(); } public function getUserAdress($id = null) { if ($id != null) { - return $this->query()->where('user_id',$id)->whereNull('deleted_at')->get(); + return $this->query()->where('user_id', $id)->whereNull('deleted_at')->get(); } return $this->query()->where('user_id', Auth::id())->whereNull('deleted_at')->get(); } + public function getCountry() + { + return app(CountryRepositoryInterface::class)->find($this->country_id); + } + public function getCity() + { + return app(CityRepositoryInterface::class)->find($this->city); + } } diff --git a/addons/default/visiosoft/profile-module/src/Adress/AdressRepository.php b/addons/default/visiosoft/profile-module/src/Adress/AdressRepository.php index ff52642bf..0bb69dc28 100644 --- a/addons/default/visiosoft/profile-module/src/Adress/AdressRepository.php +++ b/addons/default/visiosoft/profile-module/src/Adress/AdressRepository.php @@ -27,4 +27,18 @@ class AdressRepository extends EntryRepository implements AdressRepositoryInterf { return $this->newQuery()->where('user_id', $user_id)->get(); } + + public function createAddress($name, $user_id, $first_name, $last_name, $country_id, $city_id, $content, $gsm_phone) + { + return $this->create([ + 'adress_name' => $name, + 'user_id' => $user_id, + 'adress_first_name' => $first_name, + 'adress_last_name' => $last_name, + 'country_id' => $country_id, + 'city' => $city_id, + 'adress_content' => $content, + 'adress_gsm_phone' => $gsm_phone, + ]); + } } diff --git a/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressInterface.php b/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressInterface.php index eee3bd4dc..03db90b61 100644 --- a/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressInterface.php +++ b/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressInterface.php @@ -4,5 +4,5 @@ use Anomaly\Streams\Platform\Entry\Contract\EntryInterface; interface AdressInterface extends EntryInterface { - + public function getCountry(); } diff --git a/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressRepositoryInterface.php b/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressRepositoryInterface.php index 3c4cecd65..24002ac9c 100644 --- a/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressRepositoryInterface.php +++ b/addons/default/visiosoft/profile-module/src/Adress/Contract/AdressRepositoryInterface.php @@ -5,4 +5,6 @@ use Anomaly\Streams\Platform\Entry\Contract\EntryRepositoryInterface; interface AdressRepositoryInterface extends EntryRepositoryInterface { public function findByUser($user_id); + + public function createAddress($name, $user_id, $first_name, $last_name, $country_id, $city_id, $content, $gsm_phone); } From f7130b0a2326c49565ad87e0c9d0324f7b6acb74 Mon Sep 17 00:00:00 2001 From: vedatakdogan Date: Tue, 1 Dec 2020 11:45:57 +0300 Subject: [PATCH 12/15] added currency icon --- resources/streams/config/currencies.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/streams/config/currencies.php b/resources/streams/config/currencies.php index 6106009b2..6d1247b1a 100644 --- a/resources/streams/config/currencies.php +++ b/resources/streams/config/currencies.php @@ -42,7 +42,7 @@ return [ 'USD' => [ 'name' => 'US Dollar', 'direction' => 'ltr', - 'symbol' => '', + 'symbol' => '$', 'separator' => '.', 'point' => ',', 'decimals' => 2, From 5b788479ee835c2ea360ed23b8a0726568c3e419 Mon Sep 17 00:00:00 2001 From: vedatakdogan Date: Tue, 1 Dec 2020 11:51:23 +0300 Subject: [PATCH 13/15] move require --- addons/default/visiosoft/advs-module/composer.json | 3 ++- composer.json | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/default/visiosoft/advs-module/composer.json b/addons/default/visiosoft/advs-module/composer.json index e7ea7302a..dbb8481dd 100644 --- a/addons/default/visiosoft/advs-module/composer.json +++ b/addons/default/visiosoft/advs-module/composer.json @@ -13,6 +13,7 @@ "wirelab/language_switcher-plugin": "^1.3", "visiosoft/addblock-extension": "^1.1", "ext-zip": "*", - "chumper/zipper": "^1.0" + "chumper/zipper": "^1.0", + "sentry/sentry-laravel": "*" } } diff --git a/composer.json b/composer.json index 57dcf5107..f4ff8997a 100644 --- a/composer.json +++ b/composer.json @@ -79,8 +79,7 @@ "visiosoft/integer-field_type": "~2.1.0", "visiosoft/list-field_type": "*", "guzzlehttp/guzzle": "~6.3.3", - "composer/composer": "^1.6", - "sentry/sentry-laravel": "*" + "composer/composer": "^1.6" }, "replace": { "anomaly/streams-platform": "*" From 9f9ac225397e414b55f3f98a28377aaccf569a68 Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Tue, 1 Dec 2020 12:00:00 +0300 Subject: [PATCH 14/15] location table columns changed --- .../visiosoft/location-module/resources/js/filterLocation.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/default/visiosoft/location-module/resources/js/filterLocation.js b/addons/default/visiosoft/location-module/resources/js/filterLocation.js index 941776314..a7846951c 100644 --- a/addons/default/visiosoft/location-module/resources/js/filterLocation.js +++ b/addons/default/visiosoft/location-module/resources/js/filterLocation.js @@ -201,12 +201,9 @@ function SelectOnClick() { var id = $(this).attr('data-id'); if ($(this).attr('data-field') == "country") { - // $('.filter-location-modal,.filter-location-back,.filter-location-modal .countries').hide(); - // $('input[name="country"]').val(id) $('.selected-city').html(''); $('input[name="city[]"]').val(''); text_html.html(input_text) - // $(".filter-location-body input[type='checkbox']").prop('checked', false); $(".filter-location-body li[data-id='" + id + "'] input[type='checkbox']").prop('checked', true); } From 23ff5f144188ef3a2734e4f38e2ff638bce0dcec Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Tue, 1 Dec 2020 13:04:50 +0300 Subject: [PATCH 15/15] mini changes --- .../advs-module/src/Adv/AdvModel.php | 17 +++++--------- ....module.location__add_abv_to_countries.php | 23 ------------------- 2 files changed, 6 insertions(+), 34 deletions(-) delete mode 100644 addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php index 4091e363e..6c6abf11c 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvModel.php @@ -214,17 +214,12 @@ class AdvModel extends AdvsAdvsEntryModel implements AdvInterface } - public function getAdvDetailLinkByModel($object, $type = null) - { - if ($type != null) { - $id = $object->id; - $seo = str_slug($object->slug, '-'); - return \route('adv_detail_seo', [$seo, $id]); - } - $id = $object->getObject()->id; - $seo = str_slug($object->getObject()->name, '-'); - return \route('adv_detail_seo', [$seo, $id]); - } + public function getAdvDetailLinkByModel($object, $type = null) + { + $id = $object->id; + $seo = str_slug($object->slug, '-'); + return \route('adv_detail_seo', [$seo, $id]); + } public function getAdvDetailLinkByAdId($id) { diff --git a/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php b/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php deleted file mode 100644 index c9fae47d4..000000000 --- a/addons/default/visiosoft/location-module/migrations/2020_10_13_133916_visiosoft.module.location__add_abv_to_countries.php +++ /dev/null @@ -1,23 +0,0 @@ - 'countries', - ]; - - protected $fields = [ - 'abv' => 'anomaly.field_type.text', - ]; - - protected $assignments = [ - 'abv', - ]; -}