aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/images/afimb.pngbin0 -> 9254 bytes
-rw-r--r--app/assets/images/compliance_check_task-completed.pngbin3170 -> 1473 bytes
-rw-r--r--app/assets/images/compliance_check_task-failed.pngbin3144 -> 1460 bytes
-rw-r--r--app/assets/images/compliance_check_task-pending.pngbin3129 -> 1373 bytes
-rw-r--r--app/assets/images/compliance_check_task-processing.pngbin3129 -> 1373 bytes
-rw-r--r--app/assets/images/export-completed.pngbin3170 -> 1473 bytes
-rw-r--r--app/assets/images/export-failed.pngbin3144 -> 1460 bytes
-rw-r--r--app/assets/images/export-pending.pngbin3129 -> 1373 bytes
-rw-r--r--app/assets/images/import_task-completed.pngbin3170 -> 1473 bytes
-rw-r--r--app/assets/images/import_task-failed.pngbin3144 -> 1460 bytes
-rw-r--r--app/assets/images/import_task-pending.pngbin3129 -> 1373 bytes
-rw-r--r--app/assets/images/import_task-processing.pngbin3129 -> 1373 bytes
-rw-r--r--app/assets/images/logoCertu.gifbin2163 -> 0 bytes
-rw-r--r--app/assets/images/logoMEDDE.jpgbin9767 -> 0 bytes
-rw-r--r--app/assets/images/logoMedad.gifbin1568 -> 0 bytes
-rw-r--r--app/assets/images/logoPredim.gifbin2915 -> 0 bytes
-rw-r--r--app/assets/images/logo_chouette.pngbin7148 -> 5631 bytes
-rw-r--r--app/assets/stylesheets/application.css.scss.erb (renamed from app/assets/stylesheets/application.css.scss)11
-rw-r--r--app/assets/stylesheets/main/companies.css.scss10
-rw-r--r--app/assets/stylesheets/main/compliance_check_tasks.css.scss26
-rw-r--r--app/assets/stylesheets/main/connection_links.css.scss10
-rw-r--r--app/assets/stylesheets/main/exports.css.scss36
-rw-r--r--app/assets/stylesheets/main/group_of_lines.css.scss10
-rw-r--r--app/assets/stylesheets/main/import_tasks.css.scss26
-rw-r--r--app/assets/stylesheets/main/layout.css.scss596
-rw-r--r--app/assets/stylesheets/main/networks.css.scss9
-rw-r--r--app/assets/stylesheets/main/routes.css.scss45
-rw-r--r--app/assets/stylesheets/main/time_tables.css.scss6
-rw-r--r--app/assets/stylesheets/main/vehicle_journey_imports.css.scss4
-rw-r--r--app/assets/stylesheets/main/vehicle_journeys.css.scss14
-rw-r--r--app/assets/stylesheets/vendor/formtastic.css.scss41
-rw-r--r--app/assets/stylesheets/vendor/pagination.css.scss19
-rw-r--r--app/controllers/access_links_controller.rb1
-rw-r--r--app/controllers/access_points_controller.rb2
-rw-r--r--app/controllers/stop_areas_controller.rb2
-rw-r--r--app/helpers/history_helper.rb4
-rw-r--r--app/helpers/pagination_helper.rb2
-rw-r--r--app/helpers/routes_helper.rb10
-rw-r--r--app/models/vehicle_journey_import.rb6
-rw-r--r--app/views/access_points/_form.html.erb89
-rw-r--r--app/views/access_points/edit.html.erb2
-rw-r--r--app/views/compliance_check_tasks/_compliance_check_task.erb2
-rw-r--r--app/views/connection_links/_form.erb8
-rw-r--r--app/views/exports/_export.erb27
-rw-r--r--app/views/import_tasks/_import_task.erb2
-rw-r--r--app/views/layouts/application.html.erb151
-rw-r--r--app/views/layouts/without_sidebar.html.erb126
-rw-r--r--app/views/referentials/index.html.erb1
-rw-r--r--app/views/routes/_route.html.erb53
-rw-r--r--app/views/routes/show.html.erb12
-rw-r--r--app/views/shared/_footer.erb42
-rw-r--r--app/views/stop_areas/_form.html.erb5
-rw-r--r--app/views/stop_areas/show.html.erb5
-rw-r--r--app/views/vehicle_journey_imports/new.html.erb15
-rw-r--r--app/views/vehicle_journeys/_form.html.erb62
-rw-r--r--app/views/vehicle_journeys/_vehicle_journey_at_stop_fields.html.erb24
-rw-r--r--app/views/vehicle_journeys/edit.html.erb4
-rw-r--r--app/views/vehicle_journeys/index.html.erb21
58 files changed, 926 insertions, 615 deletions
diff --git a/app/assets/images/afimb.png b/app/assets/images/afimb.png
new file mode 100644
index 000000000..238c2b170
--- /dev/null
+++ b/app/assets/images/afimb.png
Binary files differ
diff --git a/app/assets/images/compliance_check_task-completed.png b/app/assets/images/compliance_check_task-completed.png
index a76d76b13..a95854e1b 100644
--- a/app/assets/images/compliance_check_task-completed.png
+++ b/app/assets/images/compliance_check_task-completed.png
Binary files differ
diff --git a/app/assets/images/compliance_check_task-failed.png b/app/assets/images/compliance_check_task-failed.png
index f13b19234..0fa230e65 100644
--- a/app/assets/images/compliance_check_task-failed.png
+++ b/app/assets/images/compliance_check_task-failed.png
Binary files differ
diff --git a/app/assets/images/compliance_check_task-pending.png b/app/assets/images/compliance_check_task-pending.png
index 1e50e36ac..21a702d4f 100644
--- a/app/assets/images/compliance_check_task-pending.png
+++ b/app/assets/images/compliance_check_task-pending.png
Binary files differ
diff --git a/app/assets/images/compliance_check_task-processing.png b/app/assets/images/compliance_check_task-processing.png
index 1e50e36ac..5e3da1382 100644
--- a/app/assets/images/compliance_check_task-processing.png
+++ b/app/assets/images/compliance_check_task-processing.png
Binary files differ
diff --git a/app/assets/images/export-completed.png b/app/assets/images/export-completed.png
index a76d76b13..b6adefb80 100644
--- a/app/assets/images/export-completed.png
+++ b/app/assets/images/export-completed.png
Binary files differ
diff --git a/app/assets/images/export-failed.png b/app/assets/images/export-failed.png
index f13b19234..5f2f3f724 100644
--- a/app/assets/images/export-failed.png
+++ b/app/assets/images/export-failed.png
Binary files differ
diff --git a/app/assets/images/export-pending.png b/app/assets/images/export-pending.png
index 1e50e36ac..7fc459926 100644
--- a/app/assets/images/export-pending.png
+++ b/app/assets/images/export-pending.png
Binary files differ
diff --git a/app/assets/images/import_task-completed.png b/app/assets/images/import_task-completed.png
index a76d76b13..cd047c5fc 100644
--- a/app/assets/images/import_task-completed.png
+++ b/app/assets/images/import_task-completed.png
Binary files differ
diff --git a/app/assets/images/import_task-failed.png b/app/assets/images/import_task-failed.png
index f13b19234..5d7b51646 100644
--- a/app/assets/images/import_task-failed.png
+++ b/app/assets/images/import_task-failed.png
Binary files differ
diff --git a/app/assets/images/import_task-pending.png b/app/assets/images/import_task-pending.png
index 1e50e36ac..cfdb7b421 100644
--- a/app/assets/images/import_task-pending.png
+++ b/app/assets/images/import_task-pending.png
Binary files differ
diff --git a/app/assets/images/import_task-processing.png b/app/assets/images/import_task-processing.png
index 1e50e36ac..88990027b 100644
--- a/app/assets/images/import_task-processing.png
+++ b/app/assets/images/import_task-processing.png
Binary files differ
diff --git a/app/assets/images/logoCertu.gif b/app/assets/images/logoCertu.gif
deleted file mode 100644
index 793f935a5..000000000
--- a/app/assets/images/logoCertu.gif
+++ /dev/null
Binary files differ
diff --git a/app/assets/images/logoMEDDE.jpg b/app/assets/images/logoMEDDE.jpg
deleted file mode 100644
index 06d4a2a1f..000000000
--- a/app/assets/images/logoMEDDE.jpg
+++ /dev/null
Binary files differ
diff --git a/app/assets/images/logoMedad.gif b/app/assets/images/logoMedad.gif
deleted file mode 100644
index b07fdce5f..000000000
--- a/app/assets/images/logoMedad.gif
+++ /dev/null
Binary files differ
diff --git a/app/assets/images/logoPredim.gif b/app/assets/images/logoPredim.gif
deleted file mode 100644
index 22e2c43e0..000000000
--- a/app/assets/images/logoPredim.gif
+++ /dev/null
Binary files differ
diff --git a/app/assets/images/logo_chouette.png b/app/assets/images/logo_chouette.png
index 9bdff022c..f5064d3cd 100644
--- a/app/assets/images/logo_chouette.png
+++ b/app/assets/images/logo_chouette.png
Binary files differ
diff --git a/app/assets/stylesheets/application.css.scss b/app/assets/stylesheets/application.css.scss.erb
index 872d621b3..bcea7ca92 100644
--- a/app/assets/stylesheets/application.css.scss
+++ b/app/assets/stylesheets/application.css.scss.erb
@@ -1,15 +1,15 @@
// First import journal variables
// @import "bootswatch/cerulean/variables";
-$brand-primary: #61970b;
+$brand-primary: <%= ChouetteIhm::Application.config.company_theme %>;
+$navbar-default-bg: $brand-primary;
+$navbar-default-link-color: white;
+$body-bg: #eee;
// Then bootstrap itself
@import "bootstrap";
-// Bootstrap body padding for fixed navbar
-// body { padding-top: 60px; }
-
// And finally bootswatch style itself
-@import "bootswatch/cerulean/bootswatch";
+// @import "bootswatch/cerulean/bootswatch";
// Whatever application styles you have go last
// Modules and Variables
@@ -32,6 +32,7 @@ $brand-primary: #61970b;
@import "vendor/jquery.qtip.min";
@import "vendor/tipsy";
@import "vendor/pagination";
+@import "vendor/map_layers";
// Main css
@import "main/*";
diff --git a/app/assets/stylesheets/main/companies.css.scss b/app/assets/stylesheets/main/companies.css.scss
index 7f058d643..daf4da488 100644
--- a/app/assets/stylesheets/main/companies.css.scss
+++ b/app/assets/stylesheets/main/companies.css.scss
@@ -7,15 +7,7 @@
.companies {
margin-top: 20px;
- }
-
- .company {
- /* to create multi-column index */
- width: 350px;
- float: left;
- padding-right: 10px;
-
- }
+ }
}
#workspace.companies.show
diff --git a/app/assets/stylesheets/main/compliance_check_tasks.css.scss b/app/assets/stylesheets/main/compliance_check_tasks.css.scss
index e9f141758..c81153848 100644
--- a/app/assets/stylesheets/main/compliance_check_tasks.css.scss
+++ b/app/assets/stylesheets/main/compliance_check_tasks.css.scss
@@ -18,23 +18,16 @@
.compliance_check_task {
div.icon{
- display: inline-block;
- vertical-align: top;
- width: 74px;
- padding-right: 5px;
-
- img{
- width: 64px;
- height: 64px;
- }
+ float: left;
}
div.resume{
- display: inline-block;
+ float: right;
+ width: 70%;
ul.header{
font-size: 14px;
- width: 209px;
+ padding-left: 0px;
.title{ float: left; }
.remove{
@@ -46,12 +39,15 @@
.links {
font-size: 10px;
- height: 38px;
-
- p { margin: 3px 0px 0px 0px !important; }
-
+ p { margin: 3px 0px 0px 0px !important; }
img { margin-right: 10px;}
}
+
+ .history {
+ color: $gray-light;
+ margin-top: 5px;
+ font-size: 10px;
+ }
}
}
}
diff --git a/app/assets/stylesheets/main/connection_links.css.scss b/app/assets/stylesheets/main/connection_links.css.scss
index b1691ccf1..d4672cd31 100644
--- a/app/assets/stylesheets/main/connection_links.css.scss
+++ b/app/assets/stylesheets/main/connection_links.css.scss
@@ -7,15 +7,7 @@
.connection_links {
margin-top: 20px;
- }
-
- .connection_link {
-
- /* to create multi-column index */
- width: 350px;
- float: left;
- padding-right: 10px;
- }
+ }
}
diff --git a/app/assets/stylesheets/main/exports.css.scss b/app/assets/stylesheets/main/exports.css.scss
index 59273ecfc..10d39db19 100644
--- a/app/assets/stylesheets/main/exports.css.scss
+++ b/app/assets/stylesheets/main/exports.css.scss
@@ -7,6 +7,42 @@
.exports {
margin-top: 20px;
+ }
+
+ .export {
+
+ div.icon{
+ float: left;
+ }
+
+ div.resume{
+ float: right;
+ width: 70%;
+
+ ul.header{
+ font-size: 14px;
+ padding-left: 0px;
+
+ .title{ float: left; }
+ .remove{
+ float: right;
+ padding-right: 10px;
+ color: #494949;
+ }
+ }
+
+ .links {
+ font-size: 10px;
+ p { margin: 3px 0px 0px 0px !important; }
+ img { margin-right: 10px;}
+ }
+
+ .history {
+ color: $gray-light;
+ margin-top: 5px;
+ font-size: 10px;
+ }
+ }
}
}
diff --git a/app/assets/stylesheets/main/group_of_lines.css.scss b/app/assets/stylesheets/main/group_of_lines.css.scss
index ea943eb0f..f56f76e44 100644
--- a/app/assets/stylesheets/main/group_of_lines.css.scss
+++ b/app/assets/stylesheets/main/group_of_lines.css.scss
@@ -7,15 +7,7 @@
.group_of_lines {
margin-top: 20px;
- }
-
- .group_of_line {
- /* to create multi-column index */
- width: 350px;
- float: left;
- padding-right: 10px;
-
- }
+ }
}
#workspace.group_of_lines.show
diff --git a/app/assets/stylesheets/main/import_tasks.css.scss b/app/assets/stylesheets/main/import_tasks.css.scss
index 3e82e5c5d..dabd84ae6 100644
--- a/app/assets/stylesheets/main/import_tasks.css.scss
+++ b/app/assets/stylesheets/main/import_tasks.css.scss
@@ -17,23 +17,16 @@
.import_task {
div.icon{
- display: inline-block;
- vertical-align: top;
- width: 74px;
- padding-right: 5px;
-
- img{
- width: 64px;
- height: 64px;
- }
+ float: left;
}
div.resume{
- display: inline-block;
+ float: right;
+ width: 70%;
ul.header{
font-size: 14px;
- width: 209px;
+ padding-left: 0px;
.title{ float: left; }
.remove{
@@ -44,12 +37,15 @@
.links {
font-size: 10px;
- height: 38px;
-
- p { margin: 3px 0px 0px 0px !important; }
-
+ p { margin: 3px 0px 0px 0px !important; }
img { margin-right: 10px;}
}
+
+ .history {
+ color: $gray-light;
+ margin-top: 5px;
+ font-size: 10px;
+ }
}
}
}
diff --git a/app/assets/stylesheets/main/layout.css.scss b/app/assets/stylesheets/main/layout.css.scss
index ae761934d..faf5c1e7d 100644
--- a/app/assets/stylesheets/main/layout.css.scss
+++ b/app/assets/stylesheets/main/layout.css.scss
@@ -1,320 +1,351 @@
-/* Green theme */
-$header_background: #61970b;
-$header_color: white;
-$tabs_background: #86b41d;
-$tabs_color: white;
-$text_color: #222;
-
-/* Old layout */
-
body {
- background: #E5E5E5;
+ padding-top: 55px;
}
+h1{ color: white;}
+
h1, .h1, h2, .h2, h3, .h3 {
margin-bottom: 20px;
}
+label.label{
+ color: black;
+ font-size: 100%;
+}
+
+ol.breadcrumb{
+ margin-top: 10px;
+}
+
#header {
- background: $brand_primary url(image-path('header.png')) no-repeat;
+
+ .navbar-brand{
+ padding-top: 5px;
+ padding-bottom: 5px;
+ line-height: 40px;
+
+ img {
+ height: 40px;
+ }
- div.logo {
- padding: 15px 0 0 30px;
-
.version
- {
+ {
margin-left: 10px;
- vertical-align: bottom;
- font-weight: bold;
+ vertical-align: text-top;
color: white;
+ font-size: 13px;
}
}
- div.title
- {
- h1 {
- text-align: center
- }
- }
-
- div.interaction{
- text-align: right;
- margin: 0 20px 0 0;
-
- ul.user {
- color: $tabs_color;
-
- li {
- font-size: 13px;
- display: inline;
- margin: 0 3px;
- }
-
- a {
- color: $tabs_color;
- text-decoration: underline;
- line-height: 55px;
- }
-
- li.language, li.home {
- margin: 0 1px;
- text-decoration: none;
- }
-
- li.language.selected
- {
- border-bottom: 2px solid black;
- }
-
- span.help {
- color: $header_background;
- font-size: 11px;
- border-radius:6px;
- -moz-border-radius: 6px;
- background-color: white;
- padding: 3px 5px;
- }
- }
- }
-
- .tabs {
- margin: 10px 30px 0 30px;
-
- // Override bootsrap default
-
- .nav-tabs {
- border: none;
-
- li { margin-bottom: 0px;}
- }
-
- li {
-
- a:link, a:visited {
- background-color: $tabs_background;
- color: $tabs_color;
- }
-
- a.current {
- color: $text_color;
- font-weight: bold;
- background: -webkit-gradient(linear, left top, left bottom, from(#E5E5E5), to(white));
- background: -moz-linear-gradient(top, #E5E5E5, white);
- }
- }
+ background: $brand_primary url(image-path('header.png')) no-repeat;
- li.admin {
- float: right;
+ .gravatar {
+ margin-right: 5px;
+ img{
+ width: 25px;
+ height: 25px;
}
}
-}
-
-.actions {
- a {
- padding-left: 20px;
- text-decoration: underline;
- }
-
- a.visit_site{
- background: url(image-path('icons/site.png')) no-repeat;
- }
- a.visit_event{
- background: url(image-path('icons/event.png')) no-repeat;
- }
-
- a.visit_page{
- background: url(image-path('icons/page.png')) no-repeat;
+ .language{
+ width: 40px;
}
- a.add {
- background: url(image-path('icons/add.png')) no-repeat;
- }
- a.edit {
- background: url(image-path('icons/edit.png')) no-repeat;
- }
- a.remove {
- background: url(image-path('icons/remove.png')) no-repeat;
- }
- a.export {
- background: url(image-path('icons/export.png')) no-repeat;
- }
- li {
- margin: 10px 0;
+ .language.selected
+ {
+ border-bottom: 1px solid white;
}
+
+ .dropdown-menu{
+ min-width: 230px;
+
+ .badge{
+ background-color: #DADADA
+ }
+ }
}
-#body {
- min-width: 1000px;
+#footer{
+ padding: 20px;
+ background-color: $gray-darker;
+ color: $gray-light;
+ font-size: 12px;
+ min-height: 200px;
- a{ text-decoration: underline;}
+ a { color: $gray-light; }
+
+ h4 { color: $gray-lighter; }
- #workspace, #sidebar {
- float: left;
+ .logo > img {
+ margin-left: 20px;
}
}
-#body #workspace {
- width: 70%;
+#middle{
+ min-height: 500px;
+ -webkit-box-shadow: 0 0 5px 2px rgba(0, 0, 0, .2);
+ box-shadow: 0 0 5px 2px rgba(0, 0, 0, .2);
+ padding-bottom: 10px;
+ margin-top: 20px;
+ margin-bottom: 20px;
background: white;
- margin: 15px 30px;
- padding: 0 15px 10px 15px;
-
- -moz-box-shadow: 3px 3px 4px #BBB;
- -webkit-box-shadow: 3px 3px 4px #BBB;
- box-shadow: 3px 3px 4px #BBB;
- border-right: 1px solid #BBB;
- border-bottom: 1px solid #BBB;
-
- li span.author {
- float: right;
- font-size: 12px;
- }
- .site_summary {
- float: left;
- margin-bottom: 20px;
- width: 100%;
-
- img {
- float: left;
- margin-right: 20px;
- }
- a {
- display: block;
- margin: 25px 0 0;
- }
- }
- .site_summary:after {
- content: " ";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
-
- fieldset.buttons{
- margin: 10px;
+ .main_actions{
+ text-align: right;
}
-
- form {
+
+ .alert{ margin-top: 15px ; }
+
+ #sidebar{
+ height: 100%;
+ padding-top: 20px;
+ border-left: 1px solid $gray-lighter;
+
label {
color: #555555;
- font-size: 100%;
- text-align: right;
+ font-weight: normal;
+ font-size: 12px;
}
-
-
- }
-}
-
-#body #flash {
- width: 72%;
- margin: 15px 0 0 30px;
-
- div {
- padding: 10px 10px 10px 50px;
- }
- .alert {
- color: #c01100;
- background: #ffbdbd url(image-path('icons/alert.png')) no-repeat 15px;
- }
- .notice {
- background: #EDF3FE url(image-path('icons/notice.png')) no-repeat 15px;
- }
-}
-
-#body #sidebar {
- width: 20%;
- padding-top: 20px;
+ a {
+ color: #666;
+ }
+
+ .actions {
+ margin-bottom: 20px;
+ }
+
+ p {
+ font-size: 12px;
+ }
- label {
- color: #555555;
- font-weight: normal;
- font-size: 100%;
- }
-
- a {
- color: #666;
- }
-
- .actions {
- margin-bottom: 20px;
- }
+ fieldset.history_tag{
- p {
- font-size: 12px;
- }
+ legend{
+ font-size: 14px;
+ margin-bottom: 10px;
+ }
- fieldset
- {
- border-color: white;
+ font-size: 12px;
+ color: $gray-light;
+ }
- p{
- margin-top: 5px;
- label{ font-size: 12px;}
- span{
- font-style: oblique;
- font-size:12px;
+ fieldset
+ {
+ border-color: white;
+
+ p{
+ margin-top: 5px;
+ label{ font-size: 12px;}
+ span{
+ font-style: oblique;
+ font-size:12px;
+ }
}
}
- }
-
- ol {
- padding: 0px;
- li {
- list-style: none;
+ ol {
+ padding: 0px;
+
+ li {
+ list-style: none;
+ }
}
- }
-
- ul {
- padding: 0px;
- li {
- list-style: none;
- }
- }
-
- ul.selection li {
- a {
- padding-left: 20px;
- }
- a.current {
- text-decoration: none;
- color: black !important;
- background: url(image-path('icons/accept.png')) no-repeat;
+ ul {
+ padding: 0px;
+
+ li {
+ list-style: none;
+ }
}
- a.all {
- background-image: none;
+
+ ul.selection li {
+ a {
+ padding-left: 20px;
+ }
+ a.current {
+ text-decoration: none;
+ color: black !important;
+ background: url(image-path('icons/accept.png')) no-repeat;
+ }
+ a.all {
+ background-image: none;
+ }
}
- }
-
- div#compact_form {
- form {
- border-bottom: 1px solid #BBB;
- fieldset {
- padding: 0;
- border: 0;
- li {
+
+ div#compact_form {
+ form {
+ border-bottom: 1px solid #BBB;
+ fieldset {
padding: 0;
- label { padding-left: 20px;
- width: 70%;}
- input { width: 20px; }
+ border: 0;
+ li {
+ padding: 0;
+ label { padding-left: 20px;
+ width: 70%;}
+ input { width: 20px; }
+ }
+ }
+ fieldset.actions {
+ margin-bottom: 0;
+ padding-left: 20px;
+ }
+ fieldset.inputs {
+ padding-top: 16px;
}
- }
- fieldset.actions {
- margin-bottom: 0;
- padding-left: 20px;
- }
- fieldset.inputs {
- padding-top: 16px;
}
}
- }
+ }
}
+/* #body #workspace { */
+/* width: 70%; */
+/* background: white; */
+/* margin: 0px 30px; */
+/* padding: 0 15px 10px 15px; */
+
+/* -moz-box-shadow: 3px 3px 4px #BBB; */
+/* -webkit-box-shadow: 3px 3px 4px #BBB; */
+/* box-shadow: 3px 3px 4px #BBB; */
+/* border-right: 1px solid #BBB; */
+/* border-bottom: 1px solid #BBB; */
+
+/* li span.author { */
+/* float: right; */
+/* font-size: 12px; */
+/* } */
+
+/* .site_summary { */
+/* float: left; */
+/* margin-bottom: 20px; */
+/* width: 100%; */
+
+/* img { */
+/* float: left; */
+/* margin-right: 20px; */
+/* } */
+/* a { */
+/* display: block; */
+/* margin: 25px 0 0; */
+/* } */
+/* } */
+/* .site_summary:after { */
+/* content: " "; */
+/* display: block; */
+/* height: 0; */
+/* clear: both; */
+/* visibility: hidden; */
+/* } */
+
+/* fieldset.buttons{ */
+/* margin: 10px; */
+/* } */
+
+/* form { */
+/* label { */
+/* color: #555555; */
+/* font-size: 100%; */
+/* text-align: right; */
+/* } */
+
+
+/* } */
+
+/* } */
+
+/* #body
+
+/* #body #sidebar { */
+/* width: 20%; */
+/* padding-top: 20px; */
+
+/* label { */
+/* color: #555555; */
+/* font-weight: normal; */
+/* font-size: 100%; */
+/* } */
+
+/* a { */
+/* color: #666; */
+/* } */
+
+/* .actions { */
+/* margin-bottom: 20px; */
+/* } */
+
+/* p { */
+/* font-size: 12px; */
+/* } */
+
+/* fieldset */
+/* { */
+/* border-color: white; */
+
+/* p{ */
+/* margin-top: 5px; */
+/* label{ font-size: 12px;} */
+/* span{ */
+/* font-style: oblique; */
+/* font-size:12px; */
+/* } */
+/* } */
+/* } */
+
+/* ol { */
+/* padding: 0px; */
+
+/* li { */
+/* list-style: none; */
+/* } */
+/* } */
+
+/* ul { */
+/* padding: 0px; */
+
+/* li { */
+/* list-style: none; */
+/* } */
+/* } */
+
+/* ul.selection li { */
+/* a { */
+/* padding-left: 20px; */
+/* } */
+/* a.current { */
+/* text-decoration: none; */
+/* color: black !important; */
+/* background: url(image-path('icons/accept.png')) no-repeat; */
+/* } */
+/* a.all { */
+/* background-image: none; */
+/* } */
+/* } */
+
+/* div#compact_form { */
+/* form { */
+/* border-bottom: 1px solid #BBB; */
+/* fieldset { */
+/* padding: 0; */
+/* border: 0; */
+/* li { */
+/* padding: 0; */
+/* label { padding-left: 20px; */
+/* width: 70%;} */
+/* input { width: 20px; } */
+/* } */
+/* } */
+/* fieldset.actions { */
+/* margin-bottom: 0; */
+/* padding-left: 20px; */
+/* } */
+/* fieldset.inputs { */
+/* padding-top: 16px; */
+/* } */
+/* } */
+/* } */
+/* } */
+
.info {
font-size: 10px;
color: #777;
@@ -350,6 +381,43 @@ h1, .h1, h2, .h2, h3, .h3 {
}
.actions {
+ a {
+ padding-left: 20px;
+ }
+
+ /* Hack with font icon */
+ a.vehicle_journeys{
+ padding-left: 4px;
+ }
+
+ a.visit_site{
+ background: url(image-path('icons/site.png')) no-repeat;
+ }
+
+ a.visit_event{
+ background: url(image-path('icons/event.png')) no-repeat;
+ }
+
+ a.visit_page{
+ background: url(image-path('icons/page.png')) no-repeat;
+ }
+
+ a.add {
+ background: url(image-path('icons/add.png')) no-repeat;
+ }
+ a.edit {
+ background: url(image-path('icons/edit.png')) no-repeat;
+ }
+ a.remove {
+ background: url(image-path('icons/remove.png')) no-repeat;
+ }
+ a.export {
+ background: url(image-path('icons/export.png')) no-repeat;
+ }
+ li {
+ margin: 10px 0;
+ }
+
a.add_children {
background: url(image-path('icons/add.png')) no-repeat;
}
diff --git a/app/assets/stylesheets/main/networks.css.scss b/app/assets/stylesheets/main/networks.css.scss
index df5665f36..3730d6668 100644
--- a/app/assets/stylesheets/main/networks.css.scss
+++ b/app/assets/stylesheets/main/networks.css.scss
@@ -7,14 +7,7 @@
.networks {
margin-top: 20px;
}
-
- .network {
- /* to create multi-column index */
- width: 350px;
- float: left;
- padding-right: 10px;
-
- }
+
}
#workspace.networks.show
diff --git a/app/assets/stylesheets/main/routes.css.scss b/app/assets/stylesheets/main/routes.css.scss
index 027cde222..83ff13547 100644
--- a/app/assets/stylesheets/main/routes.css.scss
+++ b/app/assets/stylesheets/main/routes.css.scss
@@ -5,30 +5,37 @@
#workspace.lines.show
{
- .routes {
+ .routes{
margin-top: 20px;
- }
-
- .route {
- /* to create multi-column index */
- width: 350px;
- padding-right: 10px;
- .wayback {
- width: 16px;
- height: 16px;
- float: left;
- margin-right: 10px;
+ .route{
+
+ .header{
+ font-weight: bold;
+
+ .wayback{
+ float: right;
+ }
+ }
- a{ margin:0px;}
- }
-
- .name {
- line-height: 16px;
- float: left;
+ .body {
+ margin: 10px;
+ font-size: 11px;
+
+ p{ margin: 0 0 5px;}
+
+ i{
+ margin-right: 10px;
+ font-size: 12px;
+ }
+
+ img{
+ margin-right: 10px;
+ }
+ }
}
-
}
+
}
#workspace.routes.edit, #workspace.routes.new, #workspace.routes.create, #workspace.routes.update
diff --git a/app/assets/stylesheets/main/time_tables.css.scss b/app/assets/stylesheets/main/time_tables.css.scss
index 071b16b52..5ea1f993f 100644
--- a/app/assets/stylesheets/main/time_tables.css.scss
+++ b/app/assets/stylesheets/main/time_tables.css.scss
@@ -11,12 +11,6 @@
.time_table {
- /* to create multi-column index */
- width: 350px;
- float: left;
- padding-right: 10px;
- position: relative;
-
.state-code {
width: 25px;
height: 64px;
diff --git a/app/assets/stylesheets/main/vehicle_journey_imports.css.scss b/app/assets/stylesheets/main/vehicle_journey_imports.css.scss
index ece81080b..529182443 100644
--- a/app/assets/stylesheets/main/vehicle_journey_imports.css.scss
+++ b/app/assets/stylesheets/main/vehicle_journey_imports.css.scss
@@ -1,8 +1,4 @@
#workspace.vehicle_journey_imports.new
{
- .export{
- margin: 5px 0 15px 0 !important;
- .file{ margin-left: 5px; }
- }
} \ No newline at end of file
diff --git a/app/assets/stylesheets/main/vehicle_journeys.css.scss b/app/assets/stylesheets/main/vehicle_journeys.css.scss
index 143feada2..0a2fce05a 100644
--- a/app/assets/stylesheets/main/vehicle_journeys.css.scss
+++ b/app/assets/stylesheets/main/vehicle_journeys.css.scss
@@ -16,9 +16,16 @@
#workspace.vehicle_journeys.index
{
- table{ margin: 20px 0 0 0; }
-
+ table{
+
+ margin: 20px 0 0 0;
+
+ .calendars{
+ font-size: 12px;
+ }
+ .stop_area{ width: 200px; }
+ }
}
@@ -30,8 +37,7 @@
.to_arrivals {
cursor: pointer;
- }
-
+ }
}
#workspace.vehicle_journeys.show
diff --git a/app/assets/stylesheets/vendor/formtastic.css.scss b/app/assets/stylesheets/vendor/formtastic.css.scss
index e852e65e4..078cf41ab 100644
--- a/app/assets/stylesheets/vendor/formtastic.css.scss
+++ b/app/assets/stylesheets/vendor/formtastic.css.scss
@@ -1,29 +1,20 @@
fieldset.inputs {
-
- li.string input { width: 500px; }
-
- fieldset.inputs{
- /* border: 2px groove threedface; */
- /* margin-bottom: 20px; */
- /* padding: 10px; */
- /* legend span{ */
- /* font-weight: bold; */
- /* padding: 5px; */
- /* } */
+ a.action { float: right; }
+}
- /* li.special { */
- /* display: inline-block; */
- /* width: 40%; */
-
- /* label.label { */
- /* width: 60%; */
- /* margin-right: 10px; */
- /* } */
-
- /* } */
-
- a.action { float: right; }
-
+.formtastic .choices .label, .formtastic .fragments .label {
+ width: 25%;
+ border: 0px;
+
+ label {
+ position: relative;
+ font-size: 14px;
}
-} \ No newline at end of file
+}
+
+/* Hack to remove!!!! */
+.formtastic .inputs input[type="file"] {
+ display: initial;
+}
+/* Hack to remove!!!! */ \ No newline at end of file
diff --git a/app/assets/stylesheets/vendor/pagination.css.scss b/app/assets/stylesheets/vendor/pagination.css.scss
index b0c524084..87eb905e8 100644
--- a/app/assets/stylesheets/vendor/pagination.css.scss
+++ b/app/assets/stylesheets/vendor/pagination.css.scss
@@ -19,4 +19,23 @@
@include border-left-radius(5px);
@include border-bottom-radius(5px);
}
+}
+
+.page_info {
+ margin: 20px 0 0 0;
+ height: 30px;
+ line-height: 30px;
+ color: $gray;
+ border-bottom: solid 1px #cdc9c0;
+ border-top: solid 1px #cdc9c0;
+
+ .search{
+ margin: 0 20px 0 10px;
+ color: $brand_primary;
+ font-weight:bold;
+ }
+
+ b {
+ padding: 0.1em 0.25em;
+ }
} \ No newline at end of file
diff --git a/app/controllers/access_links_controller.rb b/app/controllers/access_links_controller.rb
index a8c4a3ba3..8c6172a7c 100644
--- a/app/controllers/access_links_controller.rb
+++ b/app/controllers/access_links_controller.rb
@@ -9,7 +9,6 @@ class AccessLinksController < ChouetteController
respond_to :html, :xml, :json
respond_to :kml, :only => :show
-
def index
request.format.kml? ? @per_page = nil : @per_page = 12
index!
diff --git a/app/controllers/access_points_controller.rb b/app/controllers/access_points_controller.rb
index 6203cefab..309550148 100644
--- a/app/controllers/access_points_controller.rb
+++ b/app/controllers/access_points_controller.rb
@@ -6,7 +6,7 @@ class AccessPointsController < ChouetteController
end
respond_to :html, :kml, :xml, :json
-
+ layout "without_sidebar", :only => [:edit, :update]
def index
request.format.kml? ? @per_page = nil : @per_page = 12
diff --git a/app/controllers/stop_areas_controller.rb b/app/controllers/stop_areas_controller.rb
index d54d888e4..c433546b9 100644
--- a/app/controllers/stop_areas_controller.rb
+++ b/app/controllers/stop_areas_controller.rb
@@ -10,6 +10,8 @@ class StopAreasController < ChouetteController
respond_to :html, :kml, :xml, :json
+ layout "without_sidebar", :only => [:edit, :update]
+
# def complete
# @stop_areas = line.stop_areas
# render :layout => false
diff --git a/app/helpers/history_helper.rb b/app/helpers/history_helper.rb
index a4f2df05c..88c6b8da3 100644
--- a/app/helpers/history_helper.rb
+++ b/app/helpers/history_helper.rb
@@ -1,7 +1,7 @@
module HistoryHelper
def creation_tag(object)
- field_set_tag t("layouts.creation_tag.title") do
+ field_set_tag t("layouts.creation_tag.title"), :class => "history_tag" do
content_tag :ul do
[(content_tag :li do
if object.has_attribute?(:creation_time)
@@ -20,7 +20,7 @@ module HistoryHelper
end
def history_tag(object)
- field_set_tag t("layouts.history_tag.title") do
+ field_set_tag t("layouts.history_tag.title"), :class => "history_tag" do
content_tag :ul do
[(content_tag :li do
if object.has_attribute?(:created_at)
diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb
index 0ad70f26e..b85137b85 100644
--- a/app/helpers/pagination_helper.rb
+++ b/app/helpers/pagination_helper.rb
@@ -1,5 +1,7 @@
module PaginationHelper
def paginated_content(models, default_partial_name = nil)
+ return "" if models.blank?
+
html = ""
models.each_slice(3) do |row_models|
html += '<div class="row">'
diff --git a/app/helpers/routes_helper.rb b/app/helpers/routes_helper.rb
index ab91800ae..bbb611506 100644
--- a/app/helpers/routes_helper.rb
+++ b/app/helpers/routes_helper.rb
@@ -1,7 +1,17 @@
module RoutesHelper
+
def line_formatted_name( line)
return line.published_name if line.number.blank?
"#{line.published_name} [#{line.number}]"
end
+
+ def fonticon_wayback(wayback)
+ if wayback == "A"
+ return '<i class="fa fa-arrow-right"></i>'.html_safe
+ else
+ return '<i class="fa fa-arrow-left"></i>'.html_safe
+ end
+ end
+
end
diff --git a/app/models/vehicle_journey_import.rb b/app/models/vehicle_journey_import.rb
index d637c9e5f..5419a40b9 100644
--- a/app/models/vehicle_journey_import.rb
+++ b/app/models/vehicle_journey_import.rb
@@ -69,18 +69,20 @@ class VehicleJourneyImport
(3..spreadsheet.last_column).each do |i|
vehicle_journey_objectid = spreadsheet.column(i)[0]
hours_by_stop_point_ids = Hash[[stop_point_ids, spreadsheet.column(i)[1..spreadsheet.last_row]].transpose]
-
+
journey_pattern = find_journey_pattern_schedule(hours_by_stop_point_ids)
+ #puts "journey_pattern #{journey_pattern.inspect}"
vehicle_journey = journey_pattern.vehicle_journeys.where(:objectid => vehicle_journey_objectid, :route_id => route.id, :journey_pattern_id => journey_pattern.id).first_or_create
+ #puts "vehicle_journey #{vehicle_journey.inspect}"
line = 0
hours_by_stop_point_ids.each_pair do |key, value|
line += 1
if value.present? # Create a vehicle journey at stop when time is present
main_time = Time.parse(value)
-
if main_time.present?
vjas = Chouette::VehicleJourneyAtStop.where(:vehicle_journey_id => vehicle_journey.id, :stop_point_id => key).first_or_create(:departure_time => main_time, :arrival_time => main_time)
+ #puts "vjas #{vjas.inspect}"
else
errors.add :base, I18n.t("vehicle_journey_imports.errors.invalid_vehicle_journey", :column => i, :line => line, :time => value)
end
diff --git a/app/views/access_points/_form.html.erb b/app/views/access_points/_form.html.erb
index 8e546a878..f65fd7431 100644
--- a/app/views/access_points/_form.html.erb
+++ b/app/views/access_points/_form.html.erb
@@ -1,44 +1,51 @@
-<%= semantic_form_for [@referential, @stop_area, @access_point] do |form| %>
- <%= form.inputs do %>
- <%= form.input :id, :as => :hidden %>
- <%= form.input :name %>
- <%= form.input :access_point_type, :as => :select, :input_html => { :disabled => !@access_point.new_record? },
- :collection => Chouette::AccessPoint.access_point_types, :include_blank => false, :member_label => Proc.new { |access_point_type| t("access_types.label.#{access_point_type}") } %>
- <%= form.input :street_name %>
- <%= form.input :country_code %>
- <%= form.input :comment %>
- <%= form.inputs do %>
- <%= form.input "openning_time(1i)", :as => :hidden ,:input_html => { :value => "2000" } %>
- <%= form.input "openning_time(2i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "openning_time(3i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "openning_time(6i)", :as => :hidden ,:input_html => { :value => "0" } %>
- <%= form.input :openning_time, :ignore_date=>true, :label => @access_point.human_attribute_name("openning_time")%>
- <%= form.input "closing_time(1i)", :as => :hidden ,:input_html => { :value => "2000" } %>
- <%= form.input "closing_time(2i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "closing_time(3i)", :as => :hidden ,:input_html => { :value => "1" } %>
- <%= form.input "closing_time(6i)", :as => :hidden ,:input_html => { :value => "0" } %>
- <%= form.input :closing_time, :ignore_date=>true, :label => @access_point.human_attribute_name("closing_time")%>
- <% end %>
- <%= form.input :mobility_restricted_suitability,:as => :boolean %>
- <%= form.input :stairs_availability,:as => :boolean %>
- <%= form.input :lift_availability,:as => :boolean %>
- <%= form.input :objectid, :required => !@access_point.new_record?, :input_html => { :disabled => !@access_point.new_record? } %>
- <%= form.inputs :name => t('access_points.show.geographic_data') do %>
- <% if ! @referential.projection_type_label.empty? %>
- <%= form.inputs :name => @referential.projection_type_label do %>
- <%= form.input :projection_x %>
- <%= form.input :projection_y %>
+<div class="container-fluid">
+ <div class="col-md-7">
+
+ <%= semantic_form_for [@referential, @stop_area, @access_point] do |form| %>
+ <%= form.inputs do %>
+ <%= form.input :id, :as => :hidden %>
+ <%= form.input :name %>
+ <%= form.input :access_point_type, :as => :select, :input_html => { :disabled => !@access_point.new_record? },
+ :collection => Chouette::AccessPoint.access_point_types, :include_blank => false, :member_label => Proc.new { |access_point_type| t("access_types.label.#{access_point_type}") } %>
+ <%= form.input :street_name %>
+ <%= form.input :country_code %>
+ <%= form.input :comment %>
+ <%= form.input :openning_time, :as => :time_select %>
+ <%= form.input :closing_time, :as => :time_select %>
+ <%= form.input :mobility_restricted_suitability,:as => :boolean %>
+ <%= form.input :stairs_availability,:as => :boolean %>
+ <%= form.input :lift_availability,:as => :boolean %>
+ <%= form.input :objectid, :required => !@access_point.new_record?, :input_html => { :disabled => !@access_point.new_record? } %>
+
+ <%= form.inputs :name => t('access_points.show.geographic_data') do %>
+ <% if ! @referential.projection_type_label.empty? %>
+ <div class="panel panel-default">
+ <div class="panel-heading">@referential.projection_type_label</div>
+ <div class="panel-body">
+ <%= form.input :projection_x %>
+ <%= form.input :projection_y %>
+ </div>
+ </div>
+ <% end %>
+ <div class="panel panel-default">
+ <div class="panel-heading">WGS84</div>
+ <div class="panel-body">
+ <%= form.input :longitude %>
+ <%= form.input :latitude %>
+ </div>
+ </div>
<% end %>
- <% end %>
- <%= form.inputs :name => "WGS84" do %>
- <%= form.input :longitude %>
- <%= form.input :latitude %>
- <% end %>
<% end %>
- <% end %>
- <%= form.actions do %>
- <%= form.action :submit, :as => :button %>
- <%= form.action :cancel, :as => :link %>
- <% end %>
-<% end %>
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button %>
+ <%= form.action :cancel, :as => :link %>
+ <% end %>
+ <% end %>
+ </div>
+ <div class="col-md-5">
+ <% if @map %>
+ <%= @map.to_html %>
+ <% end %>
+ </div>
+</div>
diff --git a/app/views/access_points/edit.html.erb b/app/views/access_points/edit.html.erb
index e2e8636b3..cc5dc217f 100644
--- a/app/views/access_points/edit.html.erb
+++ b/app/views/access_points/edit.html.erb
@@ -1,5 +1,3 @@
<%= title_tag t('access_points.edit.title', :access_point => @access_point.name ) %>
-<%= @map.to_html %>
-
<%= render "form" %>
diff --git a/app/views/compliance_check_tasks/_compliance_check_task.erb b/app/views/compliance_check_tasks/_compliance_check_task.erb
index 3c5388b00..b3b62e1f5 100644
--- a/app/views/compliance_check_tasks/_compliance_check_task.erb
+++ b/app/views/compliance_check_tasks/_compliance_check_task.erb
@@ -1,4 +1,4 @@
-<%= div_for(compliance_check_task, :class => :compliance_check_task) do %>
+<%= div_for(compliance_check_task, :class => "compliance_check_task clearfix") do %>
<div class="icon">
<%= link_to image_tag("compliance_check_task-#{compliance_check_task.status}.png"), referential_compliance_check_task_path(@referential, compliance_check_task) %>
</div>
diff --git a/app/views/connection_links/_form.erb b/app/views/connection_links/_form.erb
index 72d3b2046..e14c06f50 100644
--- a/app/views/connection_links/_form.erb
+++ b/app/views/connection_links/_form.erb
@@ -12,10 +12,10 @@
<%= form.input :objectid, :required => !@connection_link.new_record?, :input_html => { :disabled => !@connection_link.new_record? } %>
<% end %>
<%= form.inputs :name => t('connection_links.show.durations') do %>
- <%= form.input :default_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("default_duration"), :input_html => { :placeholder => "HH:MM" } %>
- <%= form.input :frequent_traveller_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("frequent_traveller_duration"), :input_html => { :placeholder => "HH:MM" } %>
- <%= form.input :occasional_traveller_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("occasional_traveller_duration"), :input_html => { :placeholder => "HH:MM" } %>
- <%= form.input :mobility_restricted_traveller_duration, :as => :time_picker, :ignore_date=>true,:include_seconds=>true, :label => @connection_link.human_attribute_name("mobility_restricted_traveller_duration"), :input_html => { :placeholder => "HH:MM" } %>
+ <%= form.input :default_duration, :as => :time_select, :size => 8, :include_seconds=>true, :label => @connection_link.human_attribute_name("default_duration"), :input_html => { :placeholder => "HH:MM" } %>
+ <%= form.input :frequent_traveller_duration, :as => :time_select, :size => 8, :include_seconds=>true, :label => @connection_link.human_attribute_name("frequent_traveller_duration"), :input_html => { :placeholder => "HH:MM:SS" } %>
+ <%= form.input :occasional_traveller_duration, :as => :time_select, :size => 8, :include_seconds=>true, :label => @connection_link.human_attribute_name("occasional_traveller_duration"), :input_html => { :placeholder => "HH:MM:SS" } %>
+ <%= form.input :mobility_restricted_traveller_duration, :as => :time_select, :include_seconds=>true, :label => @connection_link.human_attribute_name("mobility_restricted_traveller_duration"), :input_html => { :placeholder => "HH:MM:SS" } %>
<% end %>
<%= form.actions do %>
diff --git a/app/views/exports/_export.erb b/app/views/exports/_export.erb
index e8e5d4656..3d312c266 100644
--- a/app/views/exports/_export.erb
+++ b/app/views/exports/_export.erb
@@ -1,16 +1,21 @@
-<%= div_for(export, :class => :export) do %>
- <%= link_to(referential_export_path(@referential, export), :class => "preview") do %>
- <%= image_tag "export-#{export.status}.png" %>
- <% end %>
- <%= link_to(export.name, referential_export_path(@referential, export)) %>
- <div class="info">
- <%= l export.created_at %>
-
- <div class="actions">
+<%= div_for(export, :class => "export clearfix") do %>
+ <div class="icon">
+ <%= link_to image_tag("export-#{export.status}.png"), referential_export_path(@referential, export) %>
+ </div>
+ <div class="resume">
+ <ul class="header clearfix">
+ <li class="title">
+ <%= link_to(export.name, referential_export_path(@referential, export)) %>
+ </li>
+ <li class="remove"><%= link_to "<i class='fa fa-trash-o'></i>".html_safe, referential_export_path(@referential, export), :method => :delete, :data => {:confirm => t('exports.actions.destroy_confirm')}, :class => "remove" %></li>
+ </ul>
+ <div class="links">
<% if export.status == 'completed' %>
- <%= link_to t("exports.actions.download"), referential_export_path(@referential, export, :format => :zip), :class => "download" %>
+ <%= link_to t("exports.actions.download"), referential_export_path(@referential, export, :format => :zip), :class => "download" %>
<% end %>
- <%= link_to t("actions.destroy"), referential_export_path(@referential, export), :method => :delete, :data => {:confirm => t('exports.actions.destroy_confirm')}, :class => "remove" %>
+ </div>
+ <div class="history">
+ <%= l export.created_at, :format => "%d/%m/%Y %H:%M" %>
</div>
</div>
<% end %>
diff --git a/app/views/import_tasks/_import_task.erb b/app/views/import_tasks/_import_task.erb
index 5f2326209..7b4302d58 100644
--- a/app/views/import_tasks/_import_task.erb
+++ b/app/views/import_tasks/_import_task.erb
@@ -1,4 +1,4 @@
-<%= div_for import_task do %>
+<%= div_for import_task, :class => "clearfix" do %>
<div class="icon">
<%= link_to image_tag("import_task-#{import_task.status}.png"), referential_import_task_path(@referential, import_task) %>
</div>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index d0428dd9f..2e4f98c0b 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -18,60 +18,113 @@
</head>
<body>
<div id="header">
- <div class="row">
- <div class="col-md-4">
- <div class="logo">
- <%= link_to image_tag("logo_chouette.png"), referentials_path %>
- <span class="version"><%= APP_VERSION %></span>
- </div>
- </div>
- <div class="col-md-4">
- <div class="title">
- <% if selected_referential? %>
- <h1><%= @referential.name %></h1>
- <% elsif help_page? %>
- <h1>Guide d'utilisation</h1>
+ <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+ <div class="container">
+ <!-- Brand and toggle get grouped for better mobile display -->
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar version"><%= APP_VERSION %></span>
+ </button>
+ <%= link_to referentials_path, :class =>"navbar-brand" do %>
+ <%= image_tag("logo_chouette.png") %> <span class="version"><%= APP_VERSION %></span>
<% end %>
</div>
- </div>
- <div class="col-md-4">
- <div class="interaction">
- <%= render "layouts/user_links" %>
+
+ <!-- Collect the nav links, forms, and other content for toggling -->
+ <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+ <ul class="nav navbar-nav">
+ <% if selected_referential? %>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= @referential.name %><b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><%= link_to t("layouts.navbar.return_to_referentials"), referentials_path %></li>
+ <li class="divider"></li>
+ <li role="presentation" class="dropdown-header"><%= t("layouts.navbar.select_referential") %></li>
+ <% current_organisation.referentials.each do |referential| %>
+ <li>
+ <%= link_to @referential.name, referential_path(@referential) %>
+ </li>
+ <% end %>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= t("layouts.navbar.referential_datas") %><b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><%= link_to referential_networks_path(@referential) do %>
+ <%= Referential.human_attribute_name("networks") %><span class="badge pull-right"><%= @referential.networks.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_companies_path(@referential) do %>
+ <%= Referential.human_attribute_name("companies") %><span class="badge pull-right"><%= @referential.companies.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_group_of_lines_path(@referential) do %>
+ <%= Referential.human_attribute_name("group_of_lines") %><span class="badge pull-right"><%= @referential.group_of_lines.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_lines_path(@referential) do %>
+ <%= Referential.human_attribute_name("lines") %><span class="badge pull-right"><%= @referential.lines.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_stop_areas_path(@referential) do %>
+ <%= Referential.human_attribute_name("stop_areas") %><span class="badge pull-right"><%= @referential.stop_areas.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_connection_links_path(@referential) do %>
+ <%= Referential.human_attribute_name("connection_links") %><span class="badge pull-right"><%= @referential.connection_links.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_time_tables_path(@referential) do %>
+ <%= Referential.human_attribute_name("time_tables") %><span class="badge pull-right"><%= @referential.time_tables.size %></span>
+ <% end %>
+ </li>
+ </ul>
+ </li>
+ <li><%= link_to Referential.human_attribute_name("import_tasks"), referential_import_tasks_path(@referential) %></li>
+ <li><%= link_to Referential.human_attribute_name("export_tasks"), referential_exports_path(@referential) %></li>
+ <li><%= link_to Referential.human_attribute_name("compliance_check_tasks"), referential_compliance_check_tasks_path(@referential) %></li>
+ <% end %>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="<%= language_class('fr') %>"><%= link_to_language :fr %></li>
+ <li class="<%= language_class('en') %>"><%= link_to_language :en %></li>
+ <li><%= link_to t('layouts.help'), help_path, :class =>("current" if help_page?), :target => "_blank" %></li>
+ <% if user_signed_in? %>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="gravatar"><%= user_gravatar_image_tag current_user %></span><%= current_user.name %> <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><%= link_to t('layouts.user.profile'), edit_user_registration_path %></li>
+ <li><%= link_to t('layouts.user.sign_out'), destroy_user_session_path, :method => :delete %></li>
+ <li class="divider"></li>
+ <li><%= tab_link_to Organisation.model_name.human, organisation_path %></li>
+ </ul>
+ </li>
+ <% end %>
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </div><!-- /.container-fluid -->
+ </nav>
+ </div>
+ <div id="middle" class="container">
+ <div class="row">
+ <div class="col-md-9">
+ <div id="workspace" class="<%= controller_name %> <%= action_name %>">
+ <%= render partial: "shared/flash_messages", flash: flash %>
+ <%= yield %>
</div>
- </div>
+ </div>
+ <div id="sidebar" class="col-md-3">
+ <%= yield :sidebar %>
+ </div>
</div>
- <div class="tabs">
- <ul class="nav nav-tabs">
- <% if help_page? %>
- <li><%= link_to "Aide", help_path, :class =>("current" if help_page?) %></li>
- <% elsif ! selected_referential? %>
- <% if user_signed_in? %>
- <li><%= link_to Referential.model_name.human(:count=>2), referentials_path, :class => ("current" if current_page?(referentials_path) || current_page?(root_url)) %></li>
- <li class="admin"><%= tab_link_to Organisation.model_name.human, organisation_path %></li>
- <% end %>
- <% else %>
- <li><%= link_to t("layouts.tabs.dashboard").capitalize, referential_path(@referential), :class => ("current" if current_page?(referential_path(@referential)) || request.path.start_with?(referential_rule_parameter_sets_path(@referential))) %></li>
- <li><%= tab_link_to Chouette::Network, referential_networks_path(@referential) %></li>
- <li><%= tab_link_to Chouette::Company, referential_companies_path(@referential) %></li>
- <li><%= tab_link_to Chouette::GroupOfLine, referential_group_of_lines_path(@referential) %></li>
- <li><%= tab_link_to Chouette::Line, referential_lines_path(@referential) %></li>
- <li><%= tab_link_to Chouette::StopArea, referential_stop_areas_path(@referential) %></li>
- <li><%= tab_link_to Chouette::ConnectionLink, referential_connection_links_path(@referential) %></li>
- <li><%= tab_link_to Chouette::TimeTable, referential_time_tables_path(@referential) %></li>
- <li><%= tab_link_to ImportTask, referential_import_tasks_path(@referential) %></li>
- <li><%= tab_link_to Export, referential_exports_path(@referential) %></li>
- <li><%= tab_link_to ComplianceCheckTask, referential_compliance_check_tasks_path(@referential) %></li>
- <% end %>
- </ul>
</div>
- <div id="body">
- <div id="workspace" class="<%= controller_name %> <%= action_name %>">
- <%= render partial: "shared/flash_messages", flash: flash %>
- <%= yield %>
- </div>
- <div id="sidebar">
- <%= yield :sidebar %>
- </div>
+ <div class="clearfix"></div>
+ <div id="footer">
+ <%= render partial: "shared/footer" %>
</div>
</body>
</html>
diff --git a/app/views/layouts/without_sidebar.html.erb b/app/views/layouts/without_sidebar.html.erb
new file mode 100644
index 000000000..948070695
--- /dev/null
+++ b/app/views/layouts/without_sidebar.html.erb
@@ -0,0 +1,126 @@
+<!DOCTYPE html>
+<html lang="<%= I18n.locale %>">
+ <head>
+ <title>Chouette V2 - <%= title %></title>
+ <%= stylesheet_link_tag :application %>
+ <%= javascript_include_tag :application %>
+ <% if defined?( @map) %>
+ <script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false"></script>
+ <script src="http://openlayers.org/api/OpenLayers.js"></script>
+ <script type="text/JavaScript">
+ OpenLayers.ImgPath = "<%= polymorphic_path_patch("/assets/openlayers/") %>";
+ </script>
+ <% end %>
+ <%= analytics_init if Rails.env.production? %>
+ <%= csrf_meta_tag %>
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
+ </head>
+ <body>
+ <div id="header">
+ <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+ <div class="container">
+ <!-- Brand and toggle get grouped for better mobile display -->
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar version"><%= APP_VERSION %></span>
+ </button>
+ <%= link_to referentials_path, :class =>"navbar-brand" do %>
+ <%= image_tag("logo_chouette.png") %> <span class="version"><%= APP_VERSION %></span>
+ <% end %>
+ </div>
+
+ <!-- Collect the nav links, forms, and other content for toggling -->
+ <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+ <ul class="nav navbar-nav">
+ <% if selected_referential? %>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= @referential.name %><b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><%= link_to t("layouts.navbar.return_to_referentials"), referentials_path %></li>
+ <li class="divider"></li>
+ <li role="presentation" class="dropdown-header"><%= t("layouts.navbar.select_referential") %></li>
+ <% current_organisation.referentials.each do |referential| %>
+ <li>
+ <%= link_to @referential.name, referential_path(@referential) %>
+ </li>
+ <% end %>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= t("layouts.navbar.referential_datas") %><b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><%= link_to referential_networks_path(@referential) do %>
+ <%= Referential.human_attribute_name("networks") %><span class="badge pull-right"><%= @referential.networks.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_companies_path(@referential) do %>
+ <%= Referential.human_attribute_name("companies") %><span class="badge pull-right"><%= @referential.companies.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_group_of_lines_path(@referential) do %>
+ <%= Referential.human_attribute_name("group_of_lines") %><span class="badge pull-right"><%= @referential.group_of_lines.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_lines_path(@referential) do %>
+ <%= Referential.human_attribute_name("lines") %><span class="badge pull-right"><%= @referential.lines.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_stop_areas_path(@referential) do %>
+ <%= Referential.human_attribute_name("stop_areas") %><span class="badge pull-right"><%= @referential.stop_areas.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_connection_links_path(@referential) do %>
+ <%= Referential.human_attribute_name("connection_links") %><span class="badge pull-right"><%= @referential.connection_links.size %></span>
+ <% end %>
+ </li>
+ <li><%= link_to referential_time_tables_path(@referential) do %>
+ <%= Referential.human_attribute_name("time_tables") %><span class="badge pull-right"><%= @referential.time_tables.size %></span>
+ <% end %>
+ </li>
+ </ul>
+ </li>
+ <li><%= link_to Referential.human_attribute_name("import_tasks"), referential_import_tasks_path(@referential) %></li>
+ <li><%= link_to Referential.human_attribute_name("export_tasks"), referential_exports_path(@referential) %></li>
+ <li><%= link_to Referential.human_attribute_name("compliance_check_tasks"), referential_compliance_check_tasks_path(@referential) %></li>
+ <% end %>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="<%= language_class('fr') %>"><%= link_to_language :fr %></li>
+ <li class="<%= language_class('en') %>"><%= link_to_language :en %></li>
+ <li><%= link_to t('layouts.help'), help_path, :class =>("current" if help_page?), :target => "_blank" %></li>
+ <% if user_signed_in? %>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="gravatar"><%= user_gravatar_image_tag current_user %></span><%= current_user.name %> <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><%= link_to t('layouts.user.profile'), edit_user_registration_path %></li>
+ <li><%= link_to t('layouts.user.sign_out'), destroy_user_session_path, :method => :delete %></li>
+ <li class="divider"></li>
+ <li><%= tab_link_to Organisation.model_name.human, organisation_path %></li>
+ </ul>
+ </li>
+ <% end %>
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </div><!-- /.container-fluid -->
+ </nav>
+ </div>
+ <div id="middle" class="container">
+ <div class="row">
+ <div class="col-md-12">
+ <div id="workspace" class="<%= controller_name %> <%= action_name %>">
+ <%= render partial: "shared/flash_messages", flash: flash %>
+ <%= yield %>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="footer">
+ <%= render partial: "shared/footer" %>
+ </div>
+ </body>
+</html>
diff --git a/app/views/referentials/index.html.erb b/app/views/referentials/index.html.erb
index 5111856d9..220fc17ba 100644
--- a/app/views/referentials/index.html.erb
+++ b/app/views/referentials/index.html.erb
@@ -8,5 +8,4 @@
<ul class="actions">
<li><%= link_to t('referentials.actions.new'), new_referential_path, :class => "add" %></li>
</ul>
-<%= render "layouts/logos" %>
<% end %>
diff --git a/app/views/routes/_route.html.erb b/app/views/routes/_route.html.erb
index be5bbeb2b..79064ed97 100644
--- a/app/views/routes/_route.html.erb
+++ b/app/views/routes/_route.html.erb
@@ -1,37 +1,36 @@
<%= div_for(route) do %>
- <% if ( route.wayback_code ) %>
- <%= link_to image_tag("icons/#{route.wayback}.png"), referential_line_route_path( @referential, @line, route) %>
- <% end %>
- <div>
- <%= link_to route.name, referential_line_route_path( @referential, @line, route) %>
- </div>
- <div class="info">
- <% if ! route.number.blank? %>
- <%= route.human_attribute_name('number') %> <%= route.number %> -
- <% end %>
- <% if ! route.direction.blank? %>
- <%= route.human_attribute_name('direction_code') %> <%= t('directions.label.'+route.direction_code) %> -
+<div class="header">
+ <% if ( route.wayback_code ) %>
+ <%= fonticon_wayback(route.wayback) %>
<% end %>
+ <%= link_to route.name, referential_line_route_path( @referential, @line, route) %>
<% if route.wayback_code %>
- <%= route.human_attribute_name('wayback_code') %> <%= (route.wayback=="A") ? t('.wayback.positive') : t('.wayback.negative') %>
- <% end %>
- <% if route.wayback_code || (not route.direction.blank?) || ( not route.number.blank?) %>
- <br/>
+ <span class="wayback"><%= route.human_attribute_name('wayback_code') %> <%= (route.wayback=="A") ? t('.wayback.positive') : t('.wayback.negative') %></span>
<% end %>
+</div>
+<div class="clearfix"></div>
+<div class="body">
+ <p>
+ <% if route.journey_patterns.size > 0 %>
+ <i class="fa fa-clock-o"></i><%= link_to t("vehicle_journeys.actions.index"), referential_line_route_vehicle_journeys_path(@referential, @line, route) %>
+ <% else %>
+ <%= t('.no_journey_pattern')%>
+ <% end%>
+ </p>
+ <p>
<% if route.opposite_route %>
- <%= t('.opposite') %> <%= link_to route.opposite_route.name, referential_line_route_path( @referential, @line, route.opposite_route) %>
+ <%= fonticon_wayback(route.opposite_route.wayback) %><%= link_to route.opposite_route.name, referential_line_route_path( @referential, @line, route.opposite_route) %> [<%= t('.opposite') %>]
<% else %>
- <%= t('.no_opposite') %>
+ <%= t('.no_opposite') %>
<% end %>
- <% if route.journey_patterns.size > 0 %>
- <div class="actions">
- <%= link_to t("vehicle_journeys.actions.index"), referential_line_route_vehicle_journeys_path(@referential, @line, route), :class => "link" %>
- </div>
+ </p>
+ <p>
+ <% if ! route.direction.blank? %>
+ <%= route.human_attribute_name('direction_code') %> : <%= t('directions.label.'+route.direction_code) %>
<% else %>
- <div class="actions">
- <%= t('.no_journey_pattern')%>
- </div>
- <% end%>
- </div>
+ <br>
+ <% end %>
+ </p>
+</div>
<% end %>
diff --git a/app/views/routes/show.html.erb b/app/views/routes/show.html.erb
index 9c1913e51..c36ce0e94 100644
--- a/app/views/routes/show.html.erb
+++ b/app/views/routes/show.html.erb
@@ -101,14 +101,14 @@
<%= link_to t('journey_patterns.actions.new'), new_referential_line_route_journey_pattern_path(@referential, @line, @route), :class => "add" %>
</li>
<% end %>
-<% if @route.journey_patterns.size > 0 %>
+ <!-- <li> -->
+ <!-- <%= link_to t('vehicle_journey_imports.new.title'), new_referential_line_route_vehicle_journey_import_path( @referential, @line, @route ), :class => "import" %> -->
+ <!-- </li> -->
+ <% if @route.journey_patterns.size > 0 %>
<li>
- <%= link_to t('vehicle_journeys.actions.index'), [@referential, @line, @route, :vehicle_journeys], :class => "link" %>
- </li>
- <% end %>
- <li>
- <%= link_to t('vehicle_journey_imports.new.title'), new_referential_line_route_vehicle_journey_import_path( @referential, @line, @route ), :class => "import" %>
+ <i class="fa fa-clock-o"></i><%= link_to t('vehicle_journeys.actions.index'), [@referential, @line, @route, :vehicle_journeys], :class => "vehicle_journeys" %>
</li>
+<% end %>
</ul>
<%= creation_tag(@route) %>
diff --git a/app/views/shared/_footer.erb b/app/views/shared/_footer.erb
new file mode 100644
index 000000000..059a96d4c
--- /dev/null
+++ b/app/views/shared/_footer.erb
@@ -0,0 +1,42 @@
+<div class="container">
+ <div class="row">
+ <div class="col-md-3 logo">
+ <%= image_tag "#{ChouetteIhm::Application.config.company_name}.png" %>
+ </div>
+ <div class="col-md-3">
+ <ul>
+ <li><h4><%= t("layouts.footer.product.title") %></h4></li>
+ <li><%= link_to t("layouts.footer.product.licence"), "http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.html" %></li>
+ <li><%= link_to t("layouts.footer.product.source_code"), "https://github.com/afimb/chouette2" %></li>
+ <li><%= link_to t("layouts.footer.product.user_group") %></li>
+ </ul>
+ </div>
+ <div class="col-md-3">
+ <ul>
+ <li><h4><%= t("layouts.footer.support.title") %></h4></li>
+ <li>
+ <% if ChouetteIhm::Application.config.company_contact.include?("@") %>
+ <%= mail_to "#{ChouetteIhm::Application.config.company_contact}", t("layouts.footer.contact.mail") %>
+ <% else %>
+ <%= link_to t("layouts.footer.contact.mail"), "#{ChouetteIhm::Application.config.company_contact}" %>
+ <% end %>
+ </li>
+ <li><%= link_to t("layouts.footer.support.help"), "/help" %></li>
+ </ul>
+ </div>
+ <div class="col-md-3">
+ <ul>
+ <li><h4><%= t("layouts.footer.contact.title") %></h4></li>
+ <li>
+ <% if ChouetteIhm::Application.config.company_contact.include?("@") %>
+ <%= mail_to "#{ChouetteIhm::Application.config.company_contact}", t("layouts.footer.contact.mail") %>
+ <% else %>
+ <%= link_to t("layouts.footer.contact.mail"), "#{ChouetteIhm::Application.config.company_contact}" %>
+ <% end %>
+ </li>
+ <li><%= link_to t("layouts.footer.contact.newsletter"),"http://www.chouette.mobi/les-utilisateurs/etre-informe/" %></li>
+ <li><%= link_to t("layouts.footer.contact.forum"), "http://forum.chouette.mobi/" %></li>
+ </ul>
+ </div>
+ </div>
+</div>
diff --git a/app/views/stop_areas/_form.html.erb b/app/views/stop_areas/_form.html.erb
index 24800159a..c0ca1c922 100644
--- a/app/views/stop_areas/_form.html.erb
+++ b/app/views/stop_areas/_form.html.erb
@@ -1,5 +1,5 @@
<div class="container-fluid">
- <div class="col-md-8">
+ <div class="col-md-7">
<%= semantic_form_for [@referential, @stop_area] do |form| %>
<%= form.inputs do %>
<%= form.input :id, :as => :hidden %>
@@ -45,8 +45,9 @@
<% end %>
</div>
- <div class="col-md-4">
+ <div class="col-md-5">
<% if !manage_itl && @map %>
<%= @map.to_html %>
<% end %>
</div>
+</div>
diff --git a/app/views/stop_areas/show.html.erb b/app/views/stop_areas/show.html.erb
index 25510b10f..d812ff4e3 100644
--- a/app/views/stop_areas/show.html.erb
+++ b/app/views/stop_areas/show.html.erb
@@ -92,14 +92,11 @@
</div>
<p class="after_map" />
-<div class="genealogical">
+<div class="genealogical clearfix">
<%= render "stop_areas/genealogical" %>
</div>
-
-
<% if manage_access_points %>
- <p class="after_map" />
<div>
<h3><%= t('.access_points') %></h3>
diff --git a/app/views/vehicle_journey_imports/new.html.erb b/app/views/vehicle_journey_imports/new.html.erb
index a1078c88d..a8459848c 100644
--- a/app/views/vehicle_journey_imports/new.html.erb
+++ b/app/views/vehicle_journey_imports/new.html.erb
@@ -1,9 +1,16 @@
<%= title_tag t('vehicle_journey_imports.new.title') %>
-<p class="export"><%= t('vehicle_journey_imports.new.export_vehicle_journeys') %>
- <span class="file"><%= link_to image_tag("icons/file_csv.png"), referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :csv) %></span>
- <span class="file"><%= link_to image_tag("icons/file_excel.png"), referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :xls) %></span>
-</p>
+<div class="main_actions">
+ <div class="btn-group">
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+ <%= t('vehicle_journey_imports.new.export_vehicle_journeys') %><span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu" role="menu">
+ <li><%= link_to image_tag("icons/file_csv.png") + " Csv" , referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :csv) %></li>
+ <li><%= link_to image_tag("icons/file_excel.png") + " Excel", referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :xls) %></li>
+ </ul>
+ </div>
+</div>
<%= semantic_form_for [@referential, @line, @route, @vehicle_journey_import] do |form| %>
<% if @vehicle_journey_import.errors.any? %>
diff --git a/app/views/vehicle_journeys/_form.html.erb b/app/views/vehicle_journeys/_form.html.erb
index 8f15b6336..1c4d2f45e 100644
--- a/app/views/vehicle_journeys/_form.html.erb
+++ b/app/views/vehicle_journeys/_form.html.erb
@@ -10,46 +10,38 @@
<%= form.input :vehicle_type_identifier%>
<%= form.input :objectid, :required => !@vehicle_journey.new_record?, :input_html => { :disabled => !@vehicle_journey.new_record? } %>
- <%= form.inputs :class => "stop_times", :name => @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids) do %>
- <table border="0" class="vehicle_journey_at_stops">
- <thead>
- <tr>
- <th class="hour title"><%= t('.arrival') %></th>
- <th class="stop title" ><%= t('.stop_title') %></th>
- <th class="hour title"><%= t('.departure') %></th>
- </tr>
- </thead>
- <tfoot>
- <tr>
- <td class="title"> <a class="to_departures"><%= t('.to_departures') %></a></td>
- <td class="title" ></td>
- <td class="title"><a class="to_arrivals"><%= t('.to_arrivals') %></a></td>
- </tr>
- </tfoot>
- <!--
- <= form.semantic_fields_for :vehicle_journey_at_stops do |vjas| >
- <= vjas.object.stop_point.stop_area.name >
- <= vjas.input :_destroy, :as => :hidden >
- <= vjas.input :departure_time, :as => :time >
-
- < end >
- -->
- <tbody class="journey_pattern_dependent_list">
+ <%= form.inputs :class => "stop_times", :name => @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids) do %>
+ <table border="0" class="vehicle_journey_at_stops">
+ <thead>
+ <tr>
+ <th class="hour title"><%= t('.arrival') %></th>
+ <th class="stop title" ><%= t('.stop_title') %></th>
+ <th class="hour title"><%= t('.departure') %></th>
+ </tr>
+ </thead>
+ <tfoot>
+ <tr>
+ <td class="title"> <a class="to_departures"><%= t('.to_departures') %></a></td>
+ <td class="title" ></td>
+ <td class="title"><a class="to_arrivals"><%= t('.to_arrivals') %></a></td>
+ </tr>
+ </tfoot>
+ <tbody class="journey_pattern_dependent_list">
<%= render :partial => "vehicle_journeys/vehicle_journey_at_stop_fields",
- :collection => @vehicle_journey.vehicle_journey_at_stops, :as => :vehicle_journey_at_stop %>
- </tbody>
- </table>
- <% end %>
+ :collection => @vehicle_journey.vehicle_journey_at_stops, :as => :vehicle_journey_at_stop %>
+ </tbody>
+ </table>
+ <% end %>
<%= form.input :time_table_tokens, :label => t('.time_tables'), :as => :text, :input_html => { :"data-pre" => ( @vehicle_journey.time_tables.map { |time_table| { :id => time_table.id, :name => time_table.comment } } ).to_json } %>
-
+
<% end %>
- <%= form.actions do %>
- <%= form.action :submit, :as => :button %>
- <%= form.action :cancel, :as => :link %>
- <% end %>
+ <%= form.actions do %>
+ <%= form.action :submit, :as => :button %>
+ <%= form.action :cancel, :as => :link %>
+ <% end %>
<% end %>
-
+
<% if @vehicle_journey.new_record? %>
<%= javascript_include_tag new_referential_line_route_vehicle_journey_path(@referential, @line, @route, :format => :js) %>
<% else %>
diff --git a/app/views/vehicle_journeys/_vehicle_journey_at_stop_fields.html.erb b/app/views/vehicle_journeys/_vehicle_journey_at_stop_fields.html.erb
index 65a017f24..150ecde4b 100644
--- a/app/views/vehicle_journeys/_vehicle_journey_at_stop_fields.html.erb
+++ b/app/views/vehicle_journeys/_vehicle_journey_at_stop_fields.html.erb
@@ -4,21 +4,21 @@
<%= select_hour(vjas.arrival_time ? vjas.arrival_time.hour : 0, { :prefix => "vehicle_journey", :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][arrival_time(4i)]"}, :class => "hour") %>
<%= select_minute(vjas.arrival_time ? vjas.arrival_time.min : 0, { :prefix => "vehicle_journey", :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][arrival_time(5i)]"}, :class => "minute") %>
</td>
- <td>
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][id]" %> type="hidden" value="<%= vjas.id %>">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][_destroy]" %> type="hidden" value="<%= vjas._destroy ? "1" : "0" %>">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][stop_point_id]" %> type="hidden" value="<%= vjas.stop_point_id %>">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][departure_time(3i)]" %> type="hidden" value="1">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][departure_time(2i)]" %> type="hidden" value="1">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][departure_time(1i)]" %> type="hidden" value="2000">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][arrival_time(3i)]" %> type="hidden" value="1">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][arrival_time(2i)]" %> type="hidden" value="1">
- <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][arrival_time(1i)]" %> type="hidden" value="2000">
- <label for=<%= "vehicle_journey_vehicle_journey_at_stops_attributes_#{vehicle_journey_at_stop_counter}_departure_time_5i" %>><%= vjas.stop_point.stop_area.name %></label>
+ <td>
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][id]" %> type="hidden" value="<%= vjas.id %>">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][_destroy]" %> type="hidden" value="<%= vjas._destroy ? "1" : "0" %>">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][stop_point_id]" %> type="hidden" value="<%= vjas.stop_point_id %>">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][departure_time(3i)]" %> type="hidden" value="1">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][departure_time(2i)]" %> type="hidden" value="1">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][departure_time(1i)]" %> type="hidden" value="2000">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][arrival_time(3i)]" %> type="hidden" value="1">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][arrival_time(2i)]" %> type="hidden" value="1">
+ <input name=<%= "vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][arrival_time(1i)]" %> type="hidden" value="2000">
+ <label for=<%= "vehicle_journey_vehicle_journey_at_stops_attributes_#{vehicle_journey_at_stop_counter}_departure_time_5i" %>><%= vjas.stop_point.stop_area.name %></label>
</td>
<td class="departure_time <%= vjas.departure_time.nil? ? "missing" : "" %> <%= vjas.errors[:departure_time].blank? ? "" : "invalid_position" %>">
<%= select_hour(vjas.departure_time ? vjas.departure_time.hour : 0, { :prefix => "vehicle_journey", :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][departure_time(4i)]"}, :class => "hour") %>
<%= select_minute(vjas.departure_time ? vjas.departure_time.min : 0, { :prefix => "vehicle_journey", :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][departure_time(5i)]"}, :class => "minute") %>
- </td>
+ </td>
</tr>
diff --git a/app/views/vehicle_journeys/edit.html.erb b/app/views/vehicle_journeys/edit.html.erb
index fcb0c2bd9..dba18248e 100644
--- a/app/views/vehicle_journeys/edit.html.erb
+++ b/app/views/vehicle_journeys/edit.html.erb
@@ -10,8 +10,8 @@
<label><%= @vehicle_journey.human_attribute_name(:route) %>: </label>
<%= link_to @route.name, [@referential, @line, @route] %>
</p>
- <div>
-<div>
+ </div>
+</div>
<%= render "form" %>
diff --git a/app/views/vehicle_journeys/index.html.erb b/app/views/vehicle_journeys/index.html.erb
index d32c9f02f..651aea739 100644
--- a/app/views/vehicle_journeys/index.html.erb
+++ b/app/views/vehicle_journeys/index.html.erb
@@ -1,18 +1,9 @@
-<%= title_tag t('vehicle_journeys.index.title', :route => @route.name ) %>
+<ol class="breadcrumb">
+ <li><%= link_to line_formatted_name( @line), [@referential, @line] %></li>
+ <li><%= link_to @route.name, [@referential, @line, @route] %></li>
+</ol>
-<div class="vehicle_journey_index">
- <div class="summary">
- <p>
- <label><%= @route.human_attribute_name(:line) %>: </label>
- <%= link_to line_formatted_name( @line), [@referential, @line] %>
- </p>
- <p>
- <label><%= Chouette::Route.model_name.human %>: </label>
- <%= link_to @route.name, [@referential, @line, @route] %>
- </p>
- </div>
-</div>
-<h3 class="vehicle_journeys"><%= t('.vehicle_journeys') %></h3>
+<%= title_tag t('vehicle_journeys.index.title', :route => @route.name ) %>
<div class="page_info">
<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @vehicle_journeys %>
</div>
@@ -20,7 +11,7 @@
<%= will_paginate @vehicle_journeys, :container => false, renderer: BootstrapPagination::Rails %>
</div>
<div class="vehicle_journeys paginated_content">
- <table class="table table-hover">
+ <table class="table table-hover table-striped">
<thead>
<tr>
<th class="title"><%= Chouette::JourneyPattern.model_name.human.pluralize %> :</th>