Added preorder network select to user/form
This commit is contained in:
@@ -163,7 +163,7 @@
|
||||
</tr>
|
||||
<?php foreach($preorders as $preorder): ?>
|
||||
<tr>
|
||||
<?php if(!$me->is("preorderfront")): ?><td><?=$preorder->campaign->name?></td><?php endif; ?>
|
||||
<?php //if(!$me->is("preorderfront")): ?><td><?=$preorder->campaign->name?></td><?php //endif; ?>
|
||||
<td><?=__($preorder->type, "preorder")?></td>
|
||||
<td>Aufgenommen</td>
|
||||
<?php if($preorder->building_id): ?>
|
||||
|
||||
@@ -71,6 +71,23 @@
|
||||
<option value="true" <?=(isset($user) && $user->is("preorderfront")) ? "selected='selected'" : ""?>>Yes</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="preorder-network-container">
|
||||
<label for="preorder_networks">Preorder Netzgebiete:</label>
|
||||
<?php
|
||||
$pns = json_decode((new WorkerFlag($user->id,"preorder_networks"))->value());
|
||||
if(!$pns) {
|
||||
$pns = [];
|
||||
}
|
||||
?>
|
||||
<select name="preorder_networks[]" id="preorder_networks" class="form-control" multiple="multiple">
|
||||
<?php foreach(NetworkModel::getAll() as $network): ?>
|
||||
<option value="<?=$network->id?>" <?=(in_array($network->id, $pns)) ? "selected='selected'" : ""?>><?=$network->name?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<small>Überschreibt Netzgebiete der Firma. Wenn leer werden Netzgebiete der Firma angezeigt</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password">Password:</label>
|
||||
<input type="password" id="password" name="password" class="form-control" value="" />
|
||||
@@ -120,9 +137,30 @@
|
||||
<?php endif; ?>
|
||||
|
||||
<script type="text/javascript">
|
||||
$("#address_id").select2({
|
||||
allowClear: true,
|
||||
placeholder: ""
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
$("#address_id").select2({
|
||||
allowClear: true,
|
||||
placeholder: ""
|
||||
});
|
||||
$("#preorder_networks").select2({
|
||||
allowClear: true,
|
||||
placeholder: "",
|
||||
closeOnSelect: false
|
||||
});
|
||||
|
||||
<?php if(!$user->is("preorderfront")): ?>
|
||||
$("#preorder-network-container").hide();
|
||||
<?php endif; ?>
|
||||
|
||||
$("select[name=preorderfront]").change(function() {
|
||||
if($("select[name=preorderfront]").val() == "true") {
|
||||
$("#preorder-network-container").show();
|
||||
} else {
|
||||
$("#preorder-network-container").hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -11,7 +11,6 @@ class DashboardController extends mfBaseController {
|
||||
}
|
||||
|
||||
protected function indexAction() {
|
||||
|
||||
if($this->me->is("preorderfront")) {
|
||||
$this->redirect("Preorder");
|
||||
}
|
||||
|
||||
@@ -49,7 +49,16 @@ class PreorderController extends mfBaseController {
|
||||
}
|
||||
$this->layout()->set("my_campaigns", PreordercampaignModel::getAll());
|
||||
} else {
|
||||
$my_networks = $this->me->myNetworks(["netowner", "salespartner"]);
|
||||
if($this->me->is("preorderfront")) {
|
||||
|
||||
$pns = json_decode($this->me->getFlag("preorder_networks"));
|
||||
foreach($pns as $pn_id) {
|
||||
$my_networks[] = new Network($pn_id);
|
||||
}
|
||||
//var_dump($my_networks);exit;
|
||||
} else {
|
||||
$my_networks = $this->me->myNetworks(["netowner", "salespartner"]);
|
||||
}
|
||||
//var_dump($my_networks);exit;
|
||||
|
||||
foreach($my_networks as $network) {
|
||||
|
||||
@@ -185,6 +185,15 @@ class UserController extends mfBaseController {
|
||||
}
|
||||
|
||||
$user->permissions->save();
|
||||
|
||||
// save networks
|
||||
$pn = $user->getFlag("preorder_networks");
|
||||
if($r->preorderfront == "true" && is_array($r->preorder_networks) && count($r->preorder_networks)) {
|
||||
$pn->value(json_encode($r->preorder_networks));
|
||||
$pn->save();
|
||||
} else {
|
||||
$pn->delete();
|
||||
}
|
||||
}
|
||||
|
||||
$this->layout()->setFlash("Benutzer gespeichert.", "success");
|
||||
|
||||
67
application/WorkerFlag/WorkerFlag.php
Normal file
67
application/WorkerFlag/WorkerFlag.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
class WorkerFlag {
|
||||
private $db;
|
||||
private $id;
|
||||
private $worker_id = null;
|
||||
private $name = null;
|
||||
private $value = null;
|
||||
private $user = null;
|
||||
|
||||
public function __construct($worker_id, $name) {
|
||||
$this->db = new FronkDB();
|
||||
|
||||
$user = new User($worker_id);
|
||||
$this->user = $user;
|
||||
|
||||
$name = $this->db->escape($name);
|
||||
$this->name = $name;
|
||||
|
||||
$res = $this->db->select("WorkerFlag", "*", "worker_id=".$this->user->id." AND name='$name'");
|
||||
if($this->db->num_rows($res)) {
|
||||
$data = $this->db->fetch_object($res);
|
||||
$this->id = $data->id;
|
||||
$this->value = $data->value;
|
||||
}
|
||||
}
|
||||
|
||||
public function value($value = null) {
|
||||
if($value !== null) {
|
||||
$this->value = $value;
|
||||
}
|
||||
return $this->value;
|
||||
}
|
||||
|
||||
public function save() {
|
||||
$id = $this->id;
|
||||
|
||||
$values['worker_id'] = $this->user->id;
|
||||
$values['name'] = $this->name;
|
||||
$values['value'] = $this->value;
|
||||
$values['edit_by'] = $this->user->id;
|
||||
$values['edit'] = date('U');
|
||||
|
||||
if($id) {
|
||||
// update
|
||||
$this->db->update("WorkerFlag", $values, "id=$id");
|
||||
} else {
|
||||
// insert
|
||||
$values['create_by'] = $this->user->id;
|
||||
$values['create'] = date('U');
|
||||
$id = $this->db->insert("WorkerFlag", $values);
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function delete() {
|
||||
if($this->id) {
|
||||
$this->db->delete("WorkerFlag", "id=".$this->id, 1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function __toString() {
|
||||
return (string) $this->value;
|
||||
}
|
||||
}
|
||||
@@ -12,8 +12,8 @@ class mfBaseController {
|
||||
private $mfLayout;
|
||||
private $mfMenu;
|
||||
private $mfUser;
|
||||
private $mod;
|
||||
private $action;
|
||||
protected $mod;
|
||||
protected $action;
|
||||
|
||||
public function __construct($params = NULL) {
|
||||
// load logging facility
|
||||
@@ -235,6 +235,8 @@ class mfBaseController {
|
||||
$url.="#$anker";
|
||||
}
|
||||
|
||||
$url = preg_replace('#^/+#', "/", $url);
|
||||
|
||||
$log->debug("Redirecting to $url");
|
||||
header("Location: $url");
|
||||
exit;
|
||||
|
||||
Reference in New Issue
Block a user