Added new "Netzbesitzer" Filter inside Preorder
This commit is contained in:
@@ -137,13 +137,48 @@
|
||||
|
||||
|
||||
<div class="col-sm-12 col-md-2">
|
||||
<label class="form-label" for="filter_preordercampaign_id">Kampagne</label>
|
||||
<select name="filter[preordercampaign_id]" id="filter_preordercampaign_id" class="form-control">
|
||||
<option value="">Alle</option>
|
||||
<label class="form-label" for="filter_preordercampaign_id" style="display: flex">Kampagne
|
||||
<?php if(isset($netowner_campaign_ids) && is_array($netowner_campaign_ids) && count($netowner_campaign_ids)): ?>
|
||||
<div class="dropdown ml-1" style="cursor: pointer">
|
||||
<span id="netowner-campaigns-dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle">(Netzbesitzer <i class="fas fa-caret-down"></i>)</span>
|
||||
<div class="dropdown-menu" aria-labelledby="netowner-campaigns-dropdown">
|
||||
<?php foreach($netowner_campaign_ids as $netowner => $campaigns): ?>
|
||||
<a class="dropdown-item" href="#" onclick="selectNetOwnerCampaign(<?= htmlspecialchars(json_encode($campaigns), ENT_QUOTES, 'UTF-8') ?>, '<?= htmlspecialchars($netowner)?>'); return false;"><?= htmlspecialchars($netowner) ?></a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.select2-container.select2-container--default {
|
||||
max-height: 150px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
function selectNetOwnerCampaign(campaigns, netowner) {
|
||||
$('#filter_preordercampaign_id').val(campaigns);
|
||||
$('#filter_preordercampaign_id').trigger('change');
|
||||
console.log(campaigns);
|
||||
window.notify('success', 'Kampagnen von ' + netowner + ' ausgewählt');
|
||||
}
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
</label>
|
||||
<select name="filter[preordercampaign_id][]" id="filter_preordercampaign_id" class="form-control" multiple="multiple">
|
||||
<?php
|
||||
// if partner_id is string unset it from filter
|
||||
if(isset($filter) && array_key_exists("preordercampaign_id", $filter) && is_string($filter["preordercampaign_id"])) {
|
||||
unset($filter["preordercampaign_id"]);
|
||||
}
|
||||
?>
|
||||
<?php foreach($my_campaigns as $c): ?>
|
||||
<option value="<?=$c->id?>" <?=(isset($campaign) && $c->id == $campaign->id) ? "selected='selected'" : ""?>><?=$c->name?></option>
|
||||
<option value="<?=$c->id?>" <?=(isset($filter) && array_key_exists("preordercampaign_id", $filter) && in_array($c->id, $filter["preordercampaign_id"])) ? "selected='selected'" : ""?>><?=$c->name?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -471,6 +506,7 @@
|
||||
$("#filter_type").select2({closeOnSelect: false});
|
||||
$("#filter_status").select2({closeOnSelect: false});
|
||||
$("#filter_partner_id").select2({closeOnSelect: false});
|
||||
$("#filter_preordercampaign_id").select2({closeOnSelect: false});
|
||||
$("#connection_type_id").select2({closeOnSelect: false});
|
||||
|
||||
var attributes = ["bep_specified", "inhouse_cabling_supplied"];
|
||||
|
||||
@@ -75,13 +75,31 @@ class PreorderController extends mfBaseController {
|
||||
|
||||
$this->layout()->set("campaign", new Preordercampaign());
|
||||
|
||||
$all_preorder_campaigns = PreordercampaignModel::getAll();
|
||||
if ($this->me->is("Admin")) {
|
||||
$netowner_campaign_ids = [];
|
||||
|
||||
foreach ($all_preorder_campaigns as $campaign) {
|
||||
$network = new Network($campaign->network_id);
|
||||
$netowner = new Address($network->owner_id);
|
||||
|
||||
if (!array_key_exists($netowner->getCompanyOrName(), $netowner_campaign_ids)) {
|
||||
$netowner_campaign_ids[$netowner->getCompanyOrName()] = [];
|
||||
}
|
||||
|
||||
$netowner_campaign_ids[$netowner->getCompanyOrName()][] = $campaign->id;
|
||||
}
|
||||
|
||||
$this->layout()->set("netowner_campaign_ids", $netowner_campaign_ids);
|
||||
}
|
||||
|
||||
if($this->me->is("Admin")) {
|
||||
if($filter['preordercampaign_id']) {
|
||||
$this->layout()->set("campaign", new Preordercampaign($filter['preordercampaign_id']));
|
||||
} else {
|
||||
$my_campaigns = PreordercampaignModel::getAll();
|
||||
$my_campaigns = $all_preorder_campaigns;
|
||||
}
|
||||
$this->layout()->set("my_campaigns", PreordercampaignModel::getAll());
|
||||
$this->layout()->set("my_campaigns", $all_preorder_campaigns);
|
||||
} else {
|
||||
if($this->me->is("preorderfront")) {
|
||||
$pns = json_decode($this->me->getFlag("preorder_networks"));
|
||||
|
||||
Reference in New Issue
Block a user