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); savePost (req, res);
var redirectUrl = '/' + (typeof req.params.page === 'undefined' ? 'index' : req.params.page); var redirectUrl = '/' + (typeof req.params.page === 'undefined' ? 'index' : req.params.page);
if (typeof req.body.redirectParams !== 'undefined') {
redirectUrl += '?'+req.body.redirectParams;
}
res.redirect (redirectUrl) res.redirect (redirectUrl)
}); });
+6 -1
View File
@@ -13,7 +13,12 @@ $ (document).on ('click', '.delete-button a', function () {
if (modalHeader) if (modalHeader)
$modal.find ('.modal-title').text (modalHeader); $modal.find ('.modal-title').text (modalHeader);
$ ('#delete-modal-form').attr ('action', action); $ ('#delete-modal-form').attr ('action', action);
$modal.modal ('show'); $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 () { $ (document).on ('click', '.js-add-program', function () {
var templateSelector = $ (this).data ('template') + ":last"; var templateSelector = $ (this).data ('template') + ":last";
var $template = $ (templateSelector);
var $templateContainer = $ ($ (this).data ('template-container')); var $templateContainer = $ ($ (this).data ('template-container'));
var $template = $templateContainer.find (templateSelector);
var $copy = $template.clone ().removeClass ('template'); var $copy = $template.clone ().removeClass ('template');
@@ -9,10 +9,11 @@ $ (document).on ('click', '.js-add-program', function () {
$copy.find ('input').each (function () { $copy.find ('input').each (function () {
var name = $ (this).attr ('name'); 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 ({ $ ('.select-time').datetimepicker ({
format: 'LT', 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 $templateContainer = $ ($ (this).data ('template-container'));
var $templates = $ ($ (this).data ('template')); var $templates = $ ($ (this).data ('template'));
sortEvents($templateContainer, $templates); sortEvents ($templateContainer, $templates);
$(this).fadeOut(); $ (this).fadeOut ();
}); });
function sortEvents($container, $templates) { 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 timeA = $ (a).find ('.select-time').val ();
var timeB = $(b).find('.select-time').val(); var timeB = $ (b).find ('.select-time').val ();
return timeA > timeB; return timeA > timeB;
}); });
$container.append(elements); $container.append (elements);
renameInputs(); renameInputs ();
} }
function checkEvents($container, $templates) { function checkEvents($container, $templates) {
var lastTime = null; var lastTime = null;
var orderCorrect = true; var orderCorrect = true;
$templates.each(function() { $templates.each (function () {
var time = $(this).find('.select-time').val(); var time = $ (this).find ('.select-time').val ();
if (time < lastTime) { if (time < lastTime) {
orderCorrect = false; orderCorrect = false;
@@ -79,19 +79,19 @@ function checkEvents($container, $templates) {
}); });
if (!orderCorrect) { if (!orderCorrect) {
$('.js-sort-events').fadeIn(); $ ('.js-sort-events').fadeIn ();
} else { } else {
$('.js-sort-events').fadeOut(); $ ('.js-sort-events').fadeOut ();
} }
} }
$(document).ready(function () { $ (document).ready (function () {
setInterval(function () { setInterval (function () {
var $templateContainer = $ ('.template-container'); var $templateContainer = $ ('.template-container');
var $templates = $ ('.template'); var $templates = $ ('.template');
checkEvents($templateContainer, $templates); checkEvents ($templateContainer, $templates);
}, 1000); }, 1000);
}); });
+178 -162
View File
@@ -1,172 +1,188 @@
<div class="heading-budget col-md-12"> <div class="heading-budget my-3 col-md-12">
<h1> <h1>Správa rozpočtu</h1>
Správa rozpočtu
</h1> <div class="btn-group">
<div class="btn-group"> <a href="#addItem" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addItem">
<a href="#addItem" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addItem"> Přidat položky
Přidat nového hosta </a>
</a> <i class="fa fa-plus-circle bigplus"></i>
<% include ../partials/backend/modals/addItem.ejs %> <a href="#addGroup" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addGroup">
<i class="fa fa-plus-circle bigplus"></i> Upravit skupiny
<a href="#addGroup" class="btn btn-info btn-lg" data-toggle="modal" data-target="#addGroup"> </a>
Přidat novou skupinu </div>
</a>
<% include ../partials/backend/modals/addGroup.ejs %>
</div>
</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"> <div class="boxes__container text-center justify-content-center col-md-12 row row-space">
<tbody>
<tr> <div class="col-md-4">
<td><div class="checkbox"> <div class="card boxes__item">
<label><input type="checkbox" value=""></label> <div class="card-header">
</div></td> <h3>
<td>Položka 1</td> Rozlučka se svobodou </h3>
<td>1300 Kč</td> </div>
</tr> <div class="card-body">
<tr> <table class="table table-bordered table-striped table-hover">
<td><div class="checkbox"> <tbody>
<label><input type="checkbox" value=""></label>
</div></td>
<td>Položka 2</td>
<td>4500 Kč</td>
</tr>
<tr> <tr>
<td><div class="checkbox"> <td>
<label><input type="checkbox" value=""></label> <div class="checkbox">
</div></td> <label><input type="checkbox" value=""></label>
<td>Položka 3</td> </div>
<td>340 Kč</td> </td>
</tr> <td>Položka 1</td>
<td>1300 Kč</td>
</tr>
</tbody> <tr>
</table> <td>
</div> <div class="checkbox">
<div class="card-footer"> <label><input type="checkbox" value=""></label>
CELKEM 6140 Kč </div>
<div class="progress"> </td>
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="70" <td>Položka 2</td>
aria-valuemin="0" aria-valuemax="100" style="width:90%"> <td>4500 Kč</td>
Zbývá 870 Kč </tr>
</div>
</div> <tr>
</div> <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>
<div class="card boxes__item col-md-4"> <% include ../partials/backend/modals/addItem.ejs %>
<div class="card-header"> <% include ../partials/backend/modals/addGroup.ejs %>
<h3> <% include ../partials/backend/modals/budgetGroup.ejs %>
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>
+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> <div id='calendar'></div>
<script> <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"> <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"> <div class="card boxes__item">
<thead> <div class="card-header">
<tr> <h3>
<td>Jméno</td> Zúčastní se </h3>
<td>Počet osob</td> </div>
<td>Poznámka</td> <div class="card-body">
</tr>
</thead>
<tbody>
<tr> <table class="table table-bordered table-striped table-hover">
<td>Rodiče ženicha</td> <thead>
<td>2</td> <tr>
<td></td> <td>Jméno</td>
</tr> <td>Počet osob</td>
<td>Poznámka</td>
</tr>
</thead>
<tbody>
<tr> <tr>
<td>Rodiče nevěsty</td> <td>Rodiče ženicha</td>
<td>2</td> <td>2</td>
<td>přijedou později</td> <td></td>
</tr> </tr>
<tr> <tr>
<td>František</td> <td>Rodiče nevěsty</td>
<td>1</td> <td>2</td>
<td>svědek</td> <td>přijedou později</td>
</tr> </tr>
</tbody> <tr>
</table> <td>František</td>
<td>1</td>
<td>svědek</td>
</tr>
</div> </tbody>
<div class="card-footer"> </table>
<button class="btn btn-secondary pull-left"> </div>
Zobrazit všech 150 hostů <div class="card-footer">
</button>
</div>
</div>
<div class="card boxes__item"> <button class="btn btn-secondary pull-left">
<div class="card-header"> Zobrazit všech 150 hostů
<h3> </button>
<a href="/guests/">Nemohou</a> </div>
</h3> </div>
</div>
<div class="card-body">
<table class="table table-bordered table-striped table-hover"> <div class="card boxes__item">
<thead> <div class="card-header">
<tr> <h3>
<td>Jméno</td> <a href="/guests/">Nemohou</a>
<td>Počet osob</td> </h3>
<td>Poznámka</td> </div>
</tr> <div class="card-body">
<tbody>
<tr> <table class="table table-bordered table-striped table-hover">
<td>Petr s rodinou</td> <thead>
<td>2</td> <tr>
<td></td> <td>Jméno</td>
</tr> <td>Počet osob</td>
<td>Poznámka</td>
</tr>
<tbody>
<tr> <tr>
<td>Teta nevěsty</td> <td>Petr s rodinou</td>
<td>2</td> <td>2</td>
<td>dovolená</td> <td></td>
</tr> </tr>
<tr> <tr>
<td>Štěpán</td> <td>Teta nevěsty</td>
<td>1</td> <td>2</td>
<td></td> <td>dovolená</td>
</tr> </tr>
</tbody> <tr>
</table> <td>Štěpán</td>
<td>1</td>
<td></td>
</tr>
</div> </tbody>
<div class="card-footer"> </table>
<button class="btn btn-secondary pull-left"> </div>
Zobrazit všech 18 hostů <div class="card-footer">
</button>
</div>
</div>
<div class="card boxes__item"> <button class="btn btn-secondary pull-left">
<div class="card-header"> Zobrazit všech 18 hostů
<h3> </button>
<a href="/guests/">Bez odpovědi na pozvánku</a> </div>
</h3> </div>
</div>
<div class="card-body">
<table class="table table-bordered table-striped table-hover"> <div class="card boxes__item">
<thead> <div class="card-header">
<tr> <h3>
<td>Jméno</td> <a href="/guests/">Bez odpovědi na pozvánku</a>
<td>Počet osob</td> </h3>
<td>Poznámka</td> </div>
<td>Pozvánka odeslána</td> <div class="card-body">
</tr>
<tbody>
<tr> <table class="table table-bordered table-striped table-hover">
<td>Jana s rodinou</td> <thead>
<td>2</td> <tr>
<td></td> <td>Jméno</td>
<td>Ano</td> <td>Počet osob</td>
</tr> <td>Poznámka</td>
<td>Pozvánka odeslána</td>
</tr>
<tbody>
<tr> <tr>
<td>Teta ženicha</td> <td>Jana s rodinou</td>
<td>2</td> <td>2</td>
<td></td> <td></td>
<td>Ne</td> <td>Ano</td>
</tr> </tr>
<tr> <tr>
<td>Šárka</td> <td>Teta ženicha</td>
<td>1</td> <td>2</td>
<td></td> <td></td>
<td>Ano</td> <td>Ne</td>
</tr> </tr>
</tbody> <tr>
</table> <td>Šárka</td>
<td>1</td>
<td></td>
<td>Ano</td>
</tr>
</div> </tbody>
<div class="card-footer"> </table>
<button class="btn btn-secondary pull-left"> </div>
Zobrazit všech 10 hostů <div class="card-footer">
</button>
<div class="btn-group-vertical pull-right ">
<button class="btn btn-secondary btn-space btn-group"> <button class="btn btn-secondary pull-left">
Odeslat pozvánky těm, co je nemají Zobrazit všech 10 hostů
</button> </button>
<button class="btn btn-secondary btn-space btn-group "> <div class="btn-group-vertical pull-right ">
Odeslat znovu všechny pozvánky
</button>
</div>
</div>
</div>
<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> </div>
+59 -12
View File
@@ -56,9 +56,9 @@
Zareagovalo <%= invitations.length %> hostů - zúčastní se 20, nemůže 8. 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ů Seznam hostů
</button> </a>
</div> </div>
</div> </div>
@@ -68,7 +68,13 @@
<h3> <h3>
Poznámky </h3> Poznámky </h3>
</div> </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"> <div class="card-body">
<textarea name="notes" cols="30" rows="10" class="wysiwyg"><%= notes %></textarea> <textarea name="notes" cols="30" rows="10" class="wysiwyg"><%= notes %></textarea>
</div> </div>
@@ -88,8 +94,21 @@
</div> </div>
<div class="card-body"> <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> </div>
@@ -103,26 +122,54 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<ul>
<%- include('../partials/notification.ejs', {parameter: "tasks"}) %>
<table class="table table-bordered table-striped">
<% var cnt = 0 %> <% var cnt = 0 %>
<% tasks.forEach(function (task) { %> <% tasks.forEach(function (task) { %>
<li> <tr>
<input type="checkbox" name="tasks[<%= cnt++ %>][done]" <%= typeof task.done != 'undefined' && task.done ? 'checked' : '' %>> <td style="width: 50px">
<span class="edit-inline"><%= task.name %></span> <input type="checkbox" name="tasks[<%= cnt++ %>][done]" <%= typeof task.done != 'undefined' && task.done ? 'checked' : '' %>>
</li> </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>
<div class="card-footer"> <div class="card-footer">
<form method="post"> <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> </form>
</div> </div>
</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 fade" id="addGroup" tabindex="-1" role="dialog" aria-labelledby="addGroupModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="addGroupModalLabel">Přidat skupinu</h5> <h5 class="modal-title" id="addGroupModalLabel">Přidat skupinu</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <form method="post">
<form>
<table class="table table-bordered table-striped table-hover"> <div class="modal-body">
<thead>
<tr>
<td>Název skupiny</td>
<td>Limit</td>
</tr>
</thead>
<tbody>
<tr> <input type="hidden" name="redirectParams" value="ok=newGroup">
<td> <input type="text" class="form-control" value="Svatební cesta"></td>
<td><input type="text" class="form-control" value="50 000 Kč"></td>
</tr>
<tr> <table class="table table-bordered table-striped table-hover">
<td> <input type="text" class="form-control" value="Rozlučka se svobodou - nevěsta"></td> <thead>
<td><input type="text" class="form-control" value="100 Kč"></td> <tr>
</tr> <th></th>
<th>Název skupiny</th>
<th>Limit</th>
</tr>
</thead>
<tbody class="template-container draggable-container">
<tr> <tr class="template draggable template-container__item">
<td> <input type="text" class="form-control"></td> <td>
<td><input type="text" class="form-control" ></td> <i class="fa fa-ellipsis-v sort-handle"></i>
</tr> </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> </td>
</table> </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"> </tbody>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button> <tfoot>
<button type="button" class="btn btn-primary" data-dismiss="modal">Přidat <tr>
</button> <td colspan="3">
</div> <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>
</div> Přidat skupinu</a>
</div> </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> </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 fade" id="addGuest" tabindex="-1" role="dialog" aria-labelledby="aboutUsModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="aboutUsModalLabel">Přidání nového hosta</h5> <h5 class="modal-title" id="aboutUsModalLabel">Přidání nového hosta</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <form method="post">
<form>
<div class="form-group">
<label>Jméno*</label>
<input type="text" class="form-control">
</div>
<div class="form-group"> <div class="modal-body">
<label>Email*</label> <div class="form-group">
<input type="text" class="form-control"> <label>Jméno*</label>
</div> <input type="text" required class="form-control">
<div class="form-group"> </div>
<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>
</form> <div class="form-group">
</div> <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"> </div>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">Přidat <div class="modal-footer">
</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
</div> <button type="submit" class="btn btn-primary">Přidat
</div> </button>
</div> </div>
</form>
</div>
</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 fade" id="addItem" tabindex="-1" role="dialog" aria-labelledby="addItemModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="addItemModalLabel">Přidat položku</h5> <h5 class="modal-title" id="addItemModalLabel">Přidat položku</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <form method="post">
<form>
<table class="table table-bordered table-striped table-hover"> <div class="modal-body">
<thead>
<tr>
<td>Název položky</td>
<td>Cena</td>
<td>Skupiny</td>
</tr>
</thead>
<tbody>
<tr> <input type="hidden" name="redirectParams" value="ok=newItems">
<td> <input type="text" class="form-control" value="Položka 12"></td>
<td><input type="text" class="form-control" value="100 Kč"></td>
<td> <table class="table table-bordered table-striped table-hover">
<div class="dropdown"> <thead>
<button class="btn dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <tr>
-- vyberte skupinu -- <td>Název položky</td>
</button> <td>Cena</td>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2"> <td>Skupiny</td>
<button class="dropdown-item" type="button">Rozlučka se svobodou</button> </tr>
<button class="dropdown-item" type="button">Svatební hostina</button> </thead>
<button class="dropdown-item" type="button">Svatební cesta</button> <tbody class="item-template-container draggable-container">
</div>
</div> <tr class="template draggable template-container__item">
</td> <td>
</tr> <input type="text" class="form-control" name="name[0]"></td>
<td style="width: 25%">
<tr>
<td> <input type="text" class="form-control" value="Položka 12"></td> <div class="input-group">
<td><input type="text" class="form-control" value="100 Kč"></td> <input type="number" data-step="100" min="0" name="price[0]" class="form-control">
<td> <div class="input-group-append">
<div class="dropdown"> <span class="input-group-text" id="basic-addon2">Kč</span>
<button class="btn dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> </div>
-- vyberte skupinu -- </div>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" type="button">Rozlučka se svobodou</button> </td>
<button class="dropdown-item" type="button">Svatební hostina</button> <td>
<button class="dropdown-item" type="button">Svatební cesta</button> <select name="group[0]" class="form-control">
</div> <option>-- vyberte skupinu --</option>
</div> <option>Rozlučka se svobodou</option>
</td> <option>Svatební hostina</option>
</tr> <option>Svatební cesta</option>
</select>
<tr> </td>
<td> <input type="text" class="form-control"></td> </tr>
<td><input type="text" class="form-control" ></td>
<td>
<div class="dropdown"> </tbody>
<button class="btn dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <tfoot>
-- vyberte skupinu -- <tr>
</button> <td colspan="3">
<div class="dropdown-menu" aria-labelledby="dropdownMenu2"> <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>
<button class="dropdown-item" type="button">Rozlučka se svobodou</button> Přidat položku</a>
<button class="dropdown-item" type="button">Svatební hostina</button> </td>
<button class="dropdown-item" type="button">Svatební cesta</button> </tr>
</div> </tfoot>
</div> </table>
</td>
</tr>
</div>
</tbody> <div class="modal-footer">
</table> <button type="button" class="btn btn-secondary" data-dismiss="modal">Storno</button>
<button type="submit" class="btn btn-primary">Přidat</button>
</div>
</form>
</form>
</div> </div>
</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>
@@ -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"> <div class="modal-body">
<table class="table"> <% include ../../program.ejs %>
<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>
</div> </div>
@@ -83,23 +35,4 @@
</div> </div>
</div> </div>
<div class="modal fade" id="setIconProgramModal" tabindex="-1" role="dialog" aria-labelledby="setIconProgramModal" aria-hidden="true"> <% include ../../program-icons.ejs %>
<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>
+1 -1
View File
@@ -1,6 +1,6 @@
<% if (typeof queryString.ok !== "undefined" && queryString.ok == parameter) { %> <% 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> <i class="fa fa-check"></i>
<% if (typeof notificationText === 'undefined') { %> <% 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> <span>Detaily svatby</span></a>
</li> </li>
<li class="nav-item"> <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 class="fa nav-link__icon fa-clock-o"></span>
<span>Program</span></a> <span>Program</span></a>
</li> </li>