Skip to content

Commit 35674cb

Browse files
committed
Merge pull request #2 from mpavlase/master-fork
Really start with project
2 parents b3bc662 + f54f45b commit 35674cb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1367
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/venv/
2+
*.pyc
3+
.idea/

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
11
# jizdoteka-web
22

33
[![Gitter](https://badges.gitter.im/jizdoteka/general.svg)](https://gitter.im/jizdoteka/general?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4+
5+
## Instalace
6+
7+
Pro účely vývoje/testování doporučuji použít `virtualenv` (pip install virtualenv)
8+
```
9+
pip install -r requirements.txt
10+
```
11+
12+
Spuštění serveru: `./manage.py runserver`
13+
14+
Web je dostupný na: `http://localhost:8000`
15+
Administrace (admin/admin): `http://localhost:8000/admin`
16+
17+
Pokud jste provedli nějaké změny v modelech: `./manage.py makemigrations` a následně `./manage.py migrate`
18+
19+
## Stav projektu
20+
Rozpracováno (částečně funguje):
21+
* model DB, dost tam toho ještě chybí, ale to nejdůležitější (jízdy jako takové) jsou z velké části udělané. Počítám s tím, že se lidé mohou přihlásit jen na část trasy, cena za úsek je nepovinná
22+
* výpis jízd
23+
* detail vybrané jízdy - vč. přihlášených lidí na úsecích
24+
25+
Chybí, je třeba opravit (hmm.. od čeho začít :)
26+
* plnění webu day prozatím pouze skrze administraci (viz. link výše)
27+
* (skrze administraci) lze přihlásit pasažéra i na trasu mimo jeho jízdu - toto budeme stejně ošetřovat už při vkládání do DB, takže to nakonec tak moc vadit nebude
28+
* všechno ostatní ...

apps/__init__.py

Whitespace-only changes.

apps/web/__init__.py

Whitespace-only changes.

apps/web/admin.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
from django.contrib import admin
2+
from django.contrib.auth.models import User
3+
import models
4+
5+
# Register your models here.
6+
admin.site.register(models.Comment)
7+
admin.site.register(models.Waypoint)
8+
admin.site.register(models.Passanger)
9+
admin.site.register(models.JourneyWaypoints)
10+
11+
12+
class UserProfileInline(admin.TabularInline):
13+
model = models.UserProfile
14+
15+
16+
class UserAdmin(admin.ModelAdmin):
17+
inlines = [
18+
UserProfileInline
19+
]
20+
21+
admin.site.unregister(User)
22+
admin.site.register(User, UserAdmin)
23+
24+
25+
class JourneyWaypointsInline(admin.TabularInline):
26+
model = models.JourneyWaypoints
27+
28+
29+
# class PassengerOnWaypointInline(admin.TabularInline):
30+
# model = models.PassengerOnWaypoint
31+
32+
33+
class JourneyAdmin(admin.ModelAdmin):
34+
inlines = [
35+
JourneyWaypointsInline,
36+
# PassengerOnWaypointInline,
37+
]
38+
39+
admin.site.register(models.Journey, JourneyAdmin)

apps/web/apps.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from __future__ import unicode_literals
2+
3+
from django.apps import AppConfig
4+
5+
6+
class WebConfig(AppConfig):
7+
name = 'web'
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.2 on 2016-02-11 23:14
3+
from __future__ import unicode_literals
4+
5+
from django.conf import settings
6+
from django.db import migrations, models
7+
import django.db.models.deletion
8+
9+
10+
class Migration(migrations.Migration):
11+
12+
initial = True
13+
14+
dependencies = [
15+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
16+
]
17+
18+
operations = [
19+
migrations.CreateModel(
20+
name='Comment',
21+
fields=[
22+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
23+
('date', models.DateTimeField()),
24+
('message', models.TextField()),
25+
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_author', to=settings.AUTH_USER_MODEL)),
26+
('recipient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_recipient', to=settings.AUTH_USER_MODEL)),
27+
],
28+
),
29+
migrations.CreateModel(
30+
name='Journey',
31+
fields=[
32+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
33+
('price', models.FloatField(default=0)),
34+
('currency', models.CharField(default='CZK', max_length=3)),
35+
],
36+
),
37+
migrations.CreateModel(
38+
name='JourneyWaypoints',
39+
fields=[
40+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
41+
('order', models.IntegerField(default=0, verbose_name='Number of stop from start point')),
42+
('journey', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Journey')),
43+
],
44+
),
45+
migrations.CreateModel(
46+
name='UserProfile',
47+
fields=[
48+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
49+
('phone_number', models.CharField(blank=True, max_length=13, verbose_name='Phone numberr')),
50+
('reputation', models.IntegerField(blank=True, default=0)),
51+
('modeid', models.CharField(blank=True, max_length=100)),
52+
('num_journeys', models.IntegerField(blank=True, default=0)),
53+
('driven_km', models.IntegerField(blank=True, default=0)),
54+
('drive_years', models.IntegerField(blank=True, default=0)),
55+
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
56+
],
57+
),
58+
migrations.CreateModel(
59+
name='Waypoint',
60+
fields=[
61+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
62+
('city', models.CharField(max_length=100)),
63+
('label', models.CharField(blank=True, default='', max_length=100)),
64+
],
65+
),
66+
migrations.AddField(
67+
model_name='journeywaypoints',
68+
name='waypoint',
69+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Waypoint'),
70+
),
71+
migrations.AddField(
72+
model_name='journey',
73+
name='city_from',
74+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='wpt_from', to='web.Waypoint'),
75+
),
76+
migrations.AddField(
77+
model_name='journey',
78+
name='city_to',
79+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='wpt_to', to='web.Waypoint'),
80+
),
81+
migrations.AddField(
82+
model_name='journey',
83+
name='comments',
84+
field=models.ManyToManyField(blank=True, to='web.Comment'),
85+
),
86+
migrations.AddField(
87+
model_name='journey',
88+
name='driver',
89+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
90+
),
91+
]
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.2 on 2016-02-11 23:20
3+
from __future__ import unicode_literals
4+
5+
import datetime
6+
from django.db import migrations, models
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('web', '0001_initial'),
13+
]
14+
15+
operations = [
16+
migrations.AddField(
17+
model_name='journey',
18+
name='approx',
19+
field=models.BooleanField(default='', verbose_name='Driver is not sure about exact time of departure'),
20+
),
21+
migrations.AddField(
22+
model_name='journey',
23+
name='approx_note',
24+
field=models.CharField(blank=True, max_length=100, verbose_name='If approx is applied, this can be used for short note to departure'),
25+
),
26+
migrations.AddField(
27+
model_name='journey',
28+
name='date',
29+
field=models.DateTimeField(default=datetime.datetime(2016, 2, 11, 23, 20, 43, 417232), verbose_name='Date/time of start of journey'),
30+
),
31+
migrations.AddField(
32+
model_name='journey',
33+
name='waypoints',
34+
field=models.ManyToManyField(through='web.JourneyWaypoints', to='web.Waypoint'),
35+
),
36+
]
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.2 on 2016-02-11 23:21
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.utils.timezone
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('web', '0002_auto_20160211_2320'),
13+
]
14+
15+
operations = [
16+
migrations.AlterField(
17+
model_name='journey',
18+
name='date',
19+
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Date/time of start of journey'),
20+
),
21+
]
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.2 on 2016-02-12 09:05
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.db.models.deletion
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('web', '0003_auto_20160211_2321'),
13+
]
14+
15+
operations = [
16+
migrations.CreateModel(
17+
name='Group',
18+
fields=[
19+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20+
('name', models.CharField(max_length=128)),
21+
],
22+
),
23+
migrations.CreateModel(
24+
name='Membership',
25+
fields=[
26+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
27+
('date_joined', models.DateField()),
28+
('invite_reason', models.CharField(max_length=64)),
29+
('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Group')),
30+
],
31+
),
32+
migrations.CreateModel(
33+
name='Person',
34+
fields=[
35+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
36+
('name', models.CharField(max_length=128)),
37+
],
38+
),
39+
migrations.AddField(
40+
model_name='membership',
41+
name='person',
42+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Person'),
43+
),
44+
migrations.AddField(
45+
model_name='group',
46+
name='members',
47+
field=models.ManyToManyField(through='web.Membership', to='web.Person'),
48+
),
49+
]

0 commit comments

Comments
 (0)