Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create new sample application #76

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Feed list views first cut
alaw005 committed Sep 30, 2017
commit 7d89aebe70bd7def0972e347601143e105d7b62f
8 changes: 8 additions & 0 deletions examples/gtfsproj/gtfsapp/static/css/explore.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
body {
padding-top: 20px;
}

.body-top {
padding: 40px 15px;
text-align: center;
}
44 changes: 44 additions & 0 deletions examples/gtfsproj/gtfsapp/static/js/explore.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
explore = {
mapPoint: function(map_id, x, y, zoom) {
var map = new OpenLayers.Map(map_id);
var osm = new OpenLayers.Layer.OSM("OpenStreetMap Map");
var fromProjection = new OpenLayers.Projection("EPSG:4326");
var toProjection = new OpenLayers.Projection("EPSG:900913");
var position = new OpenLayers.LonLat(x, y).transform(fromProjection, toProjection);
map.addLayer(osm);

var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
markers.addMarker(new OpenLayers.Marker(position));

map.setCenter(position, zoom);
},
mapLine: function(map_id, line_wkt) {
var map = new OpenLayers.Map(map_id);
var osm = new OpenLayers.Layer.OSM("OpenStreetMap Map");
var fromProjection = new OpenLayers.Projection("EPSG:4326");
var toProjection = new OpenLayers.Projection("EPSG:900913");
map.addLayer(osm);

var style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style.strokeColor = "red";
style.strokeColor = "red";
style.fillColor = "red";
style.pointRadius = 10;
style.strokeWidth = 3;
style.rotation = 45;
style.strokeLinecap = "butt";
var vectorLayer = new OpenLayers.Layer.Vector("Line", {'style': style});
var wkt = new OpenLayers.Format.WKT({
'internalProjection': toProjection,
'externalProjection': fromProjection,
'style': style });
var lineVector = wkt.read(line_wkt);
var bounds = lineVector.geometry.getBounds();

map.addLayer(vectorLayer);
vectorLayer.addFeatures([lineVector]);

map.zoomToExtent(bounds);
}
}
54 changes: 54 additions & 0 deletions examples/gtfsproj/gtfsapp/templates/multigtfs/base.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block head_title %}Multi GTFS - django-multi-gtfs{% endblock %}</title>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="{% static 'css/explore.css' %}">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
{% block head_extra %}{% endblock %}
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="">Multi GTFS</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li{% block nav_feed_active_class %}{% endblock %}><a href="{% url 'feed_list' %}">Home</a></li>
<li><a href="{% url 'admin:index' %}">Admin</a></li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="body-top">
<h1>{% block page_title %}TODO: set page_title{% endblock %}</h1>
{% block page_top_content_elem %}
<p class="lead">
{% block page_top_content %}TODO: set page_top_content{% endblock %}
<p>
{% endblock %}
</div>
<div class="body-middle">{% block page_middle_content %}{% endblock %}</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
{% block body_script %}{% endblock %}
</body>
</html>

14 changes: 14 additions & 0 deletions examples/gtfsproj/gtfsapp/templates/multigtfs/feed_detail.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{% extends "multigtfs/base.html" %}
{% block head_title %}{{ block.super }} - Feed {{object}}{% endblock %}
{% block page_title %}Feed {{object}}{% endblock %}
{% block page_top_content_elem %}
A <strong>Feed</strong> represents a single GTFS feed.
{% endblock %}
{% block page_middle_content %}
<h2>Attributes</h2>
<dl>
<dt>id</dt><dd>{{object.id}}</dd>
<dt>name</dt><dd>{{object.name}}</dd>
<dt>created</dt><dd>{{object.created}}</dd>
</dl>
{% endblock %}
20 changes: 20 additions & 0 deletions examples/gtfsproj/gtfsapp/templates/multigtfs/feed_list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{% extends "multigtfs/base.html" %}
{% block head_title %}{{ block.super }} - Feeds{% endblock %}
{% block nav_feed_active_class %} class="active"{% endblock %}
{% block page_title %}Feeds{% endblock %}
{% block page_top_content_elem %}
A <strong>Feed</strong> represents a single GTFS feed.
{% endblock %}
{% block page_middle_content %}
{% for feed in object_list %}
{% if forloop.first %}<ul>{% endif %}
<li><a href="{% url 'feed_detail' pk=feed.pk %}">{{ feed.name }} created {{ feed.created }} (feed #{{ feed.id}})</a></li>
{% if forloop.last %}</ul>{% endif %}
{% empty %}
<p><em>No feeds yet.</em></p>
{% endfor %}
<br/>
<p>To add a feed, use:</p>
<pre>./manage.py importgtfs --name "Feed Name" /path/to/feed.zip</pre>
{% endblock %}

8 changes: 8 additions & 0 deletions examples/gtfsproj/gtfsapp/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from django.conf.urls import url

from gtfsapp.views import FeedList, FeedDetail

urlpatterns = [
url(r'^$', FeedList.as_view(), name='feed_list'),
url(r'^feed/(?P<pk>\d+)/$', FeedDetail.as_view(), name='feed_detail'),
]
10 changes: 9 additions & 1 deletion examples/gtfsproj/gtfsapp/views.py
Original file line number Diff line number Diff line change
@@ -3,4 +3,12 @@

from django.shortcuts import render

# Create your views here.
from django.views.generic import ListView, DetailView
from multigtfs.models import Feed

class FeedList(ListView):
#model = Feed
queryset = Feed.objects.order_by('name', '-created')

class FeedDetail(DetailView):
model = Feed
3 changes: 2 additions & 1 deletion examples/gtfsproj/gtfsproj/urls.py
Original file line number Diff line number Diff line change
@@ -13,9 +13,10 @@
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', include('gtfsapp.urls')),
]