Fixed Showing Orders of users of same company
This commit is contained in:
@@ -70,7 +70,23 @@ class Address extends mfBaseModel {
|
||||
return $this->getFullName();
|
||||
}
|
||||
|
||||
|
||||
public function getUserIds($childs = true) {
|
||||
$userIds = [];
|
||||
foreach(UserModel::search(['address_id' => $this->id]) as $user) {
|
||||
$userIds[] = $user->id;
|
||||
}
|
||||
|
||||
if($childs) {
|
||||
foreach(AddressModel::search(['parent_id' => $this->id]) as $child) {
|
||||
foreach(UserModel::search(['address_id' => $child->id]) as $user) {
|
||||
$userIds[] = $user->id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$userIds = array_unique($userIds);
|
||||
return $userIds;
|
||||
}
|
||||
|
||||
public function loadAddresstypes() {
|
||||
if(!$this->id) {
|
||||
|
||||
@@ -148,7 +148,9 @@ class BuildingController extends mfBaseController {
|
||||
|
||||
$this->layout()->set("networksections", NetworksectionModel::getAll());
|
||||
|
||||
|
||||
if($this->request->network_id) {
|
||||
$this->layout()->set("request_network_id", $this->request->network_id);
|
||||
}
|
||||
}
|
||||
|
||||
protected function editAction() {
|
||||
@@ -415,6 +417,7 @@ class BuildingController extends mfBaseController {
|
||||
$u['city'] = $building->city;
|
||||
$u['oan_id'] = $building->oan_id;
|
||||
$u['code'] = $building->code;
|
||||
$u['units'] = ($building->units) ? $building->units : 1;
|
||||
$u['status'] = $building->status->name;
|
||||
$unsorted[$building->street."-".$building->id] = $u;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,8 @@ class NetworkAddressController extends mfBaseController {
|
||||
foreach(TT_NETWORK_ROLES as $rolestring) {
|
||||
if(in_array($rolestring, $new_roles)) {
|
||||
// check if role exists
|
||||
if(NetworkAddressModel::search(['network_id' => $network, 'address_id' => $address_id, 'addresstype' => [$rolestring]])) {
|
||||
$existing_role = NetworkAddressModel::search(['network_id' => $network_id, 'address_id' => $address_id, 'addresstype' => [$rolestring]]);
|
||||
if($existing_role) {
|
||||
continue; // role exists
|
||||
} else {
|
||||
$na = NetworkAddressModel::create(['network_id' => $network_id, 'address_id' => $address_id, 'type' => $rolestring]);
|
||||
@@ -51,12 +52,11 @@ class NetworkAddressController extends mfBaseController {
|
||||
// role does not exist, create it
|
||||
} else {
|
||||
// not in new_roles, delete (if exists)
|
||||
$na = NetworkAddressModel::getFirst(['network_id' => $network, 'address_id' => $address_id, 'addresstype' => [$rolestring]]);
|
||||
$na = NetworkAddressModel::getFirst(['network_id' => $network_id, 'address_id' => $address_id, 'addresstype' => [$rolestring]]);
|
||||
if($na) {
|
||||
$na->delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
$this->redirect("Network", "Index", [],"view=roles&net=$network_id");
|
||||
|
||||
@@ -36,7 +36,7 @@ class OrderController extends mfBaseController {
|
||||
|
||||
$this->layout->set("filter", $this->request->filter);
|
||||
$filter = $this->getPreparedFilter($this->request->filter);
|
||||
|
||||
|
||||
// pagination defaults
|
||||
$pagination = [];
|
||||
$pagination['start'] = 0;
|
||||
@@ -83,10 +83,11 @@ class OrderController extends mfBaseController {
|
||||
}
|
||||
$this->layout()->set("mynetworks", $this->me->my_networks);
|
||||
}
|
||||
|
||||
unset($filter['network_id']);
|
||||
|
||||
// get Orders in my networks
|
||||
|
||||
//var_dump($my_networks);exit;
|
||||
$my_network_ids = [];
|
||||
$orders = [];
|
||||
//var_dump($this->me->my_networks);exit;
|
||||
@@ -111,6 +112,8 @@ class OrderController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
$userIds = $this->me->getAddressOrParent()->getUserIds();
|
||||
//var_dump($userIds);exit;
|
||||
if(!array_key_exists("network_linked_status", $order_search)) {
|
||||
$lonelyOrders = [];
|
||||
unset($order_search["network_id"]);
|
||||
@@ -121,7 +124,8 @@ class OrderController extends mfBaseController {
|
||||
$lonelies = OrderModel::search($order_search);
|
||||
}
|
||||
} else {
|
||||
$order_search['create_by'] = $this->me->id;
|
||||
$order_search['create_by'] = $userIds;
|
||||
//var_dump($order_search);exit;
|
||||
$lonelies = OrderModel::search($order_search);
|
||||
}
|
||||
foreach($lonelies as $order) {
|
||||
@@ -138,7 +142,7 @@ class OrderController extends mfBaseController {
|
||||
$lonelies = OrderModel::search($order_search);
|
||||
}
|
||||
} else {
|
||||
$order_search['create_by'] = $this->me->id;
|
||||
$order_search['create_by'] = $userIds;
|
||||
$lonelies = OrderModel::search($order_search);
|
||||
}
|
||||
foreach($lonelies as $order) {
|
||||
|
||||
@@ -265,7 +265,9 @@ class OrderModel {
|
||||
|
||||
if(array_key_exists("create_by", $filter)) {
|
||||
$create_by = $filter['create_by'];
|
||||
if(is_numeric($create_by)) {
|
||||
if(is_array($create_by)) {
|
||||
$where .= " AND `Order`.create_by IN (".implode(",",$create_by).")";
|
||||
} elseif(is_numeric($create_by)) {
|
||||
$where .= " AND `Order`.create_by=$create_by";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,10 +44,15 @@ class PreorderController extends mfBaseController {
|
||||
$this->layout()->set("networks", $this->me->my_networks);
|
||||
}
|
||||
|
||||
$this->layout()->set("types", BuildingtypeModel::getAll());
|
||||
$this->layout()->set("statuses", BuildingstatusModel::getAll());
|
||||
if(!$this->request->preordercampaign_id) {
|
||||
$this->layout()->setFlash("Keine Kampagne ausgewählt!", "warn");
|
||||
}
|
||||
|
||||
$campaign_id = $this->request->preordercampaign_id;
|
||||
$campaign = new Preordercampaign($campaign_id);
|
||||
$this->layout()->set("campaign", $campaign);
|
||||
|
||||
|
||||
$this->layout()->set("networksections", NetworksectionModel::getAll());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -179,8 +179,8 @@ class User extends mfBaseModel {
|
||||
foreach($my_networks as $net) {
|
||||
//var_dump($net);exit;
|
||||
$address_id = $this->address_id;
|
||||
if($this->getProperty("address")->parent_id) {
|
||||
$address_id = $this->getProperty("address")->parent_id;
|
||||
if($this->address->parent_id) {
|
||||
$address_id = $this->address->parent_id;
|
||||
}
|
||||
$found = NetworkaddressModel::search(['network_id' => $net->id, "addresstype" => [$type], 'address_id' => $address_id]);
|
||||
//var_dump($found);exit;
|
||||
@@ -217,4 +217,26 @@ class User extends mfBaseModel {
|
||||
|
||||
return $my_networks;
|
||||
}
|
||||
|
||||
public function getAddressOrParent() {
|
||||
if(!$this->id) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if(!$this->address->parent_id) {
|
||||
return $this->address;
|
||||
}
|
||||
|
||||
$parent = $this->address->parent;
|
||||
$p = $parent;
|
||||
while($p) {
|
||||
if(!$p->parent_id) {
|
||||
break;
|
||||
}
|
||||
$parent = $p->parent;
|
||||
}
|
||||
|
||||
return $parent;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user