Statusmeldungen hinzugefügt; Reservierungen funktionabel; kleine Bugfixes
This commit is contained in:
@@ -1,4 +1,97 @@
|
||||
extends ./wrapper
|
||||
|
||||
mixin reservation-form(id, name, desc, email, person, time, date, message)
|
||||
.row
|
||||
form.col-md-10.col-md-offset-1.orange(method="post",action="/kontakt")
|
||||
if message
|
||||
+status-message(message.type, message.message, message.reasons)
|
||||
.row
|
||||
.col-md-6
|
||||
+input-val("name","id-name","Max Mustermann","Name:","name",name)
|
||||
+input-val("number","id-person","2","Anzahl der Personen:","person",person)
|
||||
.col-md-6.no-padding-md
|
||||
.row
|
||||
.col-sm-6
|
||||
+input-val("date","id-date","TT.MM.JJJJ","Datum:","date",date)
|
||||
.col-sm-6
|
||||
+input-val("datetime-local","id-time","HH:MM","Uhrzeit:","time",time)
|
||||
.row
|
||||
.col-md-12
|
||||
+input-val("email","id-mail","max.mustermann@mail.de","E-Mail-Adresse:","email",email)
|
||||
.row
|
||||
.col-md-12
|
||||
+textarea-val("id-desc","Weitere Kontaktdaten, Spezielle Essens-, Platzwünsche, ...","Kommentare:","desc",desc,"7")
|
||||
.row
|
||||
.col-md-3.col-md-offset-3.text-center
|
||||
input(type='hidden',name='nametag',value='#{id}')
|
||||
if id="new"
|
||||
button(type="submit",class="btn btn-success") Reservieren
|
||||
else
|
||||
button(type="submit",class="btn btn-success") Reservierung ändern
|
||||
.col-md-3.text-center
|
||||
button(type="reset",class="btn btn-danger") Eingaben löschen
|
||||
|
||||
mixin reservation-list(entries, message)
|
||||
.row
|
||||
if entries.length
|
||||
.col-md-10.col-md-offset-1.stripe
|
||||
if message
|
||||
+status-message(message.type, message.message, message.reasons)
|
||||
each entry, index in entries
|
||||
+reservation-entry(entry.name, entry.desc, entry.person, entry.time, entry.date, entry.read, entry.email, index)
|
||||
else
|
||||
.col-md-10.col-md-offset-1.orange Keine Reservierungen vorhanden.
|
||||
|
||||
mixin reservation-entry(name, desc, person, time, date, read, email, index)
|
||||
.row
|
||||
.col-md-1
|
||||
form(style="display:inline",method="post",action="")
|
||||
input(type='hidden',name='nametag',value="#{index+'-del'}")
|
||||
button.btn.btn-sm.btn-danger(type="submit")
|
||||
+icon("remove")
|
||||
span.hidden-md.hidden-lg Entfernen
|
||||
form(style="display:inline",method="get",action="")
|
||||
input(type='hidden',name='nametag',value="#{index+'-edit'}")
|
||||
button.btn.btn-sm.btn-primary(type="submit")
|
||||
+icon("edit")
|
||||
span.hidden-md.hidden-lg Bearbeiten
|
||||
form(style="display:inline",method="post",action="")
|
||||
input(type='hidden',name='nametag',value="#{index+'-read'}")
|
||||
button.btn.btn-sm.btn-info(type="submit")
|
||||
if read
|
||||
+icon("check")
|
||||
span.hidden-md.hidden-lg Als ungelesen markieren
|
||||
else
|
||||
+icon("unchecked")
|
||||
span.hidden-md.hidden-lg Als gelesen markieren
|
||||
.col-md-7
|
||||
span.lead= name
|
||||
br
|
||||
span.small !{desc.substr(0, 300).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/\n/g, '<br/>')}
|
||||
.col-md-4
|
||||
.row
|
||||
.col-md-12= person
|
||||
.row
|
||||
.col-md-12= time
|
||||
.row
|
||||
.col-md-12= date
|
||||
.row
|
||||
.col-md-12= email
|
||||
|
||||
|
||||
|
||||
mixin reservation(item, list, isadmin, message)
|
||||
if isadmin
|
||||
if item
|
||||
+reservation-form(item.id, item.name, item.desc, item.email, item.person, item.time, item.date, message)
|
||||
else
|
||||
+reservation-list(list, message)
|
||||
else
|
||||
if item
|
||||
+reservation-form("new", item.name, item.desc, item.email, item.person, item.time, item.date, message)
|
||||
else
|
||||
+reservation-form("new", "", "", "", "", "", "", message)
|
||||
|
||||
block vars
|
||||
- var pageTitle = 'Kontakt'
|
||||
block content
|
||||
@@ -6,25 +99,7 @@ block content
|
||||
a(name="reservierung")
|
||||
h1 Reservierung
|
||||
.container
|
||||
.row
|
||||
.col-md-10.col-md-offset-1.orange
|
||||
.row
|
||||
.col-md-6
|
||||
+input("name","id-name","Max Mustermann","Name:")
|
||||
+input("number","id-person","2","Anzahl der Personen:")
|
||||
.col-md-6
|
||||
+input("datetime-local","id-date","TT.MM.JJJJ HH:MM","Datum und Uhrzeit des Besuchs:")
|
||||
+input("email","id-mail","max.mustermann@mail.de","E-Mail-Adresse:")
|
||||
.row
|
||||
.col-md-12
|
||||
.form-group
|
||||
label(for="id-desc") Kommentare:
|
||||
textarea(id="id-desc",class="form-control",type="datetime-local",placeholder="Weitere Kontaktdaten, Spezielle Essens-, Platzwünsche, ...",rows="7")
|
||||
.row
|
||||
.col-md-2.col-md-offset-4
|
||||
button(type="submit",class="btn btn-success") Submit
|
||||
.col-md-2
|
||||
button(type="reset",class="btn btn-danger") Submit
|
||||
+reservation(editItem, listItem, isAdmin, statusMessage)
|
||||
a(name="anfahrt")
|
||||
h1 Anfahrt
|
||||
.container
|
||||
@@ -46,7 +121,7 @@ block content
|
||||
p
|
||||
| 030 110 112 1337
|
||||
br
|
||||
a(href='reis@korn.de') reis@korn.de
|
||||
a(href='mailto://reis@korn.de') reis@korn.de
|
||||
a(name="impressum")
|
||||
h1 Impressum
|
||||
.container
|
||||
|
||||
@@ -2,45 +2,47 @@ extends ./wrapper
|
||||
block vars
|
||||
- var pageTitle = 'Home'
|
||||
block content
|
||||
+carousel("home_carousel",[
|
||||
{
|
||||
image:"/bin/image/restaurant-1-chairs.jpg",
|
||||
h1:"Romantisches Dinner",
|
||||
p:"Wie wäre es mit einem Kerzenabend zu zweit?",
|
||||
button:{
|
||||
caption:"Reservieren",
|
||||
url:"/kontakt#reservieren"
|
||||
}
|
||||
},
|
||||
{
|
||||
image:"/bin/image/restaurant-2-hall.jpg",
|
||||
h1:"Konferenzraum",
|
||||
p:"Viel Platz für über 200 Gäste",
|
||||
button:{
|
||||
caption:"Reservieren",
|
||||
url:"/kontakt#reservieren"
|
||||
}
|
||||
},
|
||||
{
|
||||
image:"/bin/image/restaurant-3-pillar.jpg",
|
||||
h1:"Gemütliche Räumlichkeiten",
|
||||
p:"Bei schlechten Wetter verträumt im fernen Osten",
|
||||
button:{
|
||||
caption:"Anfahrt",
|
||||
url:"/kontakt#anfahrt"
|
||||
}
|
||||
},
|
||||
{
|
||||
image:"/bin/image/restaurant-4-buffet.jpg",
|
||||
h1:"Buffet",
|
||||
p:"Vielfältige Auswahl an Speisen und Getränken",
|
||||
button:{
|
||||
caption:"Speisekarte",
|
||||
url:"/speisekarte"
|
||||
}
|
||||
}
|
||||
])
|
||||
.container
|
||||
.row
|
||||
.col-md-12.carousel-fullwidth
|
||||
+carousel("home_carousel",[
|
||||
{
|
||||
image:"/bin/image/restaurant-1-chairs.jpg",
|
||||
h1:"Romantisches Dinner",
|
||||
p:"Wie wäre es mit einem Kerzenabend zu zweit?",
|
||||
button:{
|
||||
caption:"Reservieren",
|
||||
url:"/kontakt#reservieren"
|
||||
}
|
||||
},
|
||||
{
|
||||
image:"/bin/image/restaurant-2-hall.jpg",
|
||||
h1:"Konferenzraum",
|
||||
p:"Viel Platz für über 200 Gäste",
|
||||
button:{
|
||||
caption:"Reservieren",
|
||||
url:"/kontakt#reservieren"
|
||||
}
|
||||
},
|
||||
{
|
||||
image:"/bin/image/restaurant-3-pillar.jpg",
|
||||
h1:"Gemütliche Räumlichkeiten",
|
||||
p:"Bei schlechten Wetter verträumt im fernen Osten",
|
||||
button:{
|
||||
caption:"Anfahrt",
|
||||
url:"/kontakt#anfahrt"
|
||||
}
|
||||
},
|
||||
{
|
||||
image:"/bin/image/restaurant-4-buffet.jpg",
|
||||
h1:"Buffet",
|
||||
p:"Vielfältige Auswahl an Speisen und Getränken",
|
||||
button:{
|
||||
caption:"Speisekarte",
|
||||
url:"/speisekarte"
|
||||
}
|
||||
}
|
||||
])
|
||||
.row
|
||||
.col-md-6.graygray
|
||||
+img-responsive-center("/bin/image/rice-world.png","Welt voller Reis")
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
extends ./wrapper
|
||||
|
||||
mixin menu-item-adm(name, desc, price, prefix, newItem)
|
||||
mixin menu-item-adm(name, anchor, desc, price, prefix, newItem)
|
||||
.row
|
||||
.col-md-1
|
||||
if newItem
|
||||
button.btn.btn-sm.btn-success(type="submit",form="#{prefix}")
|
||||
+icon("ok")
|
||||
else
|
||||
form(style="display:inline",method="post",action="")
|
||||
form(style="display:inline",method="post",action="#{'/speisekarte#' + anchor}")
|
||||
input(type='hidden',name='nametag',value="#{prefix + '-del'}")
|
||||
button.btn.btn-sm.btn-danger(type="submit")
|
||||
+icon("remove")
|
||||
button.btn.btn-sm.btn-primary(type="submit",form="#{prefix}")
|
||||
+icon("edit")
|
||||
form.col-md-11(id="#{prefix}",method="post",action="")
|
||||
form.col-md-11(id="#{prefix}",method="post",action="#{'/speisekarte#' + anchor}")
|
||||
.col-md-9
|
||||
input(type='hidden',name='nametag',value='#{prefix}')
|
||||
+input-val-simple("text",prefix + "-name","Name","name","name",name)
|
||||
@@ -32,16 +32,20 @@ mixin menu-item(name, desc, price)
|
||||
p.text-right #{price.toFixed(2).replace(/(\d)(?=(\d{3})+\,)/g, '$1,').replace(/^(.*)\.(.*)$/g, '$1,$2€')}
|
||||
|
||||
|
||||
mixin menu-cat(name, anchor, content, adm, prefix)
|
||||
mixin menu-cat(name, anchor, content, adm, prefix, message)
|
||||
a(name= anchor)
|
||||
h2= name
|
||||
.container
|
||||
.row
|
||||
.col-md-10.col-md-offset-1.stripe
|
||||
if anchor
|
||||
if message
|
||||
if anchor==message.anchor
|
||||
+status-message(message.type, message.message, message.reasons)
|
||||
if adm
|
||||
each val, index in content
|
||||
+menu-item-adm(val.name, val.desc, val.price, prefix + "-" + index, "")
|
||||
+menu-item-adm("", "", "", prefix + "-new", "x")
|
||||
+menu-item-adm(val.name, anchor, val.desc, val.price, prefix + "-" + index, "")
|
||||
+menu-item-adm("", anchor, "", "", prefix + "-new", "x")
|
||||
else
|
||||
each val, index in content
|
||||
+menu-item(val.name, val.desc, val.price)
|
||||
@@ -49,7 +53,7 @@ mixin menu-cat(name, anchor, content, adm, prefix)
|
||||
|
||||
mixin menu-part(part, adm, prefix)
|
||||
each val, index in part
|
||||
+menu-cat(val.name, val.anchor, val.items, adm, prefix + "-" + index)
|
||||
+menu-cat(val.name, val.anchor, val.items, adm, prefix + "-" + index, statusMessage)
|
||||
|
||||
block vars
|
||||
- var pageTitle = 'Speisekarte'
|
||||
|
||||
@@ -3,6 +3,11 @@ doctype html
|
||||
extends ../node_modules/jade-bootstrap/_bootstrap
|
||||
|
||||
|
||||
mixin textarea-val(id,placeholder,label,name,value,rows)
|
||||
.form-group
|
||||
label(for="#{id}") #{label}
|
||||
textarea.form-control(id="#{id}",placeholder="#{placeholder}",name="#{name}",rows="#{rows}")= value
|
||||
|
||||
mixin input-val(type,id,placeholder,label,name,value)
|
||||
.form-group
|
||||
label(for="#{id}") #{label}
|
||||
@@ -13,6 +18,13 @@ mixin input-val-simple(type,id,placeholder,label,name,value)
|
||||
input.form-control(type="#{type}",id="#{id}",placeholder="#{placeholder}",name="#{name}",value="#{value}")
|
||||
|
||||
|
||||
mixin status-message(type, message, reasons)
|
||||
div(class="alert alert-#{type}" role="alert")= message
|
||||
if reasons
|
||||
ul
|
||||
each val in reasons
|
||||
li= val
|
||||
|
||||
|
||||
|
||||
mixin navbar-main(style)
|
||||
@@ -50,7 +62,8 @@ mixin loginBox
|
||||
.col-sm-7.text-center
|
||||
a.btn.btn-default(href="/login#admin") Admin-Panel
|
||||
|
||||
|
||||
|
||||
|
||||
block styles
|
||||
//link(rel="stylesheet",type="text/css",href="/bin/bootstrap/css/bootstrap.min.css")
|
||||
link(rel="stylesheet",type="text/css",href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css")
|
||||
|
||||
Reference in New Issue
Block a user