diff options
| author | Luc Donnet | 2012-01-06 17:48:53 +0100 | 
|---|---|---|
| committer | Luc Donnet | 2012-01-06 17:48:53 +0100 | 
| commit | f15300dd765252003da9f112775b9caed065c921 (patch) | |
| tree | 4501bef526ed159a0aeceb8c33709f4bb2c703ec | |
| download | chouette-core-f15300dd765252003da9f112775b9caed065c921.tar.bz2 | |
Initialize chouette2
84 files changed, 1814 insertions, 0 deletions
| diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..eb3489a98 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +#   git config --global core.excludesfile ~/.gitignore_global + +# Ignore bundler config +/.bundle + +# Ignore the default SQLite database. +/db/*.sqlite3 + +# Ignore all logfiles and tempfiles. +/log/*.log +/tmp diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..927caae30 --- /dev/null +++ b/Gemfile @@ -0,0 +1,49 @@ +source 'http://rubygems.org' + +gem 'rails', '3.1.3' + +# Bundle edge Rails instead: +# gem 'rails',     :git => 'git://github.com/rails/rails.git' + +gem 'user_interface', :path => '/home/luc/projects/user_interface' + +platforms :jruby do +  gem 'activerecord-jdbcsqlite3-adapter' +  gem 'jruby-openssl' +end + +platforms :ruby do +  gem 'sqlite3' +end + +gem 'json' +gem 'warbler' + +# Gems used only for assets and not required +# in production environments by default. +group :assets do +  gem 'sass-rails',   '~> 3.1.5' +  gem 'coffee-rails', '~> 3.1.1' +  gem 'coffee-script-source' +  gem 'uglifier', '>= 1.0.3' +end + +gem 'jquery-rails' + +# To use ActiveModel has_secure_password +# gem 'bcrypt-ruby', '~> 3.0.0' + +# Use unicorn as the web server +# gem 'unicorn' + +# Deploy with Capistrano +# gem 'capistrano' + +# To use debugger +# gem 'ruby-debug' + +gem 'inherited_resources' +gem 'activerecord-jdbcpostgresql-adapter' + +gem 'chouette-ninoxe', :git => 'git://chouette.dryade.priv/ninoxe' + diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..838698980 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,170 @@ +GIT +  remote: git://chouette.dryade.priv/ninoxe +  revision: d5df3cff9665d43fe34ffda32301c0f0715d30e4 +  specs: +    chouette-ninoxe (0.0.8) +      GeoRuby +      activerecord +      composite_primary_keys +      geokit + +PATH +  remote: /home/luc/projects/user_interface +  specs: +    user_interface (0.0.1) +      rails (~> 3.1.0) + +GEM +  remote: http://rubygems.org/ +  specs: +    GeoRuby (1.3.4) +    actionmailer (3.1.3) +      actionpack (= 3.1.3) +      mail (~> 2.3.0) +    actionpack (3.1.3) +      activemodel (= 3.1.3) +      activesupport (= 3.1.3) +      builder (~> 3.0.0) +      erubis (~> 2.7.0) +      i18n (~> 0.6) +      rack (~> 1.3.5) +      rack-cache (~> 1.1) +      rack-mount (~> 0.8.2) +      rack-test (~> 0.6.1) +      sprockets (~> 2.0.3) +    activemodel (3.1.3) +      activesupport (= 3.1.3) +      builder (~> 3.0.0) +      i18n (~> 0.6) +    activerecord (3.1.3) +      activemodel (= 3.1.3) +      activesupport (= 3.1.3) +      arel (~> 2.2.1) +      tzinfo (~> 0.3.29) +    activerecord-jdbc-adapter (1.2.1) +    activerecord-jdbcpostgresql-adapter (1.2.1) +      activerecord-jdbc-adapter (~> 1.2.1) +      jdbc-postgres (~> 9.0.0) +    activerecord-jdbcsqlite3-adapter (1.2.1) +      activerecord-jdbc-adapter (~> 1.2.1) +      jdbc-sqlite3 (~> 3.7.2) +    activeresource (3.1.3) +      activemodel (= 3.1.3) +      activesupport (= 3.1.3) +    activesupport (3.1.3) +      multi_json (~> 1.0) +    arel (2.2.1) +    bouncy-castle-java (1.5.0146.1) +    builder (3.0.0) +    coffee-rails (3.1.1) +      coffee-script (>= 2.2.0) +      railties (~> 3.1.0) +    coffee-script (2.2.0) +      coffee-script-source +      execjs +    coffee-script-source (1.1.2) +    composite_primary_keys (4.1.1) +      activerecord (~> 3.1) +    erubis (2.7.0) +    execjs (1.2.13) +      multi_json (~> 1.0) +    geokit (1.6.0) +    has_scope (0.5.1) +    hike (1.2.1) +    i18n (0.6.0) +    inherited_resources (1.3.0) +      has_scope (~> 0.5.0) +      responders (~> 0.6.0) +    jdbc-postgres (9.0.801) +    jdbc-sqlite3 (3.7.2) +    jquery-rails (1.0.19) +      railties (~> 3.0) +      thor (~> 0.14) +    jruby-jars (1.6.5.1) +    jruby-openssl (0.7.4) +      bouncy-castle-java +    jruby-rack (1.1.2) +    json (1.6.4) +    json (1.6.4-java) +    mail (2.3.0) +      i18n (>= 0.4.0) +      mime-types (~> 1.16) +      treetop (~> 1.4.8) +    mime-types (1.17.2) +    multi_json (1.0.4) +    polyglot (0.3.3) +    rack (1.3.6) +    rack-cache (1.1) +      rack (>= 0.4) +    rack-mount (0.8.3) +      rack (>= 1.0.0) +    rack-ssl (1.3.2) +      rack +    rack-test (0.6.1) +      rack (>= 1.0) +    rails (3.1.3) +      actionmailer (= 3.1.3) +      actionpack (= 3.1.3) +      activerecord (= 3.1.3) +      activeresource (= 3.1.3) +      activesupport (= 3.1.3) +      bundler (~> 1.0) +      railties (= 3.1.3) +    railties (3.1.3) +      actionpack (= 3.1.3) +      activesupport (= 3.1.3) +      rack-ssl (~> 1.3.2) +      rake (>= 0.8.7) +      rdoc (~> 3.4) +      thor (~> 0.14.6) +    rake (0.9.2.2) +    rdoc (3.12) +      json (~> 1.4) +    responders (0.6.4) +    rubyzip (0.9.5) +    sass (3.1.12) +    sass-rails (3.1.5) +      actionpack (~> 3.1.0) +      railties (~> 3.1.0) +      sass (~> 3.1.10) +      tilt (~> 1.3.2) +    sprockets (2.0.3) +      hike (~> 1.2) +      rack (~> 1.0) +      tilt (~> 1.1, != 1.3.0) +    sqlite3 (1.3.5) +    thor (0.14.6) +    tilt (1.3.3) +    treetop (1.4.10) +      polyglot +      polyglot (>= 0.3.1) +    tzinfo (0.3.31) +    uglifier (1.2.1) +      execjs (>= 0.3.0) +      multi_json (>= 1.0.2) +    warbler (1.3.2) +      jruby-jars (>= 1.4.0) +      jruby-rack (>= 1.0.0) +      rake (>= 0.8.7) +      rubyzip (>= 0.9.4) + +PLATFORMS +  java +  ruby + +DEPENDENCIES +  activerecord-jdbcpostgresql-adapter +  activerecord-jdbcsqlite3-adapter +  chouette-ninoxe! +  coffee-rails (~> 3.1.1) +  coffee-script-source +  inherited_resources +  jquery-rails +  jruby-openssl +  json +  rails (= 3.1.3) +  sass-rails (~> 3.1.5) +  sqlite3 +  uglifier (>= 1.0.3) +  user_interface! +  warbler diff --git a/Gemfile~ b/Gemfile~ new file mode 100644 index 000000000..8676e027a --- /dev/null +++ b/Gemfile~ @@ -0,0 +1,34 @@ +source 'http://rubygems.org' + +gem 'rails', '3.1.3' + +# Bundle edge Rails instead: +# gem 'rails',     :git => 'git://github.com/rails/rails.git' + +gem 'activerecord-jdbcsqlite3-adapter' + +gem 'jruby-openssl' +gem 'json' + +# Gems used only for assets and not required +# in production environments by default. +group :assets do +  gem 'sass-rails',   '~> 3.1.5' +  gem 'coffee-rails', '~> 3.1.1' +  gem 'uglifier', '>= 1.0.3' +end + +gem 'jquery-rails' + +# To use ActiveModel has_secure_password +# gem 'bcrypt-ruby', '~> 3.0.0' + +# Use unicorn as the web server +# gem 'unicorn' + +# Deploy with Capistrano +# gem 'capistrano' + +# To use debugger +# gem 'ruby-debug' + @@ -0,0 +1,261 @@ +== Welcome to Rails + +Rails is a web-application framework that includes everything needed to create +database-backed web applications according to the Model-View-Control pattern. + +This pattern splits the view (also called the presentation) into "dumb" +templates that are primarily responsible for inserting pre-built data in between +HTML tags. The model contains the "smart" domain objects (such as Account, +Product, Person, Post) that holds all the business logic and knows how to +persist themselves to a database. The controller handles the incoming requests +(such as Save New Account, Update Product, Show Post) by manipulating the model +and directing data to the view. + +In Rails, the model is handled by what's called an object-relational mapping +layer entitled Active Record. This layer allows you to present the data from +database rows as objects and embellish these data objects with business logic +methods. You can read more about Active Record in +link:files/vendor/rails/activerecord/README.html. + +The controller and view are handled by the Action Pack, which handles both +layers by its two parts: Action View and Action Controller. These two layers +are bundled in a single package due to their heavy interdependence. This is +unlike the relationship between the Active Record and Action Pack that is much +more separate. Each of these packages can be used independently outside of +Rails. You can read more about Action Pack in +link:files/vendor/rails/actionpack/README.html. + + +== Getting Started + +1. At the command prompt, create a new Rails application: +       <tt>rails new myapp</tt> (where <tt>myapp</tt> is the application name) + +2. Change directory to <tt>myapp</tt> and start the web server: +       <tt>cd myapp; rails server</tt> (run with --help for options) + +3. Go to http://localhost:3000/ and you'll see: +       "Welcome aboard: You're riding Ruby on Rails!" + +4. Follow the guidelines to start developing your application. You can find +the following resources handy: + +* The Getting Started Guide: http://guides.rubyonrails.org/getting_started.html +* Ruby on Rails Tutorial Book: http://www.railstutorial.org/ + + +== Debugging Rails + +Sometimes your application goes wrong. Fortunately there are a lot of tools that +will help you debug it and get it back on the rails. + +First area to check is the application log files. Have "tail -f" commands +running on the server.log and development.log. Rails will automatically display +debugging and runtime information to these files. Debugging info will also be +shown in the browser on requests from 127.0.0.1. + +You can also log your own messages directly into the log file from your code +using the Ruby logger class from inside your controllers. Example: + +  class WeblogController < ActionController::Base +    def destroy +      @weblog = Weblog.find(params[:id]) +      @weblog.destroy +      logger.info("#{Time.now} Destroyed Weblog ID ##{@weblog.id}!") +    end +  end + +The result will be a message in your log file along the lines of: + +  Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1! + +More information on how to use the logger is at http://www.ruby-doc.org/core/ + +Also, Ruby documentation can be found at http://www.ruby-lang.org/. There are +several books available online as well: + +* Programming Ruby: http://www.ruby-doc.org/docs/ProgrammingRuby/ (Pickaxe) +* Learn to Program: http://pine.fm/LearnToProgram/ (a beginners guide) + +These two books will bring you up to speed on the Ruby language and also on +programming in general. + + +== Debugger + +Debugger support is available through the debugger command when you start your +Mongrel or WEBrick server with --debugger. This means that you can break out of +execution at any point in the code, investigate and change the model, and then, +resume execution! You need to install ruby-debug to run the server in debugging +mode. With gems, use <tt>sudo gem install ruby-debug</tt>. Example: + +  class WeblogController < ActionController::Base +    def index +      @posts = Post.all +      debugger +    end +  end + +So the controller will accept the action, run the first line, then present you +with a IRB prompt in the server window. Here you can do things like: + +  >> @posts.inspect +  => "[#<Post:0x14a6be8 +          @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>, +       #<Post:0x14a6620 +          @attributes={"title"=>"Rails", "body"=>"Only ten..", "id"=>"2"}>]" +  >> @posts.first.title = "hello from a debugger" +  => "hello from a debugger" + +...and even better, you can examine how your runtime objects actually work: + +  >> f = @posts.first +  => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}> +  >> f. +  Display all 152 possibilities? (y or n) + +Finally, when you're ready to resume execution, you can enter "cont". + + +== Console + +The console is a Ruby shell, which allows you to interact with your +application's domain model. Here you'll have all parts of the application +configured, just like it is when the application is running. You can inspect +domain models, change values, and save to the database. Starting the script +without arguments will launch it in the development environment. + +To start the console, run <tt>rails console</tt> from the application +directory. + +Options: + +* Passing the <tt>-s, --sandbox</tt> argument will rollback any modifications +  made to the database. +* Passing an environment name as an argument will load the corresponding +  environment. Example: <tt>rails console production</tt>. + +To reload your controllers and models after launching the console run +<tt>reload!</tt> + +More information about irb can be found at: +link:http://www.rubycentral.org/pickaxe/irb.html + + +== dbconsole + +You can go to the command line of your database directly through <tt>rails +dbconsole</tt>. You would be connected to the database with the credentials +defined in database.yml. Starting the script without arguments will connect you +to the development database. Passing an argument will connect you to a different +database, like <tt>rails dbconsole production</tt>. Currently works for MySQL, +PostgreSQL and SQLite 3. + +== Description of Contents + +The default directory structure of a generated Ruby on Rails application: + +  |-- app +  |   |-- assets +  |       |-- images +  |       |-- javascripts +  |       `-- stylesheets +  |   |-- controllers +  |   |-- helpers +  |   |-- mailers +  |   |-- models +  |   `-- views +  |       `-- layouts +  |-- config +  |   |-- environments +  |   |-- initializers +  |   `-- locales +  |-- db +  |-- doc +  |-- lib +  |   `-- tasks +  |-- log +  |-- public +  |-- script +  |-- test +  |   |-- fixtures +  |   |-- functional +  |   |-- integration +  |   |-- performance +  |   `-- unit +  |-- tmp +  |   |-- cache +  |   |-- pids +  |   |-- sessions +  |   `-- sockets +  `-- vendor +      |-- assets +          `-- stylesheets +      `-- plugins + +app +  Holds all the code that's specific to this particular application. + +app/assets +  Contains subdirectories for images, stylesheets, and JavaScript files. + +app/controllers +  Holds controllers that should be named like weblogs_controller.rb for +  automated URL mapping. All controllers should descend from +  ApplicationController which itself descends from ActionController::Base. + +app/models +  Holds models that should be named like post.rb. Models descend from +  ActiveRecord::Base by default. + +app/views +  Holds the template files for the view that should be named like +  weblogs/index.html.erb for the WeblogsController#index action. All views use +  eRuby syntax by default. + +app/views/layouts +  Holds the template files for layouts to be used with views. This models the +  common header/footer method of wrapping views. In your views, define a layout +  using the <tt>layout :default</tt> and create a file named default.html.erb. +  Inside default.html.erb, call <% yield %> to render the view using this +  layout. + +app/helpers +  Holds view helpers that should be named like weblogs_helper.rb. These are +  generated for you automatically when using generators for controllers. +  Helpers can be used to wrap functionality for your views into methods. + +config +  Configuration files for the Rails environment, the routing map, the database, +  and other dependencies. + +db +  Contains the database schema in schema.rb. db/migrate contains all the +  sequence of Migrations for your schema. + +doc +  This directory is where your application documentation will be stored when +  generated using <tt>rake doc:app</tt> + +lib +  Application specific libraries. Basically, any kind of custom code that +  doesn't belong under controllers, models, or helpers. This directory is in +  the load path. + +public +  The directory available for the web server. Also contains the dispatchers and the +  default HTML files. This should be set as the DOCUMENT_ROOT of your web +  server. + +script +  Helper scripts for automation and generation. + +test +  Unit and functional tests along with fixtures. When using the rails generate +  command, template test files will be generated for you and placed in this +  directory. + +vendor +  External libraries that the application depends on. Also includes the plugins +  subdirectory. If the app has frozen rails, those gems also go here, under +  vendor/rails/. This directory is in the load path. diff --git a/Rakefile b/Rakefile new file mode 100644 index 000000000..8a9f39f05 --- /dev/null +++ b/Rakefile @@ -0,0 +1,7 @@ +#!/usr/bin/env rake +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require File.expand_path('../config/application', __FILE__) + +ChouetteIhm::Application.load_tasks diff --git a/app/assets/images/rails.png b/app/assets/images/rails.pngBinary files differ new file mode 100644 index 000000000..d5edc04e6 --- /dev/null +++ b/app/assets/images/rails.png diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 000000000..37c7bfcdb --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,9 @@ +// This is a manifest file that'll be compiled into including all the files listed below. +// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically +// be included in the compiled file accessible from http://example.com/assets/application.js +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// the compiled file. +// +//= require jquery +//= require jquery_ujs +//= require_tree . diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css new file mode 100644 index 000000000..9b2c7f92e --- /dev/null +++ b/app/assets/stylesheets/application.css @@ -0,0 +1,8 @@ +/* + * This is a manifest file that'll automatically include all the stylesheets available in this directory + * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at + * the top of the compiled file, but it's generally better to create a new file per style scope. + *= require_self + *= require user_interface + *= require_tree .  +*/
\ No newline at end of file diff --git a/app/assets/stylesheets/application.css~ b/app/assets/stylesheets/application.css~ new file mode 100644 index 000000000..fc25b5723 --- /dev/null +++ b/app/assets/stylesheets/application.css~ @@ -0,0 +1,7 @@ +/* + * This is a manifest file that'll automatically include all the stylesheets available in this directory + * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at + * the top of the compiled file, but it's generally better to create a new file per style scope. + *= require_self + *= require_tree .  +*/
\ No newline at end of file diff --git a/app/assets/stylesheets/legacy.css.scss b/app/assets/stylesheets/legacy.css.scss new file mode 100644 index 000000000..2db0a3fa4 --- /dev/null +++ b/app/assets/stylesheets/legacy.css.scss @@ -0,0 +1,203 @@ +@mixin div_for_object { +    margin-bottom: 20px; + +    a.preview { +        text-decoration: none;                    +    } +         +    img { +        float: left; +        margin-right: 10px; +    } +    a {  +        display:block; +        text-decoration: underline; +        margin-bottom: 3px; +    } +    .info { +        font-size: 12px; +        color: #777; +        font-weight: normal; +        line-height: 18px; +         +        a { +            display:inline; +            color: #095495; +        } +    } +} + +@mixin after_div_for_object { +    content: " ";   +    display: block;  +    height: 0;  +    clear: left; +    visibility: hidden; +} + +.line, .line_group, .stop_area, .service_link, .network, .service_link_stop_point, .indicator { +    @include div_for_object; +} + +.line:after, .line_group:after, .stop_area:after, .service_link:after, .network:after, .service_link_stop_point:after, .journey_pattern:after, .indicator:after {  +    @include after_div_for_object; +} + +.line_show .summary{ +    height: 250px; +    min-height: 250px; +} + +.line { +    .color { +        width: 64px; +        height: 64px; +        float: left; +        margin-right: 10px; +        a { +            text-decoration: none;                    +        } +    } + +    .code {      +        font-size: 16px; +        text-align: center; +        color: white; +        font-weight: bold; +        padding-top: 21px; +    }  + +    .number {      +        font-size: 16px; +        text-align: center; +        color: white; +        font-weight: bold; +        padding-top: 21px; +    }    +} + +.journey_pattern{ +    float: left; +    padding: 10px; +     +    .headers{ +        background-color: #b78db7; +        text-align: center; +        padding: 5px; +         +        img{ +            vertical-align: text-bottom; +            margin-left: 5px; +        } +    } + +    .even{ +        background-color: #eed7f1; +        padding: 5px; +         +        img{ +            vertical-align: text-bottom; +            margin-right: 5px; +        } +    } +     +    .odd{ +        padding: 5px; + +        img{ +            vertical-align: text-bottom; +            margin-right: 5px; +        } +    } +}          + +.network +{ +    .map{ +        width: 50px; +        height: 50px; +        float: left; +        margin-right: 10px; +        background: url("../images/icons/viewer.png") no-repeat; +     }    +     +    a.viewer { +        background: url("../images/icons/viewer.png") no-repeat; +    } +} + +.stop_area { +    .info { +        .warning { +            background: url("../images/icons/warning.png") 0 100% no-repeat; +            padding-left: 20px; +        } +    } +} + +#map.stop_area, #map.service_link, #map.line { +    float: right; +    width: 400px; +    height: 250px; +} + +.service_link { + +    #service_link_stop_points { +        li { +            margin-bottom: 1.5em; +        } +        li.stop_area { +            padding-left: 26px; +        } +        fieldset > ol > li { +            margin-bottom: 0; +        } +    } + +    a { +        display: inline; +    } + +    a.remove { +        float: left; +        img { +            margin: 4px 10px 0 0; +        } +    } + +    .buttons{ +        margin-top: 20px; +    } + + +} + +.indicator{ + +} + +div.auto_complete { +    width: 350px; +    background: #fff; + +    ul { +        border:1px solid #888; +        margin:0; +        padding:0; +        width:100%; +        list-style-type:none; +    } +    ul li { +        margin:0; +        padding:3px; +    } +    ul li.selected { +        background-color: #ffb; +    } +    ul strong.highlight { +        color: #800; +        margin:0; +        padding:0; +    } +} diff --git a/app/assets/stylesheets/legacy.css.scss~ b/app/assets/stylesheets/legacy.css.scss~ new file mode 100644 index 000000000..c0a62056d --- /dev/null +++ b/app/assets/stylesheets/legacy.css.scss~ @@ -0,0 +1,195 @@ +.div_for_object() { +    margin-bottom: 20px; + +    a.preview { +        text-decoration: none;                    +    } +         +    img { +        float: left; +        margin-right: 10px; +    } +    a {  +        display:block; +        text-decoration: underline; +        margin-bottom: 3px; +    } +    .info { +        font-size: 12px; +        color: #777; +        font-weight: normal; +        line-height: 18px; +         +        a { +            display:inline; +            color: #095495; +        } +    } +} + +.after_div_for_object() { +    content: " ";   +    display: block;  +    height: 0;  +    clear: left; +    visibility: hidden; +} + +.line, .line_group, .stop_area, .service_link, .network, .service_link_stop_point, .indicator { +    .div_for_object; +} + +.line:after, .line_group:after, .stop_area:after, .service_link:after, .network:after, .service_link_stop_point:after, .journey_pattern:after, .indicator:after {  +    .after_div_for_object; +} + +.line_show .summary{ +    height: 250px; +    min-height: 250px; +} + +.line { +    .color { +        width: 64px; +        height: 64px; +        float: left; +        margin-right: 10px; +        a { +            text-decoration: none;                    +        } +    } + +    .code {      +        font-size: 16px; +        text-align: center; +        color: white; +        font-weight: bold; +        padding-top: 21px; +    }  +} + +.journey_pattern{ +    float: left; +    padding: 10px; +     +    .headers{ +        background-color: #b78db7; +        text-align: center; +        padding: 5px; +         +        img{ +            vertical-align: text-bottom; +            margin-left: 5px; +        } +    } + +    .even{ +        background-color: #eed7f1; +        padding: 5px; +         +        img{ +            vertical-align: text-bottom; +            margin-right: 5px; +        } +    } +     +    .odd{ +        padding: 5px; + +        img{ +            vertical-align: text-bottom; +            margin-right: 5px; +        } +    } +}          + +.network +{ +    .map{ +        width: 50px; +        height: 50px; +        float: left; +        margin-right: 10px; +        background: url("../images/icons/viewer.png") no-repeat; +     }    +     +    a.viewer { +        background: url("../images/icons/viewer.png") no-repeat; +    } +} + +.stop_area { +    .info { +        .warning { +            background: url("../images/icons/warning.png") 0 100% no-repeat; +            padding-left: 20px; +        } +    } +} + +#map.stop_area, #map.service_link, #map.line { +    float: right; +    width: 400px; +    height: 250px; +} + +.service_link { + +    #service_link_stop_points { +        li { +            margin-bottom: 1.5em; +        } +        li.stop_area { +            padding-left: 26px; +        } +        fieldset > ol > li { +            margin-bottom: 0; +        } +    } + +    a { +        display: inline; +    } + +    a.remove { +        float: left; +        img { +            margin: 4px 10px 0 0; +        } +    } + +    .buttons{ +        margin-top: 20px; +    } + + +} + +.indicator{ + +} + +div.auto_complete { +    width: 350px; +    background: #fff; + +    ul { +        border:1px solid #888; +        margin:0; +        padding:0; +        width:100%; +        list-style-type:none; +    } +    ul li { +        margin:0; +        padding:3px; +    } +    ul li.selected { +        background-color: #ffb; +    } +    ul strong.highlight { +        color: #800; +        margin:0; +        padding:0; +    } +} diff --git a/app/assets/stylesheets/lines.css.scss b/app/assets/stylesheets/lines.css.scss new file mode 100644 index 000000000..59ec845d3 --- /dev/null +++ b/app/assets/stylesheets/lines.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the lines controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/welcome.css.scss b/app/assets/stylesheets/welcome.css.scss new file mode 100644 index 000000000..77ce11a74 --- /dev/null +++ b/app/assets/stylesheets/welcome.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the welcome controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb new file mode 100644 index 000000000..e8065d950 --- /dev/null +++ b/app/controllers/application_controller.rb @@ -0,0 +1,3 @@ +class ApplicationController < ActionController::Base +  protect_from_forgery +end diff --git a/app/controllers/lines_controller.rb b/app/controllers/lines_controller.rb new file mode 100644 index 000000000..3a986b27c --- /dev/null +++ b/app/controllers/lines_controller.rb @@ -0,0 +1,4 @@ +class LinesController < InheritedResources::Base +  defaults :resource_class => Chouette::Line + +end diff --git a/app/controllers/lines_controller.rb~ b/app/controllers/lines_controller.rb~ new file mode 100644 index 000000000..81710ab8f --- /dev/null +++ b/app/controllers/lines_controller.rb~ @@ -0,0 +1,2 @@ +class LinesController < ApplicationController +end diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb new file mode 100644 index 000000000..f9b859b9c --- /dev/null +++ b/app/controllers/welcome_controller.rb @@ -0,0 +1,4 @@ +class WelcomeController < ApplicationController +  def index +  end +end diff --git a/app/controllers/welcome_controller.rb~ b/app/controllers/welcome_controller.rb~ new file mode 100644 index 000000000..d8c85ab84 --- /dev/null +++ b/app/controllers/welcome_controller.rb~ @@ -0,0 +1,2 @@ +class WelcomeController < ApplicationController +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb new file mode 100644 index 000000000..a16d32d46 --- /dev/null +++ b/app/helpers/application_helper.rb @@ -0,0 +1,7 @@ +module ApplicationHelper +  +  def chouette_line_path(line) +    line_path(line) +  end +   +end diff --git a/app/helpers/application_helper.rb~ b/app/helpers/application_helper.rb~ new file mode 100644 index 000000000..de6be7945 --- /dev/null +++ b/app/helpers/application_helper.rb~ @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/app/helpers/lines_helper.rb b/app/helpers/lines_helper.rb new file mode 100644 index 000000000..a03868a0a --- /dev/null +++ b/app/helpers/lines_helper.rb @@ -0,0 +1,2 @@ +module LinesHelper +end diff --git a/app/helpers/title_helper.rb b/app/helpers/title_helper.rb new file mode 100644 index 000000000..f5219276b --- /dev/null +++ b/app/helpers/title_helper.rb @@ -0,0 +1,15 @@ +module TitleHelper + +  def title(title = nil) +    if title +      @title = title  +    else +      @title +    end +  end + +  def title_tag(title, options = nil) +    content_tag :h2, title(title), options +  end + +end diff --git a/app/helpers/title_helper.rb~ b/app/helpers/title_helper.rb~ new file mode 100644 index 000000000..aba7cc490 --- /dev/null +++ b/app/helpers/title_helper.rb~ @@ -0,0 +1,11 @@ +module TitleHelper + +  def title(title = nil) +    if title +      @title = title  +    else +      @title +    end +  end + +end diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb new file mode 100644 index 000000000..eeead45fc --- /dev/null +++ b/app/helpers/welcome_helper.rb @@ -0,0 +1,2 @@ +module WelcomeHelper +end diff --git a/app/mailers/.gitkeep b/app/mailers/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/app/mailers/.gitkeep diff --git a/app/models/.gitkeep b/app/models/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/app/models/.gitkeep diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb new file mode 100644 index 000000000..048347894 --- /dev/null +++ b/app/views/layouts/application.html.erb @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +  <head> +    <title>CHOUETTE - <%= title %></title> +    <%= stylesheet_link_tag :application %>       +    <%= javascript_include_tag :application %> +    <%= 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"> +      <div class="infos"> +        <h1>Chouette</h1> +      </div> + +      <div class="tabs"> +        <ul class="main"> +          <li><%= tab_link_to "Lines", lines_path %></li> +        </ul> +      </div> +    </div> +    <div id="body"> +      <div id="flash"> +        <% flash_tag flash %> +      </div> +      <div id="workspace" class="<%= controller_name %> <%= action_name %>"> +        <%= yield %> +      </div> +      <div id="sidebar"> +        <%= yield :sidebar %> +      </div> +    </div> +  </body> +</html> diff --git a/app/views/layouts/application.html.erb~ b/app/views/layouts/application.html.erb~ new file mode 100644 index 000000000..183dd3b57 --- /dev/null +++ b/app/views/layouts/application.html.erb~ @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> +  <head> +    <title>Kyriel - <%= title %></title> +    <%= stylesheet_link_tag :application %>       +    <%= javascript_include_tag :application %> +    <%= 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"> +      <div class="infos">        +      </div> + +      <div class="tabs"> +        <ul class="main"> +           +        </ul> +      </div> +    </div> +    <div id="body"> +      <div id="flash"> +        <% flash.each_pair do |type, message| %> +          <%= content_tag :div, message, :class => type %> +        <% end %> +      </div> +      <div id="workspace" class="<%= controller_name %> <%= action_name %>"> +        <%= yield %> +      </div> +      <div id="sidebar"> +        <%= yield :sidebar %> +      </div> +    </div> +  </body> +</html> diff --git a/app/views/lines/_form.erb b/app/views/lines/_form.erb new file mode 100644 index 000000000..4d1a049b2 --- /dev/null +++ b/app/views/lines/_form.erb @@ -0,0 +1,11 @@ +<% semantic_form_for @line do |form| %> +  <% form.inputs do %>  +    <%= form.input :name %> +    <%= form.input :number %>           +  <% end %> + +  <% form.buttons do %> +    <%= form.commit_button %> +    ou <%= link_to "revenir", @line %> +  <% end %> +<% end %> diff --git a/app/views/lines/_form.erb~ b/app/views/lines/_form.erb~ new file mode 100644 index 000000000..b4c702187 --- /dev/null +++ b/app/views/lines/_form.erb~ @@ -0,0 +1,13 @@ +<% semantic_form_for [@network, @line] do |form| %> +  <% form.inputs do %>  +    <%= form.input :name %> +    <%= form.input :code %> +    <%= form.input :priority, :as => :select, :collection => Potimart::Line.priorities %>  +    <%= form.input :color, :input_html => {:onclick => "startColorPicker(this)", :onkeyup => "maskedHex(this)"}%>                      +  <% end %> + +  <% form.buttons do %> +    <%= form.commit_button %> +    ou <%= link_to "revenir", [@network, @line] %> +  <% end %> +<% end %> diff --git a/app/views/lines/_line.erb b/app/views/lines/_line.erb new file mode 100644 index 000000000..7fd0daded --- /dev/null +++ b/app/views/lines/_line.erb @@ -0,0 +1,11 @@ +<%= div_for(line) do %> + <%= link_to(line, :class => "preview") do %> +    <div class="color" style="background-color: grey "> +      <div class="number"><%= line.number %></div> +    </div> +  <% end %> +  <%= link_to line.name, line %> +  <div class="info"> + +  </div> +<% end %> diff --git a/app/views/lines/_line.erb~ b/app/views/lines/_line.erb~ new file mode 100644 index 000000000..82873971a --- /dev/null +++ b/app/views/lines/_line.erb~ @@ -0,0 +1,16 @@ +<% div_for(line) do %> +  <% link_to(line, :class => "preview") do %> +    <div class="color" style="background-color: <%= line.color or 'grey' %>"><div class="code"><%= line.code%></div></div> +  <% end %> +  <%= link_to line.name, line %> +  <div class="info"> +    <% if !line.journey_patterns.main.nil? %>    +      <p>    +        <%= line.journey_patterns.main.departure %> - <%= line.journey_patterns.main.arrival %> +      </p> +    <% end %> +    <p> +      <%= line.journey_patterns.count %> missions +    </p> +  </div> +<% end %> diff --git a/app/views/lines/edit.html.erb b/app/views/lines/edit.html.erb new file mode 100644 index 000000000..491a821fa --- /dev/null +++ b/app/views/lines/edit.html.erb @@ -0,0 +1,3 @@ +<%= title_tag "Modifier la Ligne #{@line.name}" %> + +<%= render "form" %> diff --git a/app/views/lines/index.html.erb b/app/views/lines/index.html.erb new file mode 100644 index 000000000..d76172269 --- /dev/null +++ b/app/views/lines/index.html.erb @@ -0,0 +1,10 @@ +<%= title_tag "Lignes" %> + +<%= render :partial => "line", :collection => @lines %> + +<% content_for :sidebar do %> +<ul class="actions"> +  <li><%= link_to "Créer une Ligne", new_line_path, :class => "add" %></li> +  <br> +</ul> +<% end %> diff --git a/app/views/lines/index.html.erb~ b/app/views/lines/index.html.erb~ new file mode 100644 index 000000000..f357772fa --- /dev/null +++ b/app/views/lines/index.html.erb~ @@ -0,0 +1,18 @@ +<div class="order"> +  Trier par  +  <%= link_to_order "Code", "code" %> |  +  <%= link_to_order "Priorité", "priority" %> |  +  <%= link_to_order "Nom", "name" %> +</div> + +<%= title_tag "Lignes" %> + +<%= render :partial => "line", :collection => @lines %> + +<% content_for :sidebar do %> +<ul class="actions"> +  <li><%= link_to "Créer une Ligne", new_network_line_path(@network), :class => "add" %></li> +  <br> +  <li><%= link_to "Export KML", network_lines_path(@network, :format => :kml), :class => "kml" %></li> +</ul> +<% end %> diff --git a/app/views/lines/new.html.erb b/app/views/lines/new.html.erb new file mode 100644 index 000000000..d580a2aae --- /dev/null +++ b/app/views/lines/new.html.erb @@ -0,0 +1,3 @@ +<%= title_tag "Créer la Ligne" %> + +<%= render "form" %> diff --git a/app/views/lines/show.html.erb b/app/views/lines/show.html.erb new file mode 100644 index 000000000..cf60567f1 --- /dev/null +++ b/app/views/lines/show.html.erb @@ -0,0 +1,27 @@ +<%= title_tag "Ligne #{@line.name}" %> + +<div class="line_show"> + +  <div class="summary"> +    <p> +      <label>Nom :</label> +      <%= @line.name %> +    </p> +    <p> +      <label>Code :</label> +      <%= @line.number %> +    </p> +    <p> +      <label>Identifiant Chouette :</label> +      <%= @line.registrationnumber %> +    </p> +  </div> +</div> + +<% content_for :sidebar do %> +<ul class="actions"> +  <li><%= link_to t('lines.actions.edit'), edit_line_path(@line), :class => "edit" %></li> +  <li><%= link_to  t('lines.actions.destroy'), line_path(@line), :method => :delete, :confirm => "Etes vous sûr de supprimer la ligne #{@line.name} ?", :class => "remove" %></li> +  <br> +</ul> +<% end %> diff --git a/app/views/lines/show.html.erb~ b/app/views/lines/show.html.erb~ new file mode 100644 index 000000000..fe9ddaca6 --- /dev/null +++ b/app/views/lines/show.html.erb~ @@ -0,0 +1,45 @@ +<%= title_tag "Ligne #{@line.name}" %> + +<div class="line_show"> +  <%= @map.to_html %> + +  <div class="summary"> +    <p> +      <label>Nom :</label> +      <%= @line.name %> +    </p> +    <p> +      <label>Code :</label> +      <%= @line.code %> +    </p> +    <p> +      <label>Priorité :</label> +      <%= @line.priority %> +    </p +       <p> +         <label>Couleur :</label> +         <span style="background-color: <%= @line.color %>"> +           <%= @line.color %> +         </span> +       </p> +    <p> +      <label>Identifiant Chouette :</label> +      <%= @line.chouette_id %> +    </p> +  </div> +  <div class="journey_patterns"> +    <h3>Missions</h3> +    <%= render :partial => "journey_patterns/journey_pattern", :collection => @line.journey_patterns %> +  </div> +</div> + +<% content_for :sidebar do %> +<ul class="actions"> +  <li><%= link_to t('lines.actions.edit'), edit_network_line_path(@network, @line), :class => "edit" %></li> +  <li><%= link_to  t('lines.actions.destroy'), network_line_path(@network, @line), :method => :delete, :confirm => "Etes vous sûr de supprimer la ligne #{@line.name} ?", :class => "remove" %></li> +  <li><%= link_to "Ajouter un Arrêt", new_network_line_line_stop_point_path(@network, @line), :class => "add" %></li> +  <br> +  <li><%= link_to "Export CSV", network_line_path(@network, @line, :format => :csv), :class => "csv" %></li> +  <li><%= link_to "Export KML", network_line_path(@network, @line, :format => :kml), :class => "kml" %></li> +</ul> +<% end %> diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/app/views/welcome/index.html.erb diff --git a/app/views/welcome/index.html.erb~ b/app/views/welcome/index.html.erb~ new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/app/views/welcome/index.html.erb~ diff --git a/config.ru b/config.ru new file mode 100644 index 000000000..6093644d8 --- /dev/null +++ b/config.ru @@ -0,0 +1,4 @@ +# This file is used by Rack-based servers to start the application. + +require ::File.expand_path('../config/environment',  __FILE__) +run ChouetteIhm::Application diff --git a/config/application.rb b/config/application.rb new file mode 100644 index 000000000..230e9e8a2 --- /dev/null +++ b/config/application.rb @@ -0,0 +1,48 @@ +require File.expand_path('../boot', __FILE__) + +require 'rails/all' + +if defined?(Bundler) +  # If you precompile assets before deploying to production, use this line +  Bundler.require(*Rails.groups(:assets => %w(development test))) +  # If you want your assets lazily compiled in production, use this line +  # Bundler.require(:default, :assets, Rails.env) +end + +module ChouetteIhm +  class Application < Rails::Application +    # Settings in config/environments/* take precedence over those specified here. +    # Application configuration should go into files in config/initializers +    # -- all .rb files in that directory are automatically loaded. + +    # Custom directories with classes and modules you want to be autoloadable. +    # config.autoload_paths += %W(#{config.root}/extras) + +    # Only load the plugins named here, in the order given (default is alphabetical). +    # :all can be used as a placeholder for all plugins not explicitly named. +    # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + +    # Activate observers that should always be running. +    # config.active_record.observers = :cacher, :garbage_collector, :forum_observer + +    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. +    # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. +    # config.time_zone = 'Central Time (US & Canada)' + +    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. +    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] +    # config.i18n.default_locale = :de + +    # Configure the default encoding used in templates for Ruby 1.9. +    config.encoding = "utf-8" + +    # Configure sensitive parameters which will be filtered from the log file. +    config.filter_parameters += [:password] + +    # Enable the asset pipeline +    config.assets.enabled = true + +    # Version of your assets, change this if you want to expire all your assets +    config.assets.version = '1.0' +  end +end diff --git a/config/boot.rb b/config/boot.rb new file mode 100644 index 000000000..4489e5868 --- /dev/null +++ b/config/boot.rb @@ -0,0 +1,6 @@ +require 'rubygems' + +# Set up gems listed in the Gemfile. +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) + +require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE']) diff --git a/config/database.yml b/config/database.yml new file mode 100644 index 000000000..317b1c4a9 --- /dev/null +++ b/config/database.yml @@ -0,0 +1,24 @@ +# SQLite version 3.x +#   gem 'activerecord-jdbcsqlite3-adapter' +# +# Configure Using Gemfile +# gem 'activerecord-jdbcsqlite3-adapter' +# +development: +  adapter: jdbcpostgresql +  database: chouette +  schema_search_path: avignon +  hostname: localhost +  username: luc +  password: monalisa + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: +  adapter: jdbcpostgresql +  database: db/test.sqlite3 + +production: +  adapter: jdbcpostgresql +  database: db/production.sqlite3 diff --git a/config/database.yml~ b/config/database.yml~ new file mode 100644 index 000000000..175f3eb3d --- /dev/null +++ b/config/database.yml~ @@ -0,0 +1,20 @@ +# SQLite version 3.x +#   gem 'activerecord-jdbcsqlite3-adapter' +# +# Configure Using Gemfile +# gem 'activerecord-jdbcsqlite3-adapter' +# +development: +  adapter: sqlite3 +  database: db/development.sqlite3 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: +  adapter: sqlite3 +  database: db/test.sqlite3 + +production: +  adapter: sqlite3 +  database: db/production.sqlite3 diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 000000000..cc30ece2d --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,5 @@ +# Load the rails application +require File.expand_path('../application', __FILE__) + +# Initialize the rails application +ChouetteIhm::Application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb new file mode 100644 index 000000000..018ed37d6 --- /dev/null +++ b/config/environments/development.rb @@ -0,0 +1,30 @@ +ChouetteIhm::Application.configure do +  # Settings specified here will take precedence over those in config/application.rb + +  # In the development environment your application's code is reloaded on +  # every request.  This slows down response time but is perfect for development +  # since you don't have to restart the web server when you make code changes. +  config.cache_classes = false + +  # Log error messages when you accidentally call methods on nil. +  config.whiny_nils = true + +  # Show full error reports and disable caching +  config.consider_all_requests_local       = true +  config.action_controller.perform_caching = false + +  # Don't care if the mailer can't send +  config.action_mailer.raise_delivery_errors = false + +  # Print deprecation notices to the Rails logger +  config.active_support.deprecation = :log + +  # Only use best-standards-support built into browsers +  config.action_dispatch.best_standards_support = :builtin + +  # Do not compress assets +  config.assets.compress = false + +  # Expands the lines which load the assets +  config.assets.debug = true +end diff --git a/config/environments/production.rb b/config/environments/production.rb new file mode 100644 index 000000000..88da4e763 --- /dev/null +++ b/config/environments/production.rb @@ -0,0 +1,60 @@ +ChouetteIhm::Application.configure do +  # Settings specified here will take precedence over those in config/application.rb + +  # Code is not reloaded between requests +  config.cache_classes = true + +  # Full error reports are disabled and caching is turned on +  config.consider_all_requests_local       = false +  config.action_controller.perform_caching = true + +  # Disable Rails's static asset server (Apache or nginx will already do this) +  config.serve_static_assets = false + +  # Compress JavaScripts and CSS +  config.assets.compress = true + +  # Don't fallback to assets pipeline if a precompiled asset is missed +  config.assets.compile = false + +  # Generate digests for assets URLs +  config.assets.digest = true + +  # Defaults to Rails.root.join("public/assets") +  # config.assets.manifest = YOUR_PATH + +  # Specifies the header that your server uses for sending files +  # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache +  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx + +  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. +  # config.force_ssl = true + +  # See everything in the log (default is :info) +  # config.log_level = :debug + +  # Use a different logger for distributed setups +  # config.logger = SyslogLogger.new + +  # Use a different cache store in production +  # config.cache_store = :mem_cache_store + +  # Enable serving of images, stylesheets, and JavaScripts from an asset server +  # config.action_controller.asset_host = "http://assets.example.com" + +  # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) +  # config.assets.precompile += %w( search.js ) + +  # Disable delivery errors, bad email addresses will be ignored +  # config.action_mailer.raise_delivery_errors = false + +  # Enable threaded mode +  # config.threadsafe! + +  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to +  # the I18n.default_locale when a translation can not be found) +  config.i18n.fallbacks = true + +  # Send deprecation notices to registered listeners +  config.active_support.deprecation = :notify +end diff --git a/config/environments/test.rb b/config/environments/test.rb new file mode 100644 index 000000000..65af28c5c --- /dev/null +++ b/config/environments/test.rb @@ -0,0 +1,39 @@ +ChouetteIhm::Application.configure do +  # Settings specified here will take precedence over those in config/application.rb + +  # The test environment is used exclusively to run your application's +  # test suite.  You never need to work with it otherwise.  Remember that +  # your test database is "scratch space" for the test suite and is wiped +  # and recreated between test runs.  Don't rely on the data there! +  config.cache_classes = true + +  # Configure static asset server for tests with Cache-Control for performance +  config.serve_static_assets = true +  config.static_cache_control = "public, max-age=3600" + +  # Log error messages when you accidentally call methods on nil +  config.whiny_nils = true + +  # Show full error reports and disable caching +  config.consider_all_requests_local       = true +  config.action_controller.perform_caching = false + +  # Raise exceptions instead of rendering exception templates +  config.action_dispatch.show_exceptions = false + +  # Disable request forgery protection in test environment +  config.action_controller.allow_forgery_protection    = false + +  # Tell Action Mailer not to deliver emails to the real world. +  # The :test delivery method accumulates sent emails in the +  # ActionMailer::Base.deliveries array. +  config.action_mailer.delivery_method = :test + +  # Use SQL instead of Active Record's schema dumper when creating the test database. +  # This is necessary if your schema can't be completely dumped by the schema dumper, +  # like if you have constraints or database-specific column types +  # config.active_record.schema_format = :sql + +  # Print deprecation notices to the stderr +  config.active_support.deprecation = :stderr +end diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb new file mode 100644 index 000000000..59385cdf3 --- /dev/null +++ b/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb new file mode 100644 index 000000000..9e8b0131f --- /dev/null +++ b/config/initializers/inflections.rb @@ -0,0 +1,10 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format +# (all these examples are active by default): +# ActiveSupport::Inflector.inflections do |inflect| +#   inflect.plural /^(ox)$/i, '\1en' +#   inflect.singular /^(ox)en/i, '\1' +#   inflect.irregular 'person', 'people' +#   inflect.uncountable %w( fish sheep ) +# end diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb new file mode 100644 index 000000000..72aca7e44 --- /dev/null +++ b/config/initializers/mime_types.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf +# Mime::Type.register_alias "text/html", :iphone diff --git a/config/initializers/ninoxe.rb b/config/initializers/ninoxe.rb new file mode 100644 index 000000000..32b40ebda --- /dev/null +++ b/config/initializers/ninoxe.rb @@ -0,0 +1,9 @@ +class Chouette::Line +  def self.model_name +    name = "Line" +    def name.name +      self +    end +    ActiveModel::Name.new name +  end +end diff --git a/config/initializers/ninoxe.rb~ b/config/initializers/ninoxe.rb~ new file mode 100644 index 000000000..72136a660 --- /dev/null +++ b/config/initializers/ninoxe.rb~ @@ -0,0 +1,5 @@ +class Chouette::Line +  def self.model_name +    AciveModel::Name.new("Line") +  end +end diff --git a/config/initializers/secret_token.rb b/config/initializers/secret_token.rb new file mode 100644 index 000000000..033ba4033 --- /dev/null +++ b/config/initializers/secret_token.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +ChouetteIhm::Application.config.secret_token = 'd96f21039d643a92629a6c5c5f9d21864dc05e8ea3dd81295a10ee8ee1138a671bc5693fe618a3af08bb60f7d6494ff650e1b73237460b9213f1333e187853f4' diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb new file mode 100644 index 000000000..a5cc92f42 --- /dev/null +++ b/config/initializers/session_store.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +ChouetteIhm::Application.config.session_store :cookie_store, :key => '_chouette_ihm_session' + +# Use the database for sessions instead of the cookie-based default, +# which shouldn't be used to store highly confidential information +# (create the session table with "rails generate session_migration") +# ChouetteIhm::Application.config.session_store :active_record_store diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb new file mode 100644 index 000000000..da4fb076f --- /dev/null +++ b/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do +  wrap_parameters :format => [:json] +end + +# Disable root element in JSON by default. +ActiveSupport.on_load(:active_record) do +  self.include_root_in_json = false +end diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 000000000..179c14ca5 --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,5 @@ +# Sample localization file for English. Add more files in this directory for other locales. +# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. + +en: +  hello: "Hello world" diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 000000000..53fcaae98 --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,59 @@ +ChouetteIhm::Application.routes.draw do +  # The priority is based upon order of creation: +  # first created -> highest priority. + +  # Sample of regular route: +  #   match 'products/:id' => 'catalog#view' +  # Keep in mind you can assign values other than :controller and :action + +  # Sample of named route: +  #   match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase +  # This route can be invoked with purchase_url(:id => product.id) + +  # Sample resource route (maps HTTP verbs to controller actions automatically): +  #   resources :products +  resources :lines + +  # Sample resource route with options: +  #   resources :products do +  #     member do +  #       get 'short' +  #       post 'toggle' +  #     end +  # +  #     collection do +  #       get 'sold' +  #     end +  #   end + +  # Sample resource route with sub-resources: +  #   resources :products do +  #     resources :comments, :sales +  #     resource :seller +  #   end + +  # Sample resource route with more complex sub-resources +  #   resources :products do +  #     resources :comments +  #     resources :sales do +  #       get 'recent', :on => :collection +  #     end +  #   end + +  # Sample resource route within a namespace: +  #   namespace :admin do +  #     # Directs /admin/products/* to Admin::ProductsController +  #     # (app/controllers/admin/products_controller.rb) +  #     resources :products +  #   end + +  # You can have the root of your site routed with "root" +  # just remember to delete public/index.html. +  root :to => 'welcome#index' + +  # See how all your routes lay out with "rake routes" + +  # This is a legacy wild controller route that's not recommended for RESTful applications. +  # Note: This route will make all actions in every controller accessible via GET requests. +  # match ':controller(/:action(/:id(.:format)))' +end diff --git a/config/routes.rb~ b/config/routes.rb~ new file mode 100644 index 000000000..e1d4c59c7 --- /dev/null +++ b/config/routes.rb~ @@ -0,0 +1,58 @@ +ChouetteIhm::Application.routes.draw do +  # The priority is based upon order of creation: +  # first created -> highest priority. + +  # Sample of regular route: +  #   match 'products/:id' => 'catalog#view' +  # Keep in mind you can assign values other than :controller and :action + +  # Sample of named route: +  #   match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase +  # This route can be invoked with purchase_url(:id => product.id) + +  # Sample resource route (maps HTTP verbs to controller actions automatically): +  #   resources :products + +  # Sample resource route with options: +  #   resources :products do +  #     member do +  #       get 'short' +  #       post 'toggle' +  #     end +  # +  #     collection do +  #       get 'sold' +  #     end +  #   end + +  # Sample resource route with sub-resources: +  #   resources :products do +  #     resources :comments, :sales +  #     resource :seller +  #   end + +  # Sample resource route with more complex sub-resources +  #   resources :products do +  #     resources :comments +  #     resources :sales do +  #       get 'recent', :on => :collection +  #     end +  #   end + +  # Sample resource route within a namespace: +  #   namespace :admin do +  #     # Directs /admin/products/* to Admin::ProductsController +  #     # (app/controllers/admin/products_controller.rb) +  #     resources :products +  #   end + +  # You can have the root of your site routed with "root" +  # just remember to delete public/index.html. +  # root :to => 'welcome#index' + +  # See how all your routes lay out with "rake routes" + +  # This is a legacy wild controller route that's not recommended for RESTful applications. +  # Note: This route will make all actions in every controller accessible via GET requests. +  # match ':controller(/:action(/:id(.:format)))' +end diff --git a/db/seeds.rb b/db/seeds.rb new file mode 100644 index 000000000..d34dfa024 --- /dev/null +++ b/db/seeds.rb @@ -0,0 +1,7 @@ +# This file should contain all the record creation needed to seed the database with its default values. +# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). +# +# Examples: +# +#   cities = City.create([{ :name => 'Chicago' }, { :name => 'Copenhagen' }]) +#   Mayor.create(:name => 'Emanuel', :city => cities.first) diff --git a/doc/README_FOR_APP b/doc/README_FOR_APP new file mode 100644 index 000000000..fe41f5cc2 --- /dev/null +++ b/doc/README_FOR_APP @@ -0,0 +1,2 @@ +Use this README file to introduce your application and point to useful places in the API for learning more. +Run "rake doc:app" to generate API documentation for your models, controllers, helpers, and libraries. diff --git a/lib/assets/.gitkeep b/lib/assets/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/assets/.gitkeep diff --git a/lib/tasks/.gitkeep b/lib/tasks/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/tasks/.gitkeep diff --git a/log/.gitkeep b/log/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/log/.gitkeep diff --git a/public/404.html b/public/404.html new file mode 100644 index 000000000..9a48320a5 --- /dev/null +++ b/public/404.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +  <title>The page you were looking for doesn't exist (404)</title> +  <style type="text/css"> +    body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } +    div.dialog { +      width: 25em; +      padding: 0 4em; +      margin: 4em auto 0 auto; +      border: 1px solid #ccc; +      border-right-color: #999; +      border-bottom-color: #999; +    } +    h1 { font-size: 100%; color: #f00; line-height: 1.5em; } +  </style> +</head> + +<body> +  <!-- This file lives in public/404.html --> +  <div class="dialog"> +    <h1>The page you were looking for doesn't exist.</h1> +    <p>You may have mistyped the address or the page may have moved.</p> +  </div> +</body> +</html> diff --git a/public/422.html b/public/422.html new file mode 100644 index 000000000..83660ab18 --- /dev/null +++ b/public/422.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +  <title>The change you wanted was rejected (422)</title> +  <style type="text/css"> +    body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } +    div.dialog { +      width: 25em; +      padding: 0 4em; +      margin: 4em auto 0 auto; +      border: 1px solid #ccc; +      border-right-color: #999; +      border-bottom-color: #999; +    } +    h1 { font-size: 100%; color: #f00; line-height: 1.5em; } +  </style> +</head> + +<body> +  <!-- This file lives in public/422.html --> +  <div class="dialog"> +    <h1>The change you wanted was rejected.</h1> +    <p>Maybe you tried to change something you didn't have access to.</p> +  </div> +</body> +</html> diff --git a/public/500.html b/public/500.html new file mode 100644 index 000000000..b80307fc1 --- /dev/null +++ b/public/500.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +  <title>We're sorry, but something went wrong (500)</title> +  <style type="text/css"> +    body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; } +    div.dialog { +      width: 25em; +      padding: 0 4em; +      margin: 4em auto 0 auto; +      border: 1px solid #ccc; +      border-right-color: #999; +      border-bottom-color: #999; +    } +    h1 { font-size: 100%; color: #f00; line-height: 1.5em; } +  </style> +</head> + +<body> +  <!-- This file lives in public/500.html --> +  <div class="dialog"> +    <h1>We're sorry, but something went wrong.</h1> +    <p>We've been notified about this issue and we'll take a look at it shortly.</p> +  </div> +</body> +</html> diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/public/favicon.ico diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 000000000..085187fa5 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,5 @@ +# See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file +# +# To ban all spiders from the entire site uncomment the next two lines: +# User-Agent: * +# Disallow: / diff --git a/script/rails b/script/rails new file mode 100755 index 000000000..94ecd36b3 --- /dev/null +++ b/script/rails @@ -0,0 +1,6 @@ +#!/usr/bin/env jruby +# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. + +APP_PATH = File.expand_path('../../config/application',  __FILE__) +require File.expand_path('../../config/boot',  __FILE__) +require 'rails/commands' diff --git a/test/fixtures/.gitkeep b/test/fixtures/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/fixtures/.gitkeep diff --git a/test/functional/.gitkeep b/test/functional/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/functional/.gitkeep diff --git a/test/functional/lines_controller_test.rb b/test/functional/lines_controller_test.rb new file mode 100644 index 000000000..7e8bfcd51 --- /dev/null +++ b/test/functional/lines_controller_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class LinesControllerTest < ActionController::TestCase +  # test "the truth" do +  #   assert true +  # end +end diff --git a/test/functional/welcome_controller_test.rb b/test/functional/welcome_controller_test.rb new file mode 100644 index 000000000..fb5085692 --- /dev/null +++ b/test/functional/welcome_controller_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class WelcomeControllerTest < ActionController::TestCase +  # test "the truth" do +  #   assert true +  # end +end diff --git a/test/integration/.gitkeep b/test/integration/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/integration/.gitkeep diff --git a/test/performance/browsing_test.rb b/test/performance/browsing_test.rb new file mode 100644 index 000000000..3fea27b91 --- /dev/null +++ b/test/performance/browsing_test.rb @@ -0,0 +1,12 @@ +require 'test_helper' +require 'rails/performance_test_help' + +class BrowsingTest < ActionDispatch::PerformanceTest +  # Refer to the documentation for all available options +  # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory] +  #                          :output => 'tmp/performance', :formats => [:flat] } + +  def test_homepage +    get '/' +  end +end diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 000000000..8bf1192ff --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,13 @@ +ENV["RAILS_ENV"] = "test" +require File.expand_path('../../config/environment', __FILE__) +require 'rails/test_help' + +class ActiveSupport::TestCase +  # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order. +  # +  # Note: You'll currently still have to declare fixtures explicitly in integration tests +  # -- they do not yet inherit this setting +  fixtures :all + +  # Add more helper methods to be used by all tests here... +end diff --git a/test/unit/.gitkeep b/test/unit/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/unit/.gitkeep diff --git a/test/unit/helpers/lines_helper_test.rb b/test/unit/helpers/lines_helper_test.rb new file mode 100644 index 000000000..f9353c9b7 --- /dev/null +++ b/test/unit/helpers/lines_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class LinesHelperTest < ActionView::TestCase +end diff --git a/test/unit/helpers/welcome_helper_test.rb b/test/unit/helpers/welcome_helper_test.rb new file mode 100644 index 000000000..d6ded5995 --- /dev/null +++ b/test/unit/helpers/welcome_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class WelcomeHelperTest < ActionView::TestCase +end diff --git a/vendor/assets/stylesheets/.gitkeep b/vendor/assets/stylesheets/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/vendor/assets/stylesheets/.gitkeep diff --git a/vendor/plugins/.gitkeep b/vendor/plugins/.gitkeep new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/vendor/plugins/.gitkeep | 
