Add register editing and creation (issue #1)
This commit is contained in:
parent
9ec33b06fe
commit
0acf33c9a6
30
action.php
30
action.php
@ -474,6 +474,36 @@ END;
|
||||
|
||||
returnToSender("cash_closed");
|
||||
break;
|
||||
case "editregister":
|
||||
$insert = true;
|
||||
if (empty($VARS['id'])) {
|
||||
$insert = true;
|
||||
} else {
|
||||
if ($database->has('registers', ['registerid' => $VARS['id']])) {
|
||||
$insert = false;
|
||||
} else {
|
||||
returnToSender("invalid_parameters");
|
||||
}
|
||||
}
|
||||
if (is_empty($VARS['name'])) {
|
||||
returnToSender('invalid_parameters');
|
||||
}
|
||||
|
||||
if ($database->has('registers', ['AND' => ['registerid[!]' => $VARS['id'], 'registername' => $VARS['name']]])) {
|
||||
returnToSender("register_name_taken");
|
||||
}
|
||||
|
||||
$data = [
|
||||
'registername' => $VARS['name']
|
||||
];
|
||||
|
||||
if ($insert) {
|
||||
$database->insert('registers', $data);
|
||||
} else {
|
||||
$database->update('registers', $data, ['registerid' => $VARS['id']]);
|
||||
}
|
||||
|
||||
returnToSender("register_saved");
|
||||
case "session_keepalive":
|
||||
header("Content-Type: application/json");
|
||||
exit(json_encode(["status" => "OK"]));
|
||||
|
@ -106,4 +106,9 @@ define("STRINGS", [
|
||||
"start" => "Start",
|
||||
"end" => "End",
|
||||
"grid view" => "Grid view",
|
||||
"edit register" => "Edit Register",
|
||||
"editing register" => "Editing register {name}",
|
||||
"adding register" => "Adding register",
|
||||
"register saved" => "Register saved.",
|
||||
"register name taken" => "Register name already taken. Use a different name.",
|
||||
]);
|
||||
|
@ -41,4 +41,12 @@ define("MESSAGES", [
|
||||
"string" => "cash opened",
|
||||
"type" => "success"
|
||||
],
|
||||
"register_saved" => [
|
||||
"string" => "register saved",
|
||||
"type" => "success"
|
||||
],
|
||||
"register_name_taken" => [
|
||||
"string" => "register name taken",
|
||||
"type" => "danger"
|
||||
]
|
||||
]);
|
||||
|
@ -70,6 +70,13 @@ define("PAGES", [
|
||||
"static/js/registers.js"
|
||||
],
|
||||
],
|
||||
"editregister" => [
|
||||
"title" => "edit register",
|
||||
"navbar" => false,
|
||||
"scripts" => [
|
||||
"static/js/editregister.js"
|
||||
]
|
||||
],
|
||||
"reports" => [
|
||||
"title" => "reports",
|
||||
"navbar" => true,
|
||||
|
70
pages/editregister.php
Normal file
70
pages/editregister.php
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
require_once __DIR__ . '/../required.php';
|
||||
|
||||
redirectifnotloggedin();
|
||||
|
||||
$regdata = [
|
||||
'id' => '',
|
||||
'name' => ''
|
||||
];
|
||||
|
||||
$editing = false;
|
||||
|
||||
if (!empty($VARS['id'])) {
|
||||
if ($database->has('registers', ['registerid' => $VARS['id']])) {
|
||||
$editing = true;
|
||||
$regdata = $database->get(
|
||||
'registers', [
|
||||
'registerid (id)',
|
||||
'registername (name)'
|
||||
], [
|
||||
'registerid' => $VARS['id']
|
||||
]);
|
||||
} else {
|
||||
// customer id is invalid, redirect to a version of the page that won't
|
||||
// cause an error when pressing Save
|
||||
header('Location: app.php?page=editregister');
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
if ($editing) {
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
<form role="form" action="action.php" method="POST">
|
||||
<div class="card border-green">
|
||||
<h3 class="card-header text-green">
|
||||
<?php
|
||||
if ($editing) {
|
||||
?>
|
||||
<i class="fas fa-edit"></i> <?php lang2("editing register", ['name' => "<span id=\"name_title\">" . htmlspecialchars($regdata['name']) . "</span>"]); ?>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<i class="fas fa-edit"></i> <?php lang("adding register"); ?>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</h3>
|
||||
<div class="card-body row">
|
||||
<div class="form-group col-12">
|
||||
<label for="name"><i class="fas fa-font"></i> <?php lang("name"); ?></label>
|
||||
<input type="text" class="form-control" id="name" name="name" placeholder="Register #1" required="required" value="<?php echo htmlspecialchars($regdata['name']); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="id" value="<?php echo htmlspecialchars($regdata['id']); ?>" />
|
||||
<input type="hidden" name="action" value="editregister" />
|
||||
<input type="hidden" name="source" value="registers" />
|
||||
|
||||
<div class="card-footer d-flex">
|
||||
<button type="submit" class="btn btn-success mr-auto"><i class="fas fa-save"></i> <?php lang("save"); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
10
static/js/editregister.js
Normal file
10
static/js/editregister.js
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
|
||||
$('#name').on('input propertychange paste', function () {
|
||||
$('#name_title').text($('#name').val());
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user