Upravy v backendu aplikace

This commit is contained in:
Michal Kváček
2018-11-27 23:43:16 +01:00
parent 10e931fd7a
commit 89f19c3931
17 changed files with 816 additions and 559 deletions
+3
View File
@@ -134,6 +134,9 @@ app.post ('/:page?', function (req, res) {
savePost (req, res);
var redirectUrl = '/' + (typeof req.params.page === 'undefined' ? 'index' : req.params.page);
if (typeof req.body.redirectParams !== 'undefined') {
redirectUrl += '?'+req.body.redirectParams;
}
res.redirect (redirectUrl)
});
+6 -1
View File
@@ -13,7 +13,12 @@ $ (document).on ('click', '.delete-button a', function () {
if (modalHeader)
$modal.find ('.modal-title').text (modalHeader);
$ ('#delete-modal-form').attr ('action', action);
$modal.modal ('show');
});
$ (document).on ('click', '.js-delete-button', function () {
var target = $ (this).data ('target');
$ (this).closest (target).remove ();
});
+21 -21
View File
@@ -1,7 +1,7 @@
$ (document).on ('click', '.js-add-program', function () {
var templateSelector = $ (this).data ('template') + ":last";
var $template = $ (templateSelector);
var $templateContainer = $ ($ (this).data ('template-container'));
var $template = $templateContainer.find (templateSelector);
var $copy = $template.clone ().removeClass ('template');
@@ -9,10 +9,11 @@ $ (document).on ('click', '.js-add-program', function () {
$copy.find ('input').each (function () {
var name = $ (this).attr ('name');
$ (this).attr ('name', name.replace (/\[0\]/g, '[' + itemsCount + ']'));
if (typeof name !== 'undefined')
$ (this).attr ('name', name.replace (/\[0\]/g, '[' + itemsCount + ']'));
});
$copy.appendTo ($templateContainer);
$copy.removeAttr ('hidden').appendTo ($templateContainer);
$ ('.select-time').datetimepicker ({
format: 'LT',
@@ -37,40 +38,39 @@ function renameInputs() {
});
}
$(document).on('click', '.js-sort-events', function ( ){
$ (document).on ('click', '.js-sort-events', function () {
var $templateContainer = $ ($ (this).data ('template-container'));
var $templates = $ ($ (this).data ('template'));
sortEvents($templateContainer, $templates);
sortEvents ($templateContainer, $templates);
$(this).fadeOut();
$ (this).fadeOut ();
});
function sortEvents($container, $templates) {
var elements = $templates.get();
var elements = $templates.get ();
elements.sort(function (a, b) {
elements.sort (function (a, b) {
console.log(a);
console.log (a);
var timeA = $(a).find('.select-time').val();
var timeB = $(b).find('.select-time').val();
var timeA = $ (a).find ('.select-time').val ();
var timeB = $ (b).find ('.select-time').val ();
return timeA > timeB;
});
$container.append(elements);
$container.append (elements);
renameInputs();
renameInputs ();
}
function checkEvents($container, $templates) {
var lastTime = null;
var orderCorrect = true;
$templates.each(function() {
var time = $(this).find('.select-time').val();
$templates.each (function () {
var time = $ (this).find ('.select-time').val ();
if (time < lastTime) {
orderCorrect = false;
@@ -79,19 +79,19 @@ function checkEvents($container, $templates) {
});
if (!orderCorrect) {
$('.js-sort-events').fadeIn();
$ ('.js-sort-events').fadeIn ();
} else {
$('.js-sort-events').fadeOut();
$ ('.js-sort-events').fadeOut ();
}
}
$(document).ready(function () {
$ (document).ready (function () {
setInterval(function () {
setInterval (function () {
var $templateContainer = $ ('.template-container');
var $templates = $ ('.template');
checkEvents($templateContainer, $templates);
checkEvents ($templateContainer, $templates);
}, 1000);
});
+178 -162
View File
@@ -1,172 +1,188 @@
<div class="heading-budget col-md-12">
<h1>
Správa rozpočtu
</h1>
<div class="btn-group">
<a href="#addItem" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addItem">
Přidat nového hosta
</a>
<% include ../partials/backend/modals/addItem.ejs %>
<i class="fa fa-plus-circle bigplus"></i>
<a href="#addGroup" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addGroup">
Přidat novou skupinu
</a>
<% include ../partials/backend/modals/addGroup.ejs %>
</div>
<div class="heading-budget my-3 col-md-12">
<h1>Správa rozpočtu</h1>
<div class="btn-group">
<a href="#addItem" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addItem">
Přidat položky
</a>
<i class="fa fa-plus-circle bigplus"></i>
<a href="#addGroup" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addGroup">
Upravit skupiny
</a>
</div>
</div>
<div class="boxes__container text-center col-md-12 row row-space">
<%- include('../partials/notification.ejs', {parameter: "newGroup", notifiactionText: "Skupina úspěšně vytvořena."})%>
<%- include('../partials/notification.ejs', {parameter: "newItems", notificationText: "Položky úspěšně vloženy."})%>
<%- include('../partials/notification.ejs', {parameter: "groupSaved", notificationText: "Položky ve skupině úspěšně upraveny."})%>
<div class="card boxes__item col-md-4">
<div class="card-header">
<h3>
Rozlučka se svobodou
</h3>
</div>
<div class="card-body">
<table class="table table-bordered table-striped table-hover">
<tbody>
<div class="boxes__container text-center justify-content-center col-md-12 row row-space">
<tr>
<td><div class="checkbox">
<label><input type="checkbox" value=""></label>
</div></td>
<td>Položka 1</td>
<td>1300 Kč</td>
</tr>
<div class="col-md-4">
<div class="card boxes__item">
<div class="card-header">
<h3>
Rozlučka se svobodou </h3>
</div>
<div class="card-body">
<tr>
<td><div class="checkbox">
<label><input type="checkbox" value=""></label>
</div></td>
<td>Položka 2</td>
<td>4500 Kč</td>
</tr>
<table class="table table-bordered table-striped table-hover">
<tbody>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" value=""></label>
</div></td>
<td>Položka 3</td>
<td>340 Kč</td>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" value=""></label>
</div>
</td>
<td>Položka 1</td>
<td>1300 Kč</td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer">
CELKEM 6140 Kč
<div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="70"
aria-valuemin="0" aria-valuemax="100" style="width:90%">
Zbývá 870 Kč
</div>
</div>
</div>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" value=""></label>
</div>
</td>
<td>Položka 2</td>
<td>4500 Kč</td>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" value=""></label>
</div>
</td>
<td>Položka 3</td>
<td>340 Kč</td>
</tr>
</tbody>
</table>
<a href="javascript:void(0);" data-toggle="modal" data-target="#budgetGroup" class="btn btn-block btn-outline-secondary">
<i class="fa fa-info"></i> Detail
</a>
</div>
<div class="card-footer">
CELKEM 6140 Kč
<div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width:90%">
Zbývá 870 Kč
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card boxes__item">
<div class="card-header">
<h3>
Svatební hostina </h3>
</div>
<div class="card-body">
<table class="table table-bordered table-striped table-hover">
<tbody>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" checked="checked" value=""></label>
</div>
</td>
<td>Položka 1</td>
<td>1300 Kč</td>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" value=""></label>
</div>
</td>
<td>Položka 2</td>
<td>4500 Kč</td>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" checked="checked" value=""></label>
</div>
</td>
<td>Položka 3</td>
<td>3100 Kč</td>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" value=""></label>
</div>
</td>
<td>Položka 4</td>
<td>3400 Kč</td>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" checked="checked" value=""></label>
</div>
</td>
<td>Položka 5</td>
<td>2000 Kč</td>
</tr>
</tbody>
</table>
<a href="javascript:void(0);" data-toggle="modal" data-target="#budgetGroup" class="btn btn-block btn-outline-secondary">
<i class="fa fa-info"></i> Detail
</a>
</div>
<div class="card-footer">
CELKEM 12800 Kč
<div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width:80%">
Zbývá: 6000 Kč
</div>
</div>
</div>
</div>
</div>
<% if (typeof queryString.ok !== 'undefined' && queryString.ok == "newGroup") { %>
<div class="col-md-4">
<div class="card boxes__item">
<div class="card-header">
<h3>
Svatební cesta </h3>
</div>
<div class="card-body">
<div class="alert alert-info">
Zatím tu nejsou žádná data. <a href="javascript:void(0);" data-toggle="modal" data-target="#addItem">Přidat</a>
</div>
</div>
<div class="card-footer">
CELKEM 1740 Kč
<div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:45%">
Zbývá: 4260 Kč
</div>
</div>
</div>
</div>
</div>
<% } %>
</div>
<div class="card boxes__item col-md-4">
<div class="card-header">
<h3>
Svatební hostina
</h3>
</div>
<div class="card-body">
<table class="table table-bordered table-striped table-hover">
<tbody>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" checked="checked" value=""></label>
</div></td>
<td>Položka 1</td>
<td>1300 Kč</td>
</tr>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" value=""></label>
</div></td>
<td>Položka 2</td>
<td>4500 Kč</td>
</tr>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" checked="checked" value=""></label>
</div></td>
<td>Položka 3</td>
<td>3100 Kč</td>
</tr>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" value=""></label>
</div></td>
<td>Položka 4</td>
<td>3400 Kč</td>
</tr>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" checked="checked" value=""></label>
</div></td>
<td>Položka 5</td>
<td>2000 Kč</td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer">
CELKEM 12800 Kč
<div class="progress">
<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="60"
aria-valuemin="0" aria-valuemax="100" style="width:80%">
Zbývá: 6000 Kč
</div>
</div>
</div>
</div>
<div class="card boxes__item col-md-4">
<div class="card-header">
<h3>
Svatební cesta
</h3>
</div>
<div class="card-body">
<table class="table table-bordered table-striped table-hover">
<tbody>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" checked="checked" value=""></label>
</div></td>
<td>Položka 1</td>
<td>540 Kč</td>
</tr>
<tr>
<td><div class="checkbox">
<label><input type="checkbox" value=""></label>
</div></td>
<td>Položka 2</td>
<td>1200 Kč</td>
</tr>
</tbody>
</table>
</div>
<div class="card-footer">
CELKEM 1740 Kč
<div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40"
aria-valuemin="0" aria-valuemax="100" style="width:45%">
Zbývá: 4260 Kč
</div>
</div>
</div>
</div>
</div>
<% include ../partials/backend/modals/addItem.ejs %>
<% include ../partials/backend/modals/addGroup.ejs %>
<% include ../partials/backend/modals/budgetGroup.ejs %>
+4
View File
@@ -1,3 +1,7 @@
<div class="heading-budget my-3 col-md-12">
<h1>Události</h1>
</div>
<div id='calendar'></div>
<script>
+144 -134
View File
@@ -1,163 +1,173 @@
<div class="heading-budget my-3 col-md-12">
<h1>Seznam hostů</h1>
<a href="#addGuest" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addGuest">
<i class="fa fa-plus"></i> Přidat nového hosta
</a>
</div>
<% include ../partials/backend/modals/addGuest.ejs %>
<div class="boxes__container">
<a href="#addGuest" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addGuest">
<i class="fa fa-plus"></i> Přidat nového hosta
</a>
<% include ../partials/backend/modals/addGuest.ejs %>
<div class="card boxes__item">
<div class="card-header">
<h3>
Zúčastní se
</h3>
</div>
<div class="card-body">
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Jméno</td>
<td>Počet osob</td>
<td>Poznámka</td>
</tr>
</thead>
<tbody>
<div class="card boxes__item">
<div class="card-header">
<h3>
Zúčastní se </h3>
</div>
<div class="card-body">
<tr>
<td>Rodiče ženicha</td>
<td>2</td>
<td></td>
</tr>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Jméno</td>
<td>Počet osob</td>
<td>Poznámka</td>
</tr>
</thead>
<tbody>
<tr>
<td>Rodiče nevěsty</td>
<td>2</td>
<td>přijedou později</td>
</tr>
<tr>
<td>Rodiče ženicha</td>
<td>2</td>
<td></td>
</tr>
<tr>
<td>František</td>
<td>1</td>
<td>svědek</td>
</tr>
<tr>
<td>Rodiče nevěsty</td>
<td>2</td>
<td>přijedou později</td>
</tr>
</tbody>
</table>
<tr>
<td>František</td>
<td>1</td>
<td>svědek</td>
</tr>
</div>
<div class="card-footer">
</tbody>
</table>
<button class="btn btn-secondary pull-left">
Zobrazit všech 150 hostů
</button>
</div>
</div>
</div>
<div class="card-footer">
<div class="card boxes__item">
<div class="card-header">
<h3>
<a href="/guests/">Nemohou</a>
</h3>
</div>
<div class="card-body">
<button class="btn btn-secondary pull-left">
Zobrazit všech 150 hostů
</button>
</div>
</div>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Jméno</td>
<td>Počet osob</td>
<td>Poznámka</td>
</tr>
<tbody>
<div class="card boxes__item">
<div class="card-header">
<h3>
<a href="/guests/">Nemohou</a>
</h3>
</div>
<div class="card-body">
<tr>
<td>Petr s rodinou</td>
<td>2</td>
<td></td>
</tr>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Jméno</td>
<td>Počet osob</td>
<td>Poznámka</td>
</tr>
<tbody>
<tr>
<td>Teta nevěsty</td>
<td>2</td>
<td>dovolená</td>
</tr>
<tr>
<td>Petr s rodinou</td>
<td>2</td>
<td></td>
</tr>
<tr>
<td>Štěpán</td>
<td>1</td>
<td></td>
</tr>
<tr>
<td>Teta nevěsty</td>
<td>2</td>
<td>dovolená</td>
</tr>
</tbody>
</table>
<tr>
<td>Štěpán</td>
<td>1</td>
<td></td>
</tr>
</div>
<div class="card-footer">
</tbody>
</table>
<button class="btn btn-secondary pull-left">
Zobrazit všech 18 hostů
</button>
</div>
</div>
</div>
<div class="card-footer">
<div class="card boxes__item">
<div class="card-header">
<h3>
<a href="/guests/">Bez odpovědi na pozvánku</a>
</h3>
</div>
<div class="card-body">
<button class="btn btn-secondary pull-left">
Zobrazit všech 18 hostů
</button>
</div>
</div>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Jméno</td>
<td>Počet osob</td>
<td>Poznámka</td>
<td>Pozvánka odeslána</td>
</tr>
<tbody>
<div class="card boxes__item">
<div class="card-header">
<h3>
<a href="/guests/">Bez odpovědi na pozvánku</a>
</h3>
</div>
<div class="card-body">
<tr>
<td>Jana s rodinou</td>
<td>2</td>
<td></td>
<td>Ano</td>
</tr>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Jméno</td>
<td>Počet osob</td>
<td>Poznámka</td>
<td>Pozvánka odeslána</td>
</tr>
<tbody>
<tr>
<td>Teta ženicha</td>
<td>2</td>
<td></td>
<td>Ne</td>
</tr>
<tr>
<td>Jana s rodinou</td>
<td>2</td>
<td></td>
<td>Ano</td>
</tr>
<tr>
<td>Šárka</td>
<td>1</td>
<td></td>
<td>Ano</td>
</tr>
<tr>
<td>Teta ženicha</td>
<td>2</td>
<td></td>
<td>Ne</td>
</tr>
</tbody>
</table>
<tr>
<td>Šárka</td>
<td>1</td>
<td></td>
<td>Ano</td>
</tr>
</div>
<div class="card-footer">
</tbody>
</table>
<button class="btn btn-secondary pull-left">
Zobrazit všech 10 hostů
</button>
<div class="btn-group-vertical pull-right ">
</div>
<div class="card-footer">
<button class="btn btn-secondary btn-space btn-group">
Odeslat pozvánky těm, co je nemají
</button>
<button class="btn btn-secondary btn-space btn-group ">
Odeslat znovu všechny pozvánky
</button>
</div>
</div>
</div>
<button class="btn btn-secondary pull-left">
Zobrazit všech 10 hostů
</button>
<div class="btn-group-vertical pull-right ">
<button class="btn btn-secondary btn-space btn-group">
Odeslat pozvánky těm, co je nemají
</button>
<button class="btn btn-secondary btn-space btn-group ">
Odeslat znovu všechny pozvánky
</button>
</div>
</div>
</div>
</div>
+59 -12
View File
@@ -56,9 +56,9 @@
Zareagovalo <%= invitations.length %> hostů - zúčastní se 20, nemůže 8.
<button class="btn btn-secondary pull-right">
<a href="/guests" class="btn btn-secondary pull-right">
Seznam hostů
</button>
</a>
</div>
</div>
@@ -68,7 +68,13 @@
<h3>
Poznámky </h3>
</div>
<form action="./" method="post">
<form method="post">
<input type="hidden" name="redirectParams" value="ok=notes">
<%- include('../partials/notification.ejs', {parameter: "notes"}) %>
<div class="card-body">
<textarea name="notes" cols="30" rows="10" class="wysiwyg"><%= notes %></textarea>
</div>
@@ -88,8 +94,21 @@
</div>
<div class="card-body">
<div class="alert alert-secondary">
<p>Vyzvednutí květin</p>
<small>9. 10. 2019</small>
</div>
todo
<div class="alert alert-secondary">
<p>Kadeřnice</p>
<small>9. 10. 2019</small>
</div>
<div class="alert alert-primary">
<p>Svatební den</p>
<small><%= wedding.when %></small>
</div>
</div>
@@ -103,26 +122,54 @@
</div>
<div class="card-body">
<ul>
<%- include('../partials/notification.ejs', {parameter: "tasks"}) %>
<table class="table table-bordered table-striped">
<% var cnt = 0 %>
<% tasks.forEach(function (task) { %>
<li>
<input type="checkbox" name="tasks[<%= cnt++ %>][done]" <%= typeof task.done != 'undefined' && task.done ? 'checked' : '' %>>
<span class="edit-inline"><%= task.name %></span>
</li>
<tr>
<td style="width: 50px">
<input type="checkbox" name="tasks[<%= cnt++ %>][done]" <%= typeof task.done != 'undefined' && task.done ? 'checked' : '' %>>
</td>
<td>
<span class="edit-inline"><%= task.name %></span>
</td>
</tr>
<% }) %>
</ul>
<% if (typeof new_task !== 'undefined') { %>
<tr>
<td style="width: 50px">
<input type="checkbox">
</td>
<td>
<span class="edit-inline"><%= new_task %></span>
</td>
</tr>
<% } %>
</table>
</div>
<div class="card-footer">
<form method="post">
<input type="text" name="tasks[<%= tasks.length %>][name]">
<input type="hidden" name="redirectParams" value="ok=tasks">
<div class="row">
<div class="col-md-9">
<input type="text" name="new_task" class="form-control" required>
</div>
<div class="col-md-3">
<button class="btn btn-secondary btn-block">Uložit</button>
</div>
</div>
<button class="btn btn-secondary ">Uložit</button>
</form>
</div>
</div>
+19
View File
@@ -0,0 +1,19 @@
<h1>Nastavení svatebního programu</h1>
<div class="alert alert-info">Toto nastavení se projeví i na vašem svatebním webu.</div>
<%- include('../partials/notification.ejs', {parameter: "program"})%>
<form method="post">
<input type="hidden" name="redirectParams" value="ok=program#program">
<% include ../partials/program.ejs %>
<button type="submit" class="btn btn-primary">Uložit</button>
</form>
<% include ../partials/program-icons.ejs %>
+77 -41
View File
@@ -1,53 +1,89 @@
<div class="modal fade" id="addGroup" tabindex="-1" role="dialog" aria-labelledby="addGroupModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addGroupModalLabel">Přidat skupinu</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addGroupModalLabel">Přidat skupinu</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form method="post">
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Název skupiny</td>
<td>Limit</td>
</tr>
</thead>
<tbody>
<div class="modal-body">
<tr>
<td> <input type="text" class="form-control" value="Svatební cesta"></td>
<td><input type="text" class="form-control" value="50 000 Kč"></td>
</tr>
<input type="hidden" name="redirectParams" value="ok=newGroup">
<tr>
<td> <input type="text" class="form-control" value="Rozlučka se svobodou - nevěsta"></td>
<td><input type="text" class="form-control" value="100 Kč"></td>
</tr>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th></th>
<th>Název skupiny</th>
<th>Limit</th>
</tr>
</thead>
<tbody class="template-container draggable-container">
<tr>
<td> <input type="text" class="form-control"></td>
<td><input type="text" class="form-control" ></td>
</tr>
<tr class="template draggable template-container__item">
<td>
<i class="fa fa-ellipsis-v sort-handle"></i>
</td>
<td><input type="text" class="form-control" name="name[0]" value="Rozlučka se svobodou">
</td>
<td style="width: 25%">
<div class="input-group">
<input type="number" step="1000" min="1000" name="price[0]" class="form-control" value="50000">
<div class="input-group-append">
<span class="input-group-text" id="basic-addon2">Kč</span>
</div>
</div>
</tbody>
</table>
</td>
</tr>
<tr class="template draggable template-container__item">
<td>
<i class="fa fa-ellipsis-v sort-handle"></i>
</td>
<td>
<input type="text" class="form-control" name="name[1]" value="Rozlučka se svobodou - nevěsta">
</td>
<td style="width: 25%">
<div class="input-group">
<input type="number" name="price[1]" step="1000" min="1000" class="form-control" value="50000">
<div class="input-group-append">
<span class="input-group-text" id="basic-addon2">Kč</span>
</div>
</div>
</td>
</tr>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">Přidat
</button>
</div>
</div>
</div>
</tbody>
<tfoot>
<tr>
<td colspan="3">
<a href="javascript:void(0);" class="btn btn-outline-secondary js-add-program" data-template-container=".template-container" data-template=".template"><i class="fa fa-plus"></i>
Přidat skupinu</a>
</td>
</tr>
</tfoot>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="submit" class="btn btn-primary">Uložit</button>
</div>
</form>
</div>
</div>
</div>
+37 -35
View File
@@ -1,40 +1,42 @@
<div class="modal fade" id="addGuest" tabindex="-1" role="dialog" aria-labelledby="aboutUsModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="aboutUsModalLabel">Přidání nového hosta</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label>Jméno*</label>
<input type="text" class="form-control">
</div>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="aboutUsModalLabel">Přidání nového hosta</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form method="post">
<div class="form-group">
<label>Email*</label>
<input type="text" class="form-control">
</div>
<div class="form-group">
<label>Počet osob</label>
<input type="text" class="form-control">
</div>
<div class="form-group">
<label>Poznámka</label>
<input type="text" class="form-control">
</div>
<div class="modal-body">
<div class="form-group">
<label>Jméno*</label>
<input type="text" required class="form-control">
</div>
</form>
</div>
<div class="form-group">
<label>Email*</label>
<input type="email" required class="form-control">
</div>
<div class="form-group">
<label>Počet osob</label>
<input type="number" min="1" value="1" class="form-control">
</div>
<div class="form-group">
<label>Poznámka</label>
<input type="text" class="form-control">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">Přidat
</button>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="submit" class="btn btn-primary">Přidat
</button>
</div>
</form>
</div>
</div>
</div>
+70 -86
View File
@@ -1,90 +1,74 @@
<div class="modal fade" id="addItem" tabindex="-1" role="dialog" aria-labelledby="addItemModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addItemModalLabel">Přidat položku</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="addItemModalLabel">Přidat položku</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form method="post">
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Název položky</td>
<td>Cena</td>
<td>Skupiny</td>
</tr>
</thead>
<tbody>
<div class="modal-body">
<tr>
<td> <input type="text" class="form-control" value="Položka 12"></td>
<td><input type="text" class="form-control" value="100 Kč"></td>
<td>
<div class="dropdown">
<button class="btn dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-- vyberte skupinu --
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" type="button">Rozlučka se svobodou</button>
<button class="dropdown-item" type="button">Svatební hostina</button>
<button class="dropdown-item" type="button">Svatební cesta</button>
</div>
</div>
</td>
</tr>
<tr>
<td> <input type="text" class="form-control" value="Položka 12"></td>
<td><input type="text" class="form-control" value="100 Kč"></td>
<td>
<div class="dropdown">
<button class="btn dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-- vyberte skupinu --
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" type="button">Rozlučka se svobodou</button>
<button class="dropdown-item" type="button">Svatební hostina</button>
<button class="dropdown-item" type="button">Svatební cesta</button>
</div>
</div>
</td>
</tr>
<tr>
<td> <input type="text" class="form-control"></td>
<td><input type="text" class="form-control" ></td>
<td>
<div class="dropdown">
<button class="btn dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-- vyberte skupinu --
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" type="button">Rozlučka se svobodou</button>
<button class="dropdown-item" type="button">Svatební hostina</button>
<button class="dropdown-item" type="button">Svatební cesta</button>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">Přidat
</button>
</div>
</div>
</div>
<input type="hidden" name="redirectParams" value="ok=newItems">
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<td>Název položky</td>
<td>Cena</td>
<td>Skupiny</td>
</tr>
</thead>
<tbody class="item-template-container draggable-container">
<tr class="template draggable template-container__item">
<td>
<input type="text" class="form-control" name="name[0]"></td>
<td style="width: 25%">
<div class="input-group">
<input type="number" data-step="100" min="0" name="price[0]" class="form-control">
<div class="input-group-append">
<span class="input-group-text" id="basic-addon2">Kč</span>
</div>
</div>
</td>
<td>
<select name="group[0]" class="form-control">
<option>-- vyberte skupinu --</option>
<option>Rozlučka se svobodou</option>
<option>Svatební hostina</option>
<option>Svatební cesta</option>
</select>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">
<a href="javascript:void(0);" class="btn btn-outline-secondary js-add-program" data-template-container=".item-template-container" data-template=".template"><i class="fa fa-plus"></i>
Přidat položku</a>
</td>
</tr>
</tfoot>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="submit" class="btn btn-primary">Přidat</button>
</div>
</form>
</div>
</div>
</div>
@@ -0,0 +1,128 @@
<div class="modal fade" id="budgetGroup" tabindex="-1" role="dialog" aria-labelledby="budgetGroupModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="budgetGroupModalLabel">Položky ve skupině výdajů</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form method="post">
<input type="hidden" name="redirectParams" value="ok=groupSaved">
<div class="modal-body">
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th></th>
<th>Koupeno</th>
<th>Jméno</th>
<th>Cena</th>
<th></th>
</tr>
</thead>
<tbody class="item-in-group-template-container draggable-container">
<tr class="template draggable template-container__item" hidden>
<td style="width: 30px">
<i class="fa fa-ellipsis-v sort-handle"></i>
</td>
<td class="text-center" style="width: 30px;">
<input type="checkbox" name="bought[<%= i %>]" value="1">
</td>
<td>
<input type="text">
</td>
<td style="width: 25%">
<div class="input-group">
<input type="number" step="1000" min="1000" name="price[0]" class="form-control">
<div class="input-group-append">
<span class="input-group-text" id="basic-addon2">Kč</span>
</div>
</div>
</td>
<td class="text-right">
<a href="javascript:void(0);" class="js-delete-button" data-target="tr">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
<% for (var i = 1; i < 10; i++) { %>
<tr class="draggable template-container__item">
<td style="width: 30px">
<i class="fa fa-ellipsis-v sort-handle"></i>
</td>
<td class="text-center" style="width: 30px;">
<input type="checkbox" name="bought[<%= i %>]" value="1">
</td>
<td>
<span class="edit-inline">Položka <%= i %></span>
</td>
<td>
<span class="edit-inline"><%= i * 100 %></span> Kč
</td>
<td class="text-right">
<a href="javascript:void(0);" class="js-delete-button" data-target="tr">
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
<% } %>
</tbody>
<tfoot>
<tr>
<td colspan="4">
<a href="javascript:void(0);" class="btn btn-outline-secondary js-add-program" data-template-container=".item-in-group-template-container" data-template=".template"><i class="fa fa-plus"></i>
Přidat položku</a>
</td>
</tr>
</tfoot>
</table>
<div class="row justify-content-center">
<div class="col-md-8 m-3 text-center"><strong>Limit pro skupinu: 25 000 Kč</strong>
<div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width:90%">
Zbývá 870 Kč
</div>
</div> </div>
</div>
<div class="row">
<div class="col">
<div class="alert alert-secondary text-center">
<h3>Aktuální náklady</h3>
<h2>12 500 Kč</h2>
</div>
</div>
<div class="col">
<div class="alert alert-secondary text-center">
<h3>Celkové náklady</h3>
<h2>23 500 Kč</h2>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="submit" class="btn btn-primary">Uložit</button>
</div>
</form>
</div>
</div>
</div>
+2 -69
View File
@@ -19,55 +19,7 @@
<div class="modal-body">
<table class="table">
<thead>
<tr>
<th></th>
<th>Čas</th>
<th>Ikona</th>
<th>Název události</th>
<th></th>
</tr>
</thead>
<tbody class="template-container draggable-container">
<% for(var i in program) { %>
<tr class="template draggable template-container__item">
<td>
<i class="fa fa-ellipsis-v sort-handle"></i>
</td>
<td style="position: relative">
<input type="text" class="form-control time select-time" size="4" name="program[<%= i %>][time][]" value="<%= program[i]['time'] %>" placeholder="11:00">
</td>
<td class="text-center">
<a href="javascript:void(0);" class="js-set-icon-program">
<input type="hidden" name="program[<%= i %>][icon][]" value="<%= program[i]['icon'] %>">
<i class="fa fa-2x fa-<%= program[i]['icon'] %>"></i>
</a>
</td>
<td>
<input type="text" class="form-control program-description" name="program[<%= i %>][title][]" value="<%= program[i]['title'] %>">
</td>
<td>
<a href="javascript:void(0);" class="js-remove-program"><i class="fa fa-trash"></i></a>
</td>
</tr>
<% } %>
</tbody>
<tfoot>
<tr>
<td colspan="4">
<a href="javascript:void(0);" class="btn btn-outline-secondary js-add-program" data-template-container=".template-container" data-template=".template"><i class="fa fa-plus"></i> Přidat akci</a>
<a href="javascript:void(0);" class="btn btn-outline-secondary js-sort-events" style="display: none" data-template-container=".template-container" data-template=".template"><i class="fa fa-sort-numeric-asc"></i> Seřadit akce chronologicky</a>
</td>
</tr>
</tfoot>
</table>
<% include ../../program.ejs %>
</div>
@@ -83,23 +35,4 @@
</div>
</div>
<div class="modal fade" id="setIconProgramModal" tabindex="-1" role="dialog" aria-labelledby="setIconProgramModal" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<% var icons = ['gear', 'home', 'automobile', 'bell', 'bullhorn', 'child', 'coffee', 'diamond', 'film', 'camera',
'camera-retro', 'fire', 'birthday-cake', 'heart', 'image', 'map', 'map-marker', 'map-o',
'motorcycle', 'plane', 'road', 'cutlery', 'paint-brush', 'gift', 'glass', 'star', 'star-o'
] %>
<% for (var i in icons) { %>
<a href="javascript:void(0);" data-icon="<%= icons[i] %>" class="js-choose-icon"><i class="fa fa-3x fa-<%= icons[i] %>"></i></a>
<% } %>
</div>
</div>
</div>
</div>
<% include ../../program-icons.ejs %>
+1 -1
View File
@@ -1,6 +1,6 @@
<% if (typeof queryString.ok !== "undefined" && queryString.ok == parameter) { %>
<div class="text-success alert alert-success js-notification" style="position: absolute; width: 50%; left: 25%; top: 0; z-index: 9999">
<div class="text-success alert alert-success js-notification" style="position: absolute; width: 50%; left: 25%; top: 10px; z-index: 9999">
<i class="fa fa-check"></i>
<% if (typeof notificationText === 'undefined') { %>
+21
View File
@@ -0,0 +1,21 @@
<div class="modal fade" id="setIconProgramModal" tabindex="-1" role="dialog" aria-labelledby="setIconProgramModal" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<% var icons = ['gear', 'home', 'automobile', 'bell', 'bullhorn', 'child', 'coffee', 'diamond', 'film', 'camera',
'camera-retro', 'fire', 'birthday-cake', 'heart', 'image', 'map', 'map-marker', 'map-o',
'motorcycle', 'plane', 'road', 'cutlery', 'paint-brush', 'gift', 'glass', 'star', 'star-o'
] %>
<% for (var i in icons) { %>
<a href="javascript:void(0);" data-icon="<%= icons[i] %>" class="js-choose-icon"><i class="fa fa-3x fa-<%= icons[i] %>"></i></a>
<% } %>
</div>
</div>
</div>
</div>
+49
View File
@@ -0,0 +1,49 @@
<table class="table">
<thead>
<tr>
<th></th>
<th>Čas</th>
<th>Ikona</th>
<th>Název události</th>
<th></th>
</tr>
</thead>
<tbody class="template-container draggable-container">
<% for(var i in program) { %>
<tr class="template draggable template-container__item">
<td>
<i class="fa fa-ellipsis-v sort-handle"></i>
</td>
<td style="position: relative">
<input type="text" class="form-control time select-time" size="4" name="program[<%= i %>][time][]" value="<%= program[i]['time'] %>" placeholder="11:00">
</td>
<td class="text-center">
<a href="javascript:void(0);" class="js-set-icon-program">
<input type="hidden" name="program[<%= i %>][icon][]" value="<%= program[i]['icon'] %>">
<i class="fa fa-2x fa-<%= program[i]['icon'] %>"></i>
</a>
</td>
<td>
<input type="text" class="form-control program-description" name="program[<%= i %>][title][]" value="<%= program[i]['title'] %>">
</td>
<td>
<a href="javascript:void(0);" class="js-remove-program"><i class="fa fa-trash"></i></a>
</td>
</tr>
<% } %>
</tbody>
<tfoot>
<tr>
<td colspan="4">
<a href="javascript:void(0);" class="btn btn-outline-secondary js-add-program" data-template-container=".template-container" data-template=".template"><i class="fa fa-plus"></i> Přidat akci</a>
<a href="javascript:void(0);" class="btn btn-outline-secondary js-sort-events" style="display: none" data-template-container=".template-container" data-template=".template"><i class="fa fa-sort-numeric-asc"></i> Seřadit akce chronologicky</a>
</td>
</tr>
</tfoot>
</table>
+1 -1
View File
@@ -37,7 +37,7 @@
<span>Detaily svatby</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0);">
<a class="nav-link" href="/program">
<span class="fa nav-link__icon fa-clock-o"></span>
<span>Program</span></a>
</li>