#1004 Other users ads are showing in my profile

This commit is contained in:
Diatrex 2020-02-27 18:13:06 +03:00
parent 6d7edb7b74
commit 7aff323e3a
3 changed files with 85 additions and 11 deletions

View File

@ -78,7 +78,6 @@ class AjaxController extends PublicController
} else {
$page_title = trans('visiosoft.module.advs::field.my_adv.name');
$my_advs = $my_advs->myAdvsByUser();
}
$my_advs = $my_advs->orderByDesc('id');
$my_advs = $advRepository->addAttributes($my_advs->get());
@ -86,11 +85,8 @@ class AjaxController extends PublicController
foreach ($my_advs as $index => $ad) {
$my_advs[$index]->detail_url = $this->adv_model->getAdvDetailLinkByModel($ad, 'list');
$my_advs[$index] = $this->adv_model->AddAdsDefaultCoverImage($ad);
}
return response()->json(['success' => true, 'content' => $my_advs, 'title' => $page_title]);
}
}

View File

@ -1,3 +1,70 @@
var current_page = 1;
var records_per_page = ads_per_page;
var ads_type = "";
var objJson = [];
function prevPage()
{
if (current_page > 1) {
current_page--;
changePage(current_page);
}
}
function nextPage(event)
{
if (current_page < numPages()) {
current_page++;
changePage(current_page);
}
}
function changePage(page)
{
var btn_next = $("#btn_next");
var btn_prev = $("#btn_prev");
var listing_table = $("#nav-" + ads_type);
var page_span = $("#page");
// Validate page
if (page < 1) page = 1;
if (page > numPages()) page = numPages();
listing_table.html("");
for (var i = (page-1) * records_per_page; i < (page * records_per_page) && i < objJson.length; i++) {
listing_table.append(addAdsRow(objJson[i].id, objJson[i].detail_url, objJson[i].cover_photo, objJson[i].name,
objJson[i].price + " " + objJson[i].currency,
objJson[i].city_name, objJson[i].country_name, objJson[i].cat1_name, objJson[i].cat2_name, objJson[i].status));
}
page_span.html(page + "/" + numPages());
if (numPages() === 1) {
page_span.hide();
} else {
page_span.show();
}
if (page === 1) {
btn_prev.hide();
} else {
btn_prev.show();
}
if (page === numPages()) {
btn_next.hide();
} else {
btn_next.show();
}
}
function numPages()
{
return Math.ceil(objJson.length / records_per_page);
}
function crud(params, url, type, callback) {
$.ajax({
type: type,
@ -11,12 +78,10 @@ function crud(params, url, type, callback) {
function getMyAds(type) {
crud({'type': type}, '/ajax/getAds', 'GET', function (callback) {
$('#nav-' + type).html("");
$.each(callback.content, function (index, adv) {
$('#nav-' + type).append(addAdsRow(adv.id, adv.detail_url, adv.cover_photo, adv.name,
adv.price + " " + adv.currency,
adv.city_name, adv.country_name, adv.cat1_name, adv.cat2_name, adv.status));
});
ads_type = type;
current_page = 1;
objJson = callback.content;
changePage(1);
})
}

View File

@ -10,7 +10,6 @@
<div class="col-md-12 bg-light ads-section">
<nav class="profile-ads-tab">
<div class="nav nav-tabs nav-fill" id="nav-tab" role="tablist">
<a class="nav-item nav-link active text-dark" data-type="approved" id="nav-approved-tab"
data-toggle="tab"
@ -48,6 +47,19 @@
<div class="tab-pane fade show" id="nav-passive" role="tabpanel"
aria-labelledby="nav-passive-tab">
</div>
<!-- Pagination links -->
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item">
<a id="btn_prev" class="page-link" href="javascript:prevPage()">Previous</a>
</li>
<li class="page-item"><span id="page" class="page-link">1</span></li>
<li class="page-item">
<a id="btn_next" class="page-link" href="javascript:nextPage()">Next</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
@ -59,6 +71,7 @@
var delete_ad = "{{ trans('visiosoft.module.profile::button.delete') }}";
var extend_ad = "{{ trans('visiosoft.module.profile::button.extend') }}";
var edit_ad = "{{ trans('visiosoft.module.profile::button.edit') }}";
var ads_per_page = "{{ setting_value('streams::per_page') }}";
</script>
{{ asset_add('scripts.js','visiosoft.module.profile::assets/js/ads.js') }}
{% endblock %}