Skip to content
Snippets Groups Projects
Commit 8396cf35 authored by chaerla's avatar chaerla
Browse files

Merge branch 'curators' of https://gitlab.informatika.org/if3110-2023-01-16/bnmoboxd into curators

parents 349f64d3 3ff92088
Branches
Tags
1 merge request!8Curators
......@@ -183,4 +183,6 @@ INSERT INTO subscriptions (curator_id, subscriber_id, status)
VALUES
(1, 1, 'ACCEPTED'),
(1, 2, 'ACCEPTED'),
(2, 1, 'PENDING');
\ No newline at end of file
(1, 3, 'PENDING'),
(2, 1, 'PENDING'),
(3, 1, 'REJECTED');
\ No newline at end of file
......@@ -34,4 +34,20 @@ document.addEventListener("DOMContentLoaded", function () {
// })
handleClose('#confirm-subscribe-modal');
});
});
\ No newline at end of file
});
const subscription_status = document.querySelectorAll('.status-text');
subscription_status.forEach(function coloring(ss) {
if (ss.innerHTML == "Accepted") {
ss.style.backgroundColor = "green";
}
else if (ss.innerHTML == "Pending") {
ss.style.backgroundColor = "#F29339";
}
else if (ss.innerHTML == "Rejected") {
ss.style.backgroundColor = "red";
}
else {
ss.style.backgroundColor = "grey";
}
})
\ No newline at end of file
......@@ -37,7 +37,7 @@ class CuratorsController extends Controller {
public function index() {
$userId = $_SESSION['user_id'];
$curators = ['curators' => [['id' => 1, 'count' => $this->curatorsService->getSubscriber(1), 'status' => $this->curatorsService->getSubscriptionStatus(1, $userId)], ['id' => 2, 'count' => $this->curatorsService->getSubscriber(2), 'status' => $this->curatorsService->getSubscriptionStatus(2, $userId)]]];
$curators = ['curators' => [['id' => 1, 'count' => $this->curatorsService->getSubscriber(1), 'status' => $this->curatorsService->getSubscriptionStatus(1, $userId)], ['id' => 2, 'count' => $this->curatorsService->getSubscriber(2), 'status' => $this->curatorsService->getSubscriptionStatus(2, $userId)], ['id' => 3, 'count' => $this->curatorsService->getSubscriber(3), 'status' => $this->curatorsService->getSubscriptionStatus(3, $userId)], ['id' => 4, 'count' => $this->curatorsService->getSubscriber(4), 'status' => $this->curatorsService->getSubscriptionStatus(4, $userId)]]];
$this->render('index', array_merge($curators, ['currentPage' => 1, 'pageSize' => 5]));
}
......
......@@ -16,7 +16,7 @@ class CuratorsRepository extends Repository {
}
public function getSubscriberCount($curator_id) {
$query = 'SELECT COUNT(*) FROM subscriptions WHERE curator_id = :curator_id';
$query = "SELECT COUNT(*) FROM subscriptions WHERE curator_id = :curator_id AND status = 'ACCEPTED'";
$params = [
'curator_id' => $curator_id
];
......
......@@ -18,7 +18,11 @@ class CuratorsService extends Service {
}
public function getSubscriptionStatus($curator_id, $subscriber_id) {
return $this->curatorsRepository->getSubscriptionStatus($curator_id, $subscriber_id)[0];
$status = $this->curatorsRepository->getSubscriptionStatus($curator_id, $subscriber_id);
if (empty($status)) {
return "Not Subscribed";
}
return ucwords(strtolower($status[0]));
}
public function getSubscriber($curator_id) {
......
......@@ -5,7 +5,6 @@ include_once Application::$BASE_DIR . '/src/views/components/navbar.php';
function curatorList($data) {
$str = "";
// echo $data['curators'][0];
$curators = $data['curators'];
if (!empty($curators)) {
foreach ($curators as $curator) {
......
......@@ -9,13 +9,6 @@ function showCuratorProfile($data) {
$subscriber = $data['subscriber'];
$profileImg = '/assets/users/blank.jpeg';
$status = $data['status'];
$button = 'Subscribe';
if ($status == 'ACCEPTED') {
$button = 'Unsubscribe';
}
else if ($status == 'PENDING') {
$button = 'CANCEL';
}
$html = <<<EOT
<div class="curator-container" id="cc2">
<div class="user-profile">
......@@ -27,29 +20,41 @@ function showCuratorProfile($data) {
<h6 class="curator-info">$subscriber subscriber</h6>
</div>
<div class="subscribe-section">
<div class="inner-subscribe">
<h6 class="status-text">$status</h6>
<button type="button" class="btn-subscribe" id="subscribe">$button</button>
<div class="inner-subscribe">
<h6 class="status-text">$status</h6>
EOT;
if ($status == "Not Subscribed") {
$html = $html . <<<EOT
<button type="button" class="btn-subscribe" id="subscribe">Subscribe</button>
</div>
</div>
<div class="modal-container" id="confirm-subscribe-modal">
<div class="confirmation-modal">
<h2>Are you sure you want to Subscribe?</h2>
<div class="btn-group">
<button type="button" class="btn-primary" id="confirm-subscribe-btn">Yes</button>
<button type="button" class="btn-danger" onclick="handleClose('#confirm-subscribe-modal')">No</button>
</div>
</div>
</div>
</div>
<div class="modal-container" id="confirm-subscribe-modal">
<div class="confirmation-modal">
<h2>Are you sure you want to $button</h2>
<div class="btn-group">
<button type="button" class="btn-primary" id="confirm-subscribe-btn">Yes</button>
<button type="button" class="btn-danger" onclick="handleClose('#confirm-subscribe-modal')">No</button>
EOT;
}
else {
$html = $html . <<<EOT
</div>
</div>
</div>
</div>
EOT;
EOT;
}
return $html;
}
function showCuratorReviews($data) {
$str = "";
$subscribed = $data['status'] == 'ACCEPTED';
$subscribed = $data['status'] == 'Accepted';
if ($subscribed) {
if (!empty($data['reviews'])) {
$reviews = $data['reviews'];
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment