First mockup pages done

This commit is contained in:
Martin Bauer 2013-06-02 21:26:10 +02:00
parent af63d38236
commit 67822f39c4
14 changed files with 692 additions and 14 deletions

View File

@ -0,0 +1,500 @@
<!DOCTYPE html>
<html>
<head>
<title>Business Template</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Styles -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/bootstrap-overrides.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/theme.css">
<link rel="stylesheet" href="css/index.css" type="text/css" media="screen" />
<link href='http://fonts.googleapis.com/css?family=Lato:300,400,700,900,300italic,400italic,700italic,900italic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="css/lib/animate.css" media="screen, projection">
<link rel="stylesheet" href="css/coming-soon.css" type="text/css" media="screen" />
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body class="pull_top">
<div class="navbar transparent navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="index.html">
<img alt="Blechreiz" src="img/logo.png">
</a>
<div class="nav-collapse collapse">
<ul class="nav pull-right">
<li><a href="index.html" class="active">HOME</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
KONZERTE
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="features.html">Nächste Konzerte</a></li>
<li><a href="services.html">Anfrage</a></li>
<li><a href="services.html">Unser Projekt</a></li>
</ul>
</li>
<li><a href="index.html" class="active">MUSIKER</a></li>
<li><a class="btn-header" href="sign-in.html">Interner Bereich</a></li>
</ul>
</div>
</div>
</div>
</div>
<section id="feature_slider" class="">
<!--
Each slide is composed by <img> and .info
- .info's position is customized with css in index.css
- each <img> parallax effect is declared by the following params inside its class:
example: class="asset left-472 sp600 t120 z3"
left-472 means left: -472px from the center
sp600 is speed transition
t120 is top to 120px
z3 is z-index to 3
Note: Maintain this order of params
For the backgrounds, you can combine from the bgs folder :D
-->
<article class="slide" id="showcasing" style="background: url('img/backgrounds/silver.jpg') repeat-x top center;">
<img class="asset left-30 sp600 t120 z1" src="img/slides/blechreiz01/gruppe.png" />
<div class="info">
<h2>Blechreiz</h2>
<h3>12 Musiker für einen guten Zweck </h3>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/ticotico2.jpg') repeat-x top center;">
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/daempfer.jpg') repeat-x top center;">
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/andi.jpg') repeat-x top center;">
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/andi2.jpg') repeat-x top center;">
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/applaus.jpg') repeat-x top center;">
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/eindruck.jpg') repeat-x top center;">
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/publikum.jpg') repeat-x top center;">
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/slides/blechreiz01/spielen2.jpg') repeat-x top center;">
</article>
<article class="slide" id="showcasing" style="background: url('img/backgrounds/black_red_01.jpg') repeat-x top center;">
<img class="asset left-30 sp600 t120 z1" src="img/slides/blechreiz01/tuba.png" />
<div class="info">
<h2>Konzerte</h2>
<a href="features.html">Nächste Termine</a>
</div>
</article>
<article class="slide" id="tour" style="background: url('img/backgrounds/color-splash.jpg') repeat-x top center;">
<img class="asset left-472 sp650 t210 z3" src="img/slides/scene3/ipad.png" />
<img class="asset left-365 sp600 t270 z4" src="img/slides/scene3/iphone.png" />
<img class="asset left-350 sp450 t135 z2" src="img/slides/scene3/desktop.png" />
<img class="asset left-185 sp550 t220 z1" src="img/slides/scene3/macbook.png" />
<div class="info">
<h2>Über uns</h2>
<a href="features.html">Los</a>
</div>
</article>
<article class="slide" id="ideas" style="background: url('img/backgrounds/aqua.jpg') repeat-x top center;">
<div class="info">
<h2>Unser Projekt</h2>
</div>
<img class="asset left-480 sp600 t260 z1" src="img/slides/scene2/left.png" />
<img class="asset left-210 sp600 t213 z2" src="img/slides/blechreiz01/tuba.png" />
<img class="asset left60 sp600 t260 z1" src="img/slides/scene2/right.png" />
</article>
</section>
<div id="coming_soon">
<div class="head">
<div class="container">
<div class="span6 text">
<h4>Unser nächstes Konzert</h4>
<p>
Ist in Rohr um 19:00 in der WasWeissIch Kirche <span>Bis dann</span>
<br />
Dorfplatz 5, Rohr
</p>
</div>
<div class="span6 count" id="clock">
<div class="box last">
<div class="circle">
<span id="seconds"></span>
</div>
<p>Sekunden</p>
</div>
<div class="box">
<div class="circle">
<span id="minutes"></span>
</div>
<p>Minuten</p>
</div>
<div class="box">
<div class="circle">
<span id="hours"></span>
</div>
<p>Stunden</p>
</div>
<div class="box">
<div class="circle">
<span id="days"></span>
</div>
<p>Tage</p>
</div>
<!-- <div class="box">
<div class="circle">
<span id="weeks"></span>
</div>
<p>Weeks</p>
</div> -->
</div>
</div>
</div>
</div>
<!-- Pricing Option -->
<div id="in_pricing">
<div class="container">
<div class="section_header">
<h3>Pricing</h3>
</div>
<div class="row charts_wrapp">
<!-- Plan Box -->
<div class="span4">
<div class="plan">
<div class="wrapper">
<h3>Lite</h3>
<div class="price">
<span class="dollar">$</span>
<span class="qty">35</span>
<span class="month">/month</span>
</div>
<div class="features">
<p>
<strong>10</strong>
Shared Projects
</p>
<p>
<strong>4</strong>
Team Members
</p>
<p>
<strong>10</strong>
Storage
</p>
</div>
<a class="order" href="pricing.html">ORDER NOW</a>
</div>
</div>
</div>
<!-- Plan Box -->
<div class="span4 pro">
<div class="plan">
<div class="wrapper">
<img class="ribbon" src="img/badge.png">
<h3>Pro</h3>
<div class="price">
<span class="dollar">$</span>
<span class="qty">99</span>
<span class="month">/month</span>
</div>
<div class="features">
<p>
<strong>10</strong>
Shared Projects
</p>
<p>
<strong>25</strong>
Team Members
</p>
<p>
<strong>Unlimited</strong>
Storage
</p>
<p>
<strong>Plus </strong>
Phone Support
</p>
</div>
<a class="order" href="pricing.html">ORDER NOW</a>
</div>
</div>
</div>
<!-- Plan Box -->
<div class="span4 standar">
<div class="plan">
<div class="wrapper">
<h3>Standard</h3>
<div class="price">
<span class="dollar">$</span>
<span class="qty">65</span>
<span class="month">/month</span>
</div>
<div class="features">
<p>
<strong>10</strong>
Shared Projects
</p>
<p>
<strong>4</strong>
Team Members
</p>
<p>
<strong>10</strong>
Storage
</p>
</div>
<a class="order" href="pricing.html">ORDER NOW</a>
</div>
</div>
</div>
</div>
<div class="start">
<p>Start your free, no-risk, 14 day trial! </p>
<a href="pricing.html">Start Now!</a>
</div>
</div>
</div>
<div id="clients">
<div class="container">
<div class="section_header">
<h3>Clients</h3>
</div>
<div class="row">
<div class="span2 client">
<div class="img client1"></div>
</div>
<div class="span2 client">
<div class="img client2"></div>
</div>
<div class="span2 client">
<div class="img client3"></div>
</div>
<div class="span2 client">
<div class="img client1"></div>
</div>
<div class="span2 client">
<div class="img client2"></div>
</div>
<div class="span2 client">
<div class="img client3"></div>
</div>
</div>
</div>
</div>
<!-- starts footer -->
<footer id="footer">
<div class="container">
<div class="row sections">
<div class="span4 recent_posts">
<h3 class="footer_header">
Recent Posts
</h3>
<div class="post">
<a href="blogpost.html">
<img src="img/recent_post1.png" class="img-circle" />
</a>
<div class="date">
Wed, 12 Dec
</div>
<a href="blogpost.html" class="title">
Randomised words which don't look embarrasing hidden.
</a>
</div>
<div class="post">
<a href="blogpost.html">
<img src="img/recent_post2.png" class="img-circle" />
</a>
<div class="date">
Mon, 12 Dec
</div>
<a href="blogpost.html" class="title">
Randomised words which don't look embarrasing hidden.
</a>
</div>
</div>
<div class="span4 testimonials">
<h3 class="footer_header">
Testimonials
</h3>
<div class="wrapper">
<div class="quote">
<span></span>
There are many variations of passages of randomised words which don't look even slightly believable. You need to be sure there isn't anything embarrassing of text.
<span></span>
</div>
<div class="author">
<img src="img/user-display.png" />
<div class="name">Alejandra Galvan Castillo</div>
<div class="info">
Details Canvas
</div>
</div>
</div>
</div>
<div class="span4 contact">
<h3 class="footer_header">
Contact
</h3>
<form action="#" method="post">
<input type="text" placeholder="Your name" />
<input type="text" placeholder="Your email" />
<textarea rows="3" placeholder="Message"></textarea>
<input type="submit" value="Send" />
</form>
</div>
</div>
<div class="row credits">
<div class="span12">
<div class="row social">
<div class="span12">
<a href="#" class="facebook">
<span class="socialicons ico1"></span>
<span class="socialicons_h ico1h"></span>
</a>
<a href="#" class="twitter">
<span class="socialicons ico2"></span>
<span class="socialicons_h ico2h"></span>
</a>
<a href="#" class="gplus">
<span class="socialicons ico3"></span>
<span class="socialicons_h ico3h"></span>
</a>
<a href="#" class="flickr">
<span class="socialicons ico4"></span>
<span class="socialicons_h ico4h"></span>
</a>
<a href="#" class="pinterest">
<span class="socialicons ico5"></span>
<span class="socialicons_h ico5h"></span>
</a>
<a href="#" class="dribble">
<span class="socialicons ico6"></span>
<span class="socialicons_h ico6h"></span>
</a>
<a href="#" class="behance">
<span class="socialicons ico7"></span>
<span class="socialicons_h ico7h"></span>
</a>
</div>
</div>
<div class="row copyright">
<div class="span12">
© 2013 Clean Canvas. All rights reserved. Theme by Detail Canvas.
</div>
</div>
</div>
</div>
</div>
</footer>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.countdown.min.js"></script>
<script src="js/theme.js"></script>
<script type="text/javascript">
$(function () {
var currentDate = new Date(),
finished = false,
availiableExamples = {
set35daysFromNow: 35 * 24 * 60 * 60 * 1000,
set5minFromNow : 5 * 60 * 1000,
set1minFromNow : 1 * 60 * 1000
};
function callback(event) {
$this = $(this);
$this.find('span#'+event.type).html(event.value);
switch(event.type) {
case "seconds":
case "minutes":
case "hours":
case "days":
case "weeks":
case "daysLeft":
case "finished":
}
}
$('div#clock').countdown(availiableExamples.set35daysFromNow + currentDate.valueOf(), callback);
});
</script>
<!-- Scripts -->
<script type="text/javascript" src="js/index-slider.js"></script>
</body>
</html>

View File

@ -2,7 +2,7 @@
margin-top: -35px;
}
#coming_soon .head{
background: url("../img/backgrounds/color-splash.jpg") no-repeat;
/*background: url("../img/backgrounds/color-splash.jpg") no-repeat;*/
display: block;
padding-top: 160px;
height: 288px;
@ -17,15 +17,15 @@
}
#coming_soon .text h4{
margin: 0 0 35px 0;
color: #fff;
/*color: #fff;*/
font-size: 35px;
font-weight: normal;
line-height: 38px;
text-shadow: 1px 1px 0px #2A284D;
}
#coming_soon .text p{
color: #fff;
font-size: 16px;
/*color: #fff;*/
font-size: 18px;
font-style: italic;
line-height: 24px;
}
@ -61,7 +61,7 @@
font-weight: bold;
}
#coming_soon .count p{
color: #fff;
/*color: #fff;*/
margin: 0;
text-transform: uppercase;
font-size: 13px;

View File

@ -41,7 +41,7 @@
width: 7px;
height: 7px;
box-shadow: 0px 0px 1px 2px #ccc;
background: rgb(0, 0, 0);
background: rgb(156, 156, 156);
border-radius: 10px;
display: block;
/*border: 1px solid #fff;*/
@ -51,7 +51,7 @@
transition: opacity .1s linear;
}
#pagination li.active a {
background: rgb(46, 92, 177);
background: rgb(196, 16, 16);
box-shadow: none;
width: 8px;
height: 8px;
@ -95,12 +95,14 @@
z-index: 10;
}
.slide#showcasing .info h2 {
color: #fff;
font-size: 50px;
font-weight: normal;
line-height: 56px;
text-shadow: 1px 1px 1px rgb(49, 57, 61);
}
/* Slide 2 */
.slide#ideas .info {
position: relative;
@ -120,7 +122,7 @@
width: 24%;
}
.slide#tour .info h2 {
color: #fff;
color: rgb(18,18,18);
font-size: 45px;
font-weight: normal;
text-shadow: 1px 1px 1px #3b3262;
@ -129,7 +131,7 @@
.slide#tour .info a {
color: #fff;
font-weight: bold;
background-color: #2a205d;
background-color: rgba(18,18,18,0.6);
padding: 13px 30px;
font-size: 19px;
border-radius: 5px;

View File

@ -37,8 +37,8 @@ header {
border-bottom: 1px solid rgb(88, 88, 88);
}
.navbar.transparent.navbar-inverse .navbar-inner .container {
margin-top: 10px;
margin-bottom: 10px;
/*margin-top: 10px;
margin-bottom: 10px;*/
-webkit-transition: margin .2s ease-in-out;
-moz-transition: margin .2s ease-in-out;
transition: margin .2s ease-in-out;
@ -58,9 +58,15 @@ header {
.navbar-inverse .brand {
color: #fff;
}
.navbar .brand {
padding: 5px;
}
.navbar-inverse .nav > li > a {
/*color: rgb(177, 177, 177);*/
font-size: 13px;
font-size: 18px;
padding-top: 23px;
font-weight: bold;
color: #fff;
text-shadow: 0 1px 0 rgba(0,0,0,.5);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -362,7 +362,7 @@ $(document).ready(function () {
});
var f = setInterval(function () {
i()
}, 5000)
}, 15000)
}
c();
$(window).resize(function () {

0
eventplanner/__init__.py Normal file
View File

20
eventplanner/admin.py Normal file
View File

@ -0,0 +1,20 @@
from django.contrib import admin
from eventplanner.models import Event, EventParticipation
class EventParticipationInline(admin.TabularInline):
model = EventParticipation
extra = 1
readonly_fields = ('musician',)
fields = ( 'musician', 'status', 'comment', )
has_add_permission = lambda self, req : False
has_delete_permission = lambda self, req, obj : False
template = "custom_tabular.html"
class EventAdmin(admin.ModelAdmin):
inlines = ( EventParticipationInline, )
admin.site.register( Event, EventAdmin )

55
eventplanner/models.py Normal file
View File

@ -0,0 +1,55 @@
from django.db import models
from django.utils.translation import ugettext as _
from locpick.field import LocationField
from musicians.models import Musician
class Event ( models.Model ):
EVENT_TYPES = (
( 'Reh', _('Rehearsal') ),
( 'Conc', _('Concert') ),
( 'GenReh', _('General Rehearsal') ),
)
title = models.CharField( max_length=40 )
type = models.CharField( max_length=6, choices=EVENT_TYPES, default='Reh' )
date = models.DateField()
time = models.TimeField( null=True, blank=True )
participants = models.ManyToManyField( Musician, through='EventParticipation' )
desc = models.TextField( blank=True)
location = LocationField()
def __unicode__(self):
return self.title + " ( " + self.get_type_display() + " ) "
def save(self, *args, **kwargs):
# Call the "real" save() method
super(Event, self).save(*args, **kwargs)
# Create a "Don't Know" participation for each Musician
for m in Musician.objects.all():
if not m in self.participants.all():
EventParticipation.objects.create( event=self, musician = m, status='?', comment = '' )
class EventParticipation( models.Model ):
OPTIONS = ( ('?' , _('?' )),
('Yes', _('Yes')),
('No' , _('No' ))
)
event = models.ForeignKey( Event )
musician = models.ForeignKey( Musician )
status = models.CharField ( max_length=3, choices = OPTIONS, default='?' )
comment = models.CharField ( max_length=64, blank=True )
class Meta:
unique_together = ("event", "musician")

View File

@ -0,0 +1,78 @@
{% load i18n admin_static admin_modify %}
<div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group">
<div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">
{{ inline_admin_formset.formset.management_form }}
<fieldset class="module">
<h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
{{ inline_admin_formset.formset.non_form_errors }}
<table>
<thead><tr>
{% for field in inline_admin_formset.fields %}
{% if not field.widget.is_hidden %}
<th{% if forloop.first %} colspan="2"{% endif %}{% if field.required %} class="required"{% endif %}>{{ field.label|capfirst }}
{% if field.help_text %}&nbsp;<img src="{% static "admin/img/icon-unknown.gif" %}" class="help help-tooltip" width="10" height="10" alt="({{ field.help_text|striptags }})" title="{{ field.help_text|striptags }}" />{% endif %}
</th>
{% endif %}
{% endfor %}
{% if inline_admin_formset.formset.can_delete %}<th>{% trans "Delete?" %}</th>{% endif %}
</tr></thead>
<tbody>
{% for inline_admin_form in inline_admin_formset %}
{% if inline_admin_form.form.non_field_errors %}
<tr><td colspan="{{ inline_admin_form|cell_count }}">{{ inline_admin_form.form.non_field_errors }}</td></tr>
{% endif %}
<tr class="form-row {% cycle "row1" "row2" %} {% if forloop.last %} empty-form{% endif %}"
id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
<td class="original">
{% if inline_admin_form.original or inline_admin_form.show_url %}<p>
</p>{% endif %}
{% if inline_admin_form.has_auto_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
{{ inline_admin_form.fk_field.field }}
{% spaceless %}
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
{% if field.is_hidden %} {{ field.field }} {% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{% endspaceless %}
</td>
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
<td{% if field.field.name %} class="field-{{ field.field.name }}"{% endif %}>
{% if field.is_readonly %}
<p>{{ field.contents|linebreaksbr }}</p>
{% else %}
{{ field.field.errors.as_ul }}
{{ field.field }}
{% endif %}
</td>
{% endfor %}
{% endfor %}
{% endfor %}
{% if inline_admin_formset.formset.can_delete %}
<td class="delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</fieldset>
</div>
</div>
<script type="text/javascript">
(function($) {
$("#{{ inline_admin_formset.formset.prefix }}-group .tabular.inline-related tbody tr").tabularFormset({
prefix: "{{ inline_admin_formset.formset.prefix }}",
adminStaticPrefix: '{% static "admin/" %}',
addText: "{% blocktrans with inline_admin_formset.opts.verbose_name|title as verbose_name %}Add another {{ verbose_name }}{% endblocktrans %}",
deleteText: "{% trans 'Remove' %}"
});
})(django.jQuery);
</script>

16
eventplanner/tests.py Normal file
View File

@ -0,0 +1,16 @@
"""
This file demonstrates writing tests using the unittest module. These will pass
when you run "manage.py test".
Replace this with more appropriate tests for your application.
"""
from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.assertEqual(1 + 1, 2)

1
eventplanner/views.py Normal file
View File

@ -0,0 +1 @@
# Create your views here.