Merge pull request #182 from openclassify/dia

#137 If ad has no photo it's not seen right
This commit is contained in:
Fatih Alp 2019-12-23 18:15:09 +03:00 committed by GitHub
commit dde1bfa94a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 151 additions and 1 deletions

View File

@ -19,6 +19,18 @@ return [
'price' => [
'name' => 'Price'
],
'date' => [
'name' => 'Date'
],
'photo' => [
'name' => 'Photo'
],
'video' => [
'name' => 'Video'
],
'map' => [
'name' => 'Map'
],
'stock' => [
'name' => 'Stock'
],
@ -220,4 +232,22 @@ return [
'min' => [
'name' => 'Min',
],
'in_the_last_24_hours' => [
'name' => 'In The Last 24 Hours'
],
'in_the_last_week' => [
'name' => 'In The Last Week'
],
'in_the_last_month' => [
'name' => 'In The Last Month'
],
'ads_with_photo' => [
'name' => 'Ads With Photo'
],
'ads_with_video' => [
'name' => 'Ads With Video'
],
'yes' => [
'name' => 'Yes'
]
];

View File

@ -19,6 +19,103 @@
'villages':villages
})|raw }}
<!-- Date Filter Start -->
<div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="dateHeading">
<h5 class="mb-0">
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#date"
aria-expanded="true" aria-controls="date">
<i class="fa fa-calendar"></i>
{{ trans("visiosoft.module.advs::field.date.name") }}
</button>
</h5>
</div>
<div id="dateContainer" class="collapse show overflow-auto" aria-labelledby="dateHeading"
data-parent="#filter"
style="max-height: 300px;">
<div class="row p-3 m-0">
<div class="form-check py-1">
<input class="form-check-input" type="radio" name="date" id="dateDay" value="day">
<label class="form-check-label" for="dateDay">
{{ trans("visiosoft.module.advs::field.in_the_last_24_hours.name") }}
</label>
</div>
<div class="form-check py-1">
<input class="form-check-input" type="radio" name="date" id="dateWeek" value="week">
<label class="form-check-label" for="dateWeek">
{{ trans("visiosoft.module.advs::field.in_the_last_week.name") }}
</label>
</div>
<div class="form-check py-1">
<input class="form-check-input" type="radio" name="date" id="dateMonth" value="month">
<label class="form-check-label" for="dateMonth">
{{ trans("visiosoft.module.advs::field.in_the_last_month.name") }}
</label>
</div>
</div>
</div>
</div>
<!-- Date Filter End -->
<!-- Media Filter Start -->
<div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="mediaHeading">
<h5 class="mb-0">
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#media"
aria-expanded="true" aria-controls="media">
<i class="fa fa-camera"></i>
{{ trans("visiosoft.module.advs::field.photo.name") }}, {{ trans("visiosoft.module.advs::field.video.name") }}
</button>
</h5>
</div>
<div id="mediaContainer" class="collapse show overflow-auto" aria-labelledby="mediaHeading"
data-parent="#filter"
style="max-height: 300px;">
<div class="row p-3 m-0">
<div class="form-check py-1">
<input class="form-check-input" type="checkbox" value="true" name="photo" id="photo">
<label class="form-check-label" for="photo">
{{ trans("visiosoft.module.advs::field.ads_with_photo.name") }}
</label>
</div>
<div class="form-check py-1">
<input class="form-check-input" type="checkbox" value="true" name="video" id="video">
<label class="form-check-label" for="video">
{{ trans("visiosoft.module.advs::field.ads_with_video.name") }}
</label>
</div>
</div>
</div>
</div>
<!-- Media Filter End -->
<!-- Map Filter Start -->
<div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="mapHeading">
<h5 class="mb-0">
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#mapFilter"
aria-expanded="true" aria-controls="mapFilter">
<i class="fa fa-map"></i>
{{ trans("visiosoft.module.advs::field.map.name") }}
</button>
</h5>
</div>
<div id="mapContainer" class="collapse show overflow-auto" aria-labelledby="mapHeading"
data-parent="#filter"
style="max-height: 300px;">
<div class="row p-3 m-0">
<div class="form-check py-1">
<input class="form-check-input" type="checkbox" value="true" name="map" id="mapFilter">
<label class="form-check-label" for="mapFilter">
{{ trans("visiosoft.module.advs::field.yes.name") }}
</label>
</div>
</div>
</div>
</div>
<!-- Map Filter End -->
<!-- Price Filter Start -->
<div class="card mb-3">
<div class="card-header breadcrumb mb-0" id="priceHeading">
<h5 class="mb-0">
@ -58,7 +155,7 @@
</div>
</div>
</div>
<!-- Price Filter End -->
<div class="card">
<div class="card-header bg-primary text-center" id="submitHeading">

View File

@ -2,6 +2,7 @@
use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface;
use Anomaly\Streams\Platform\Model\Advs\AdvsAdvsEntryModel;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface;
use Anomaly\Streams\Platform\Entry\EntryRepository;
@ -112,6 +113,26 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface
$column = "JSON_EXTRACT(foreign_currencies, '$." . $param['currency'] . "') <=" . $int;
$query = $query->whereRaw($column);
}
if (!empty($param['date'])) {
if ($param['date'] === 'day') {
$query = $query->where('advs_advs.publish_at', '>=', Carbon::now()->subDay());
} elseif ($param['date'] === 'week') {
$query = $query->where('advs_advs.publish_at', '>=', Carbon::now()->subWeek());
} elseif ($param['date'] === 'month') {
$query = $query->where('advs_advs.publish_at', '>=', Carbon::now()->subMonth());
}
}
if (!empty($param['photo'])) {
$query = $query->whereNotNull('cover_photo');
}
// if (!empty($param['video'])) {
// $int = (int)$num;
// $column = "JSON_EXTRACT(foreign_currencies, '$." . $param['currency'] . "') <=" . $int;
// $query = $query->whereRaw($column);
// }
if (!empty($param['map']) && $param['map'] == true) {
$query = $query->whereNotNull('map_Val');
}
foreach ($param as $para => $value) {
if (substr($para, 0, 3) === "cf_") {

View File

@ -86,6 +86,8 @@ class AdvsController extends AdminController
'wrapper' => function (EntryInterface $entry, Request $request) {
if (strpos($entry->cover_photo, 'http') === 0) {
$wrapper = '<img width="64" src="'.$entry->cover_photo.'">';
} else if (is_null($entry->cover_photo)) {
$wrapper = '<img width="64" src="{{ img(\'visiosoft.theme.base::images/no-image.png\').url }}">';
} else {
$wrapper = '<img width="64" src="'.$request->root().'/'.$entry->cover_photo.'">';
}