GitHub Account angelegt
This commit is contained in:
22
.gitattributes
vendored
Normal file
22
.gitattributes
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Custom for Visual Studio
|
||||
*.cs diff=csharp
|
||||
*.sln merge=union
|
||||
*.csproj merge=union
|
||||
*.vbproj merge=union
|
||||
*.fsproj merge=union
|
||||
*.dbproj merge=union
|
||||
|
||||
# Standard to msysgit
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
15
.gitignore
vendored
Normal file
15
.gitignore
vendored
Normal file
@@ -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
|
||||
19
.project
Normal file
19
.project
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>fetsite</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.aptana.ide.core.unifiedBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.aptana.projects.webnature</nature>
|
||||
<nature>org.radrails.rails.core.railsnature</nature>
|
||||
<nature>com.aptana.ruby.core.rubynature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
55
Gemfile
Normal file
55
Gemfile
Normal file
@@ -0,0 +1,55 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'rails', '3.2.9'
|
||||
|
||||
# Bundle edge Rails instead:
|
||||
# gem 'rails', :git => 'git://github.com/rails/rails.git'
|
||||
|
||||
gem 'sqlite3'
|
||||
gem 'execjs'
|
||||
|
||||
|
||||
# Gems used only for assets and not required
|
||||
# in production environments by default.
|
||||
group :assets do
|
||||
gem 'sass-rails', '~> 3.2.3'
|
||||
gem 'coffee-rails', '~> 3.2.1'
|
||||
gem 'bootstrap-sass','~> 2.2.0'
|
||||
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
||||
gem 'therubyracer', :platforms => :ruby
|
||||
|
||||
gem 'uglifier', '>= 1.0.3'
|
||||
end
|
||||
|
||||
|
||||
gem 'jquery-rails'
|
||||
|
||||
# To use ActiveModel has_secure_password
|
||||
# gem 'bcrypt-ruby', '~> 3.0.0'
|
||||
|
||||
# To use Jbuilder templates for JSON
|
||||
# gem 'jbuilder'
|
||||
|
||||
# Use unicorn as the app server
|
||||
# gem 'unicorn'
|
||||
|
||||
# Deploy with Capistrano
|
||||
# gem 'capistrano'
|
||||
|
||||
# To use debugger
|
||||
# gem 'debugger'
|
||||
|
||||
# Formbuilder for easier form generation
|
||||
gem 'formtastic'
|
||||
gem 'formtastic-bootstrap'
|
||||
gem "tinymce-rails"
|
||||
|
||||
gem "globalize3"
|
||||
|
||||
gem "paper_trail"
|
||||
|
||||
gem "devise"
|
||||
|
||||
gem "rolify"
|
||||
|
||||
gem "cancan"
|
||||
150
Gemfile.lock
Normal file
150
Gemfile.lock
Normal file
@@ -0,0 +1,150 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actionmailer (3.2.9)
|
||||
actionpack (= 3.2.9)
|
||||
mail (~> 2.4.4)
|
||||
actionpack (3.2.9)
|
||||
activemodel (= 3.2.9)
|
||||
activesupport (= 3.2.9)
|
||||
builder (~> 3.0.0)
|
||||
erubis (~> 2.7.0)
|
||||
journey (~> 1.0.4)
|
||||
rack (~> 1.4.0)
|
||||
rack-cache (~> 1.2)
|
||||
rack-test (~> 0.6.1)
|
||||
sprockets (~> 2.2.1)
|
||||
activemodel (3.2.9)
|
||||
activesupport (= 3.2.9)
|
||||
builder (~> 3.0.0)
|
||||
activerecord (3.2.9)
|
||||
activemodel (= 3.2.9)
|
||||
activesupport (= 3.2.9)
|
||||
arel (~> 3.0.2)
|
||||
tzinfo (~> 0.3.29)
|
||||
activeresource (3.2.9)
|
||||
activemodel (= 3.2.9)
|
||||
activesupport (= 3.2.9)
|
||||
activesupport (3.2.9)
|
||||
i18n (~> 0.6)
|
||||
multi_json (~> 1.0)
|
||||
arel (3.0.2)
|
||||
bcrypt-ruby (3.0.1)
|
||||
bcrypt-ruby (3.0.1-x86-mingw32)
|
||||
bootstrap-sass (2.2.2.0)
|
||||
sass (~> 3.2)
|
||||
builder (3.0.4)
|
||||
cancan (1.6.8)
|
||||
coffee-rails (3.2.2)
|
||||
coffee-script (>= 2.2.0)
|
||||
railties (~> 3.2.0)
|
||||
coffee-script (2.2.0)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.4.0)
|
||||
devise (2.2.1)
|
||||
bcrypt-ruby (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
railties (~> 3.1)
|
||||
warden (~> 1.2.1)
|
||||
erubis (2.7.0)
|
||||
execjs (1.4.0)
|
||||
multi_json (~> 1.0)
|
||||
formtastic (2.2.1)
|
||||
actionpack (>= 3.0)
|
||||
formtastic-bootstrap (2.0.0)
|
||||
formtastic (~> 2.2)
|
||||
formtastic-bootstrap
|
||||
globalize3 (0.3.0)
|
||||
activemodel (>= 3.0.0)
|
||||
activerecord (>= 3.0.0)
|
||||
paper_trail (~> 2)
|
||||
hike (1.2.1)
|
||||
i18n (0.6.1)
|
||||
journey (1.0.4)
|
||||
jquery-rails (2.1.4)
|
||||
railties (>= 3.0, < 5.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
mail (2.4.4)
|
||||
i18n (>= 0.4.0)
|
||||
mime-types (~> 1.16)
|
||||
treetop (~> 1.4.8)
|
||||
mime-types (1.19)
|
||||
multi_json (1.5.0)
|
||||
orm_adapter (0.4.0)
|
||||
paper_trail (2.7.0)
|
||||
activerecord (~> 3.0)
|
||||
railties (~> 3.0)
|
||||
polyglot (0.3.3)
|
||||
rack (1.4.3)
|
||||
rack-cache (1.2)
|
||||
rack (>= 0.4)
|
||||
rack-ssl (1.3.2)
|
||||
rack
|
||||
rack-test (0.6.2)
|
||||
rack (>= 1.0)
|
||||
rails (3.2.9)
|
||||
actionmailer (= 3.2.9)
|
||||
actionpack (= 3.2.9)
|
||||
activerecord (= 3.2.9)
|
||||
activeresource (= 3.2.9)
|
||||
activesupport (= 3.2.9)
|
||||
bundler (~> 1.0)
|
||||
railties (= 3.2.9)
|
||||
railties (3.2.9)
|
||||
actionpack (= 3.2.9)
|
||||
activesupport (= 3.2.9)
|
||||
rack-ssl (~> 1.3.2)
|
||||
rake (>= 0.8.7)
|
||||
rdoc (~> 3.4)
|
||||
thor (>= 0.14.6, < 2.0)
|
||||
rake (10.0.3)
|
||||
rdoc (3.9.4)
|
||||
rolify (3.2.0)
|
||||
sass (3.2.3)
|
||||
sass-rails (3.2.5)
|
||||
railties (~> 3.2.0)
|
||||
sass (>= 3.1.10)
|
||||
tilt (~> 1.3)
|
||||
sprockets (2.2.2)
|
||||
hike (~> 1.2)
|
||||
multi_json (~> 1.0)
|
||||
rack (~> 1.0)
|
||||
tilt (~> 1.1, != 1.3.0)
|
||||
sqlite3 (1.3.6)
|
||||
sqlite3 (1.3.6-x86-mingw32)
|
||||
thor (0.16.0)
|
||||
tilt (1.3.3)
|
||||
tinymce-rails (3.5.8)
|
||||
railties (>= 3.1.1)
|
||||
treetop (1.4.12)
|
||||
polyglot
|
||||
polyglot (>= 0.3.1)
|
||||
tzinfo (0.3.35)
|
||||
uglifier (1.3.0)
|
||||
execjs (>= 0.3.0)
|
||||
multi_json (~> 1.0, >= 1.0.2)
|
||||
warden (1.2.1)
|
||||
rack (>= 1.0)
|
||||
|
||||
PLATFORMS
|
||||
x86-mingw32
|
||||
|
||||
DEPENDENCIES
|
||||
bootstrap-sass (~> 2.2.0)
|
||||
cancan
|
||||
coffee-rails (~> 3.2.1)
|
||||
devise
|
||||
execjs
|
||||
formtastic
|
||||
formtastic-bootstrap
|
||||
globalize3
|
||||
jquery-rails
|
||||
paper_trail
|
||||
rails (= 3.2.9)
|
||||
rolify
|
||||
sass-rails (~> 3.2.3)
|
||||
sqlite3
|
||||
therubyracer
|
||||
tinymce-rails
|
||||
uglifier (>= 1.0.3)
|
||||
261
README.rdoc
Normal file
261
README.rdoc
Normal file
@@ -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.
|
||||
7
Rakefile
Normal file
7
Rakefile
Normal file
@@ -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__)
|
||||
|
||||
Fetsite::Application.load_tasks
|
||||
BIN
app/assets/images/edit.png
Normal file
BIN
app/assets/images/edit.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 692 B |
BIN
app/assets/images/fet_logo_2.png
Normal file
BIN
app/assets/images/fet_logo_2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
BIN
app/assets/images/rails.png
Normal file
BIN
app/assets/images/rails.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.5 KiB |
17
app/assets/javascripts/application.js
Normal file
17
app/assets/javascripts/application.js
Normal file
@@ -0,0 +1,17 @@
|
||||
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
||||
// listed below.
|
||||
//
|
||||
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
||||
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
||||
//
|
||||
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
||||
// the compiled file.
|
||||
//
|
||||
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
||||
// GO AFTER THE REQUIRES BELOW.
|
||||
//
|
||||
//= require jquery
|
||||
//= require jquery_ujs
|
||||
//= require_tree .
|
||||
//= require tinymce-jquery
|
||||
//= require bootstrap
|
||||
3
app/assets/javascripts/lvas.js.coffee
Normal file
3
app/assets/javascripts/lvas.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/javascripts/modulgruppen.js.coffee
Normal file
3
app/assets/javascripts/modulgruppen.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/javascripts/moduls.js.coffee
Normal file
3
app/assets/javascripts/moduls.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/javascripts/neuigkeiten.js.coffee
Normal file
3
app/assets/javascripts/neuigkeiten.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/javascripts/rubriken.js.coffee
Normal file
3
app/assets/javascripts/rubriken.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/javascripts/semesters.js.coffee
Normal file
3
app/assets/javascripts/semesters.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/javascripts/studia.js.coffee
Normal file
3
app/assets/javascripts/studia.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/javascripts/studmods.js.coffee
Normal file
3
app/assets/javascripts/studmods.js.coffee
Normal file
@@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
||||
35
app/assets/stylesheets/application.css.scss
Normal file
35
app/assets/stylesheets/application.css.scss
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
||||
* listed below.
|
||||
*
|
||||
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
||||
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
||||
*
|
||||
* 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 .
|
||||
* require 'bootstrap'
|
||||
*/
|
||||
|
||||
@import 'bootstrap';
|
||||
@import 'bootstrap-responsive';
|
||||
h1
|
||||
{font-size: 23px}
|
||||
h2
|
||||
{font-size: 19px}
|
||||
body,html
|
||||
{padding:0;margin:0;}
|
||||
|
||||
div.header
|
||||
{display: block;
|
||||
background: url('/assets/fet_logo_2.png') rgb(200,200,200) no-repeat;
|
||||
background-position:15px center;
|
||||
height:60px;
|
||||
padding-left:160px;
|
||||
padding-top:0px;
|
||||
overflow:hidden
|
||||
}
|
||||
|
||||
|
||||
0
app/assets/stylesheets/layout.css.scss
Normal file
0
app/assets/stylesheets/layout.css.scss
Normal file
3
app/assets/stylesheets/lvas.css.scss
Normal file
3
app/assets/stylesheets/lvas.css.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
// Place all the styles related to the lvas controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
25
app/assets/stylesheets/modulgruppen.css.scss
Normal file
25
app/assets/stylesheets/modulgruppen.css.scss
Normal file
@@ -0,0 +1,25 @@
|
||||
// Place all the styles related to the modulgruppen controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
div.modulgruppe_phase_1, div.modulgruppe_phase_2, div.modulgruppe_phase_3
|
||||
{padding:10px;
|
||||
margin:2px;
|
||||
border-radius:10px;
|
||||
min-width:13em;
|
||||
}
|
||||
|
||||
div.modulgruppe_phase_1 , div.modulgruppe_phase_2
|
||||
{}
|
||||
|
||||
div.modulgruppe_phase_1
|
||||
{border: #91B4FF solid 2px;
|
||||
|
||||
}
|
||||
div.modulgruppe_phase_2
|
||||
{border: #FF7575 solid 2px;
|
||||
|
||||
}
|
||||
div.modulgruppe_phase_3
|
||||
{border: #41B300 solid 2px;
|
||||
|
||||
}
|
||||
3
app/assets/stylesheets/moduls.css.scss
Normal file
3
app/assets/stylesheets/moduls.css.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
// Place all the styles related to the moduls controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
3
app/assets/stylesheets/neuigkeiten.css.scss
Normal file
3
app/assets/stylesheets/neuigkeiten.css.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
// Place all the styles related to the neuigkeiten controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
4
app/assets/stylesheets/rubriken.css.scss
Normal file
4
app/assets/stylesheets/rubriken.css.scss
Normal file
@@ -0,0 +1,4 @@
|
||||
// Place all the styles related to the rubriken controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
|
||||
60
app/assets/stylesheets/scaffolds.css.scss
Normal file
60
app/assets/stylesheets/scaffolds.css.scss
Normal file
@@ -0,0 +1,60 @@
|
||||
body {
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
font-family: verdana, arial, helvetica, sans-serif;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
p, ol, ul, td {
|
||||
font-family: verdana, arial, helvetica, sans-serif;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
pre {
|
||||
background-color: #eee;
|
||||
padding: 10px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
div {
|
||||
&.field, &.actions {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#notice {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.field_with_errors {
|
||||
padding: 2px;
|
||||
background-color: red;
|
||||
display: table;
|
||||
}
|
||||
|
||||
#error_explanation {
|
||||
width: 450px;
|
||||
border: 2px solid red;
|
||||
padding: 7px;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 20px;
|
||||
background-color: #f0f0f0;
|
||||
h2 {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
padding: 5px 5px 5px 15px;
|
||||
font-size: 12px;
|
||||
margin: -7px;
|
||||
margin-bottom: 0px;
|
||||
background-color: #c00;
|
||||
color: #fff;
|
||||
}
|
||||
ul li {
|
||||
|
||||
list-style: square;
|
||||
}
|
||||
}
|
||||
3
app/assets/stylesheets/semesters.css.scss
Normal file
3
app/assets/stylesheets/semesters.css.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
// Place all the styles related to the semesters controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
3
app/assets/stylesheets/studien.css.scss
Normal file
3
app/assets/stylesheets/studien.css.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
// Place all the styles related to the studia controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
18
app/controllers/application_controller.rb
Normal file
18
app/controllers/application_controller.rb
Normal file
@@ -0,0 +1,18 @@
|
||||
class ApplicationController < ActionController::Base
|
||||
protect_from_forgery
|
||||
before_filter :set_i18n_locale_from_params
|
||||
protected
|
||||
def set_i18n_locale_from_params
|
||||
if params[:locale]
|
||||
if I18n.available_locales.include?(params[:locale].to_sym)
|
||||
I18n.locale=params[:locale].to_sym
|
||||
else
|
||||
flash.now[:notice]= "#{params[:locale]} translation not available"
|
||||
logger.error flash.now[:notice]
|
||||
end
|
||||
end
|
||||
end
|
||||
def default_url_options
|
||||
{locale: I18n.locale}
|
||||
end
|
||||
end
|
||||
6
app/controllers/home_controller.rb
Normal file
6
app/controllers/home_controller.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
class HomeController < ApplicationController
|
||||
def index
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
84
app/controllers/lvas_controller.rb
Normal file
84
app/controllers/lvas_controller.rb
Normal file
@@ -0,0 +1,84 @@
|
||||
class LvasController < ApplicationController
|
||||
# GET /lvas
|
||||
# GET /lvas.json
|
||||
def index
|
||||
@lvas = Lva.all
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @lvas }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /lvas/1
|
||||
# GET /lvas/1.json
|
||||
def show
|
||||
@lva = Lva.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
format.json { render json: @lva }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /lvas/new
|
||||
# GET /lvas/new.json
|
||||
def new
|
||||
@lva = Lva.new
|
||||
modul=Modul.find(params[:modul_id])
|
||||
@lva.modul<<modul
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.json { render json: @lva }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /lvas/1/edit
|
||||
def edit
|
||||
@lva = Lva.find(params[:id])
|
||||
end
|
||||
|
||||
# POST /lvas
|
||||
# POST /lvas.json
|
||||
def create
|
||||
@lva = Lva.new(params[:lva])
|
||||
|
||||
respond_to do |format|
|
||||
if @lva.save
|
||||
format.html { redirect_to @lva, notice: 'Lva was successfully created.' }
|
||||
format.json { render json: @lva, status: :created, location: @lva }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @lva.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PUT /lvas/1
|
||||
# PUT /lvas/1.json
|
||||
def update
|
||||
@lva = Lva.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @lva.update_attributes(params[:lva])
|
||||
format.html { redirect_to @lva, notice: 'Lva was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @lva.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /lvas/1
|
||||
# DELETE /lvas/1.json
|
||||
def destroy
|
||||
@lva = Lva.find(params[:id])
|
||||
@lva.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to lvas_url }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
end
|
||||
89
app/controllers/modulgruppen_controller.rb
Normal file
89
app/controllers/modulgruppen_controller.rb
Normal file
@@ -0,0 +1,89 @@
|
||||
class ModulgruppenController < ApplicationController
|
||||
# GET /modulgruppen
|
||||
# GET /modulgruppen.json
|
||||
|
||||
load_and_authorize_resource
|
||||
def index
|
||||
@modulgruppen = Modulgruppe.all
|
||||
if !params[:studium_id].nil?
|
||||
@studium=Studium.find(params[:studium_id])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# GET /modulgruppen/1
|
||||
# GET /modulgruppen/1.json
|
||||
def show
|
||||
@modulgruppe = Modulgruppe.find(params[:id])
|
||||
if !params[:studium_id].nil?
|
||||
@studium=Studium.find(params[:studium_id])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# GET /modulgruppen/new
|
||||
# GET /modulgruppen/new.json
|
||||
def new
|
||||
@modulgruppe = Modulgruppe.new
|
||||
if !params[:studium_id].nil?
|
||||
@studium=Studium.find(params[:studium_id])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# GET /modulgruppen/1/edit
|
||||
def edit
|
||||
@modulgruppe = Modulgruppe.find(params[:id])
|
||||
if !params[:studium_id].nil?
|
||||
@studium=Studium.find(params[:studium_id])
|
||||
end
|
||||
end
|
||||
|
||||
# POST /modulgruppen
|
||||
# POST /modulgruppen.json
|
||||
def create
|
||||
@modulgruppe = Modulgruppe.new(params[:modulgruppe])
|
||||
if !params[:studium_id].nil?
|
||||
@studium=Studium.find(params[:studium_id])
|
||||
else
|
||||
@studium=Studium.find(params[:modulgruppe][:studium_id])
|
||||
end
|
||||
respond_to do |format|
|
||||
if @modulgruppe.save
|
||||
format.html { redirect_to @modulgruppe, notice: 'Modulgruppe was successfully created.' }
|
||||
format.json { render json: @modulgruppe, status: :created, location: @modulgruppe }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @modulgruppe.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PUT /modulgruppen/1
|
||||
# PUT /modulgruppen/1.json
|
||||
def update
|
||||
@modulgruppe = Modulgruppe.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @modulgruppe.update_attributes(params[:modulgruppe])
|
||||
format.html { redirect_to @modulgruppe, notice: 'Modulgruppe was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @modulgruppe.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /modulgruppen/1
|
||||
# DELETE /modulgruppen/1.json
|
||||
def destroy
|
||||
@modulgruppe = Modulgruppe.find(params[:id])
|
||||
@modulgruppe.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to modulgruppen_url }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
end
|
||||
91
app/controllers/moduls_controller.rb
Normal file
91
app/controllers/moduls_controller.rb
Normal file
@@ -0,0 +1,91 @@
|
||||
class ModulsController < ApplicationController
|
||||
# GET /moduls
|
||||
# GET /moduls.json
|
||||
def index
|
||||
@moduls = Modul.all
|
||||
if !params[:studium_id].nil?
|
||||
@studium=Studium.find(params[:studium_id])
|
||||
end
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @moduls }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /moduls/1
|
||||
# GET /moduls/1.json
|
||||
def show
|
||||
@modul = Modul.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
format.json { render json: @modul }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /moduls/new
|
||||
# GET /moduls/new.json
|
||||
def new
|
||||
@modul = Modul.new
|
||||
modulgruppe=Modulgruppe.find(params[:modulgruppen_id])
|
||||
@modul.modulgruppen<<modulgruppe
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.json { render json: @modul }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /moduls/1/edit
|
||||
def edit
|
||||
@modul = Modul.find(params[:id])
|
||||
if !params[:studium_id].nil?
|
||||
@studium=Studium.find(params[:studium_id])
|
||||
end
|
||||
end
|
||||
|
||||
# POST /moduls
|
||||
# POST /moduls.json
|
||||
def create
|
||||
@modul = Modul.new(params[:modul])
|
||||
|
||||
|
||||
respond_to do |format|
|
||||
if @modul.save
|
||||
format.html { redirect_to modulgruppe_path(@modul.modulgruppen.first), notice: 'Modul was successfully created.' }
|
||||
format.json { render json: @modul, status: :created, location: @modul }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @modul.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# PUT /moduls/1
|
||||
# PUT /moduls/1.json
|
||||
def update
|
||||
@modul = Modul.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @modul.update_attributes(params[:modul])
|
||||
format.html { redirect_to @modul, notice: 'Modul was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @modul.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /moduls/1
|
||||
# DELETE /moduls/1.json
|
||||
def destroy
|
||||
@modul = Modul.find(params[:id])
|
||||
@modul.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to moduls_path() }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
end
|
||||
83
app/controllers/neuigkeiten_controller.rb
Normal file
83
app/controllers/neuigkeiten_controller.rb
Normal file
@@ -0,0 +1,83 @@
|
||||
class NeuigkeitenController < ApplicationController
|
||||
# GET /neuigkeiten
|
||||
# GET /neuigkeiten.json
|
||||
def index
|
||||
@neuigkeiten = Neuigkeit.all
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @neuigkeiten }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /neuigkeiten/1
|
||||
# GET /neuigkeiten/1.json
|
||||
def show
|
||||
@neuigkeit = Neuigkeit.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
format.json { render json: @neuigkeit }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /neuigkeiten/new
|
||||
# GET /neuigkeiten/new.json
|
||||
def new
|
||||
@neuigkeit = Neuigkeit.new
|
||||
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.json { render json: @neuigkeit }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /neuigkeiten/1/edit
|
||||
def edit
|
||||
@neuigkeit = Neuigkeit.find(params[:id])
|
||||
end
|
||||
|
||||
# POST /neuigkeiten
|
||||
# POST /neuigkeiten.json
|
||||
def create
|
||||
@neuigkeit = Neuigkeit.new(params[:neuigkeit])
|
||||
|
||||
respond_to do |format|
|
||||
if @neuigkeit.save
|
||||
format.html { redirect_to @neuigkeit, notice: 'Neuigkeit was successfully created.' }
|
||||
format.json { render json: @neuigkeit, status: :created, location: @neuigkeit }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @neuigkeit.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PUT /neuigkeiten/1
|
||||
# PUT /neuigkeiten/1.json
|
||||
def update
|
||||
@neuigkeit = Neuigkeit.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @neuigkeit.update_attributes(params[:neuigkeit])
|
||||
format.html { redirect_to @neuigkeit, notice: 'Neuigkeit was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @neuigkeit.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /neuigkeiten/1
|
||||
# DELETE /neuigkeiten/1.json
|
||||
def destroy
|
||||
@neuigkeit = Neuigkeit.find(params[:id])
|
||||
@neuigkeit.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to neuigkeiten_url }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
end
|
||||
93
app/controllers/rubriken_controller.rb
Normal file
93
app/controllers/rubriken_controller.rb
Normal file
@@ -0,0 +1,93 @@
|
||||
class RubrikenController < ApplicationController
|
||||
# GET /rubriken
|
||||
# GET /rubriken.json
|
||||
def index
|
||||
@rubriken = Rubrik.all
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @rubriken }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /rubriken/1
|
||||
# GET /rubriken/1.json
|
||||
def show
|
||||
@rubrik = Rubrik.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
format.json { render json: @rubrik }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /rubriken/new
|
||||
# GET /rubriken/new.json
|
||||
def new
|
||||
@rubrik = Rubrik.new
|
||||
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.json { render json: @rubrik }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /rubriken/1/edit
|
||||
def edit
|
||||
@rubrik = Rubrik.find(params[:id])
|
||||
end
|
||||
|
||||
# POST /rubriken
|
||||
# POST /rubriken.json
|
||||
def create
|
||||
@rubrik = Rubrik.new(params[:rubrik])
|
||||
|
||||
respond_to do |format|
|
||||
if @rubrik.save
|
||||
format.html { redirect_to @rubrik, notice: 'Rubrik was successfully created.' }
|
||||
format.json { render json: @rubrik, status: :created, location: @rubrik }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @rubrik.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PUT /rubriken/1
|
||||
# PUT /rubriken/1.json
|
||||
|
||||
def addmoderator
|
||||
@rubrik = Rubrik.find(params[:id])
|
||||
if current_user.has_role?(:newsadmin,@rubrik) || current_user.has_role?(:newsadmin)
|
||||
User.find(params[:userid]).add_role(:newsmoderator, @rubrik)
|
||||
end
|
||||
respond_to do |format|
|
||||
format.html { redirect_to @rubrik }
|
||||
end
|
||||
end
|
||||
def update
|
||||
@rubrik = Rubrik.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @rubrik.update_attributes(params[:rubrik])
|
||||
format.html { redirect_to @rubrik, notice: 'Rubrik was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @rubrik.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /rubriken/1
|
||||
# DELETE /rubriken/1.json
|
||||
def destroy
|
||||
@rubrik = Rubrik.find(params[:id])
|
||||
@rubrik.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to rubriken_url }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
end
|
||||
83
app/controllers/semesters_controller.rb
Normal file
83
app/controllers/semesters_controller.rb
Normal file
@@ -0,0 +1,83 @@
|
||||
class SemestersController < ApplicationController
|
||||
# GET /semesters
|
||||
# GET /semesters.json
|
||||
def index
|
||||
@semesters = Semester.all
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @semesters }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /semesters/1
|
||||
# GET /semesters/1.json
|
||||
def show
|
||||
@semester = Semester.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
format.json { render json: @semester }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /semesters/new
|
||||
# GET /semesters/new.json
|
||||
def new
|
||||
@semester = Semester.new
|
||||
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.json { render json: @semester }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /semesters/1/edit
|
||||
def edit
|
||||
@semester = Semester.find(params[:id])
|
||||
end
|
||||
|
||||
# POST /semesters
|
||||
# POST /semesters.json
|
||||
def create
|
||||
@semester = Semester.new(params[:semester])
|
||||
|
||||
respond_to do |format|
|
||||
if @semester.save
|
||||
format.html { redirect_to @semester, notice: 'Semester was successfully created.' }
|
||||
format.json { render json: @semester, status: :created, location: @semester }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @semester.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PUT /semesters/1
|
||||
# PUT /semesters/1.json
|
||||
def update
|
||||
@semester = Semester.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @semester.update_attributes(params[:semester])
|
||||
format.html { redirect_to @semester, notice: 'Semester was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @semester.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /semesters/1
|
||||
# DELETE /semesters/1.json
|
||||
def destroy
|
||||
@semester = Semester.find(params[:id])
|
||||
@semester.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to semesters_url }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
end
|
||||
83
app/controllers/studien_controller.rb
Normal file
83
app/controllers/studien_controller.rb
Normal file
@@ -0,0 +1,83 @@
|
||||
class StudienController < ApplicationController
|
||||
# GET /studia
|
||||
# GET /studia.json
|
||||
def index
|
||||
@studien = Studium.all
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @studien }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /studia/1
|
||||
# GET /studia/1.json
|
||||
def show
|
||||
|
||||
@studium= Studium.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
format.json { render json: @studium }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /studia/new
|
||||
# GET /studia/new.json
|
||||
def new
|
||||
@studium = Studium.new
|
||||
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
format.json { render json: @studium }
|
||||
end
|
||||
end
|
||||
|
||||
# GET /studia/1/edit
|
||||
def edit
|
||||
@studium = Studium.find(params[:id])
|
||||
end
|
||||
|
||||
# POST /studia
|
||||
# POST /studia.json
|
||||
def create
|
||||
@studium = Studium.new(params[:studium])
|
||||
|
||||
respond_to do |format|
|
||||
if @studium.save
|
||||
format.html { redirect_to @studium, notice: 'Studium was successfully created.' }
|
||||
format.json { render json: @studium, status: :created, location: @studium }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @studium.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# PUT /studia/1
|
||||
# PUT /studia/1.json
|
||||
def update
|
||||
@studium = Studium.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @studium.update_attributes(params[:studium])
|
||||
format.html { redirect_to @studium, notice: 'Studium was successfully updated.' }
|
||||
format.json { head :no_content }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @studium.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# DELETE /studia/1
|
||||
# DELETE /studia/1.json
|
||||
def destroy
|
||||
@studium = Studium.find(params[:id])
|
||||
@studium.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to studien_url }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
end
|
||||
6
app/controllers/users_controller.rb
Normal file
6
app/controllers/users_controller.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
class UsersController < ApplicationController
|
||||
def index
|
||||
@users = User.all
|
||||
|
||||
end
|
||||
end
|
||||
10
app/helpers/application_helper.rb
Normal file
10
app/helpers/application_helper.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
module ApplicationHelper
|
||||
def current_url(overwrite={})
|
||||
url_for :only_path => true, :params => params.merge(overwrite).except(:controller,:action)
|
||||
end
|
||||
def switch_locale_url(target_locale)
|
||||
current_url({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/"
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
2
app/helpers/lvas_helper.rb
Normal file
2
app/helpers/lvas_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module LvasHelper
|
||||
end
|
||||
2
app/helpers/modulgruppen_helper.rb
Normal file
2
app/helpers/modulgruppen_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module ModulgruppenHelper
|
||||
end
|
||||
2
app/helpers/moduls_helper.rb
Normal file
2
app/helpers/moduls_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module ModulsHelper
|
||||
end
|
||||
2
app/helpers/neuigkeiten_helper.rb
Normal file
2
app/helpers/neuigkeiten_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module NeuigkeitenHelper
|
||||
end
|
||||
2
app/helpers/rubriken_helper.rb
Normal file
2
app/helpers/rubriken_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module RubrikenHelper
|
||||
end
|
||||
2
app/helpers/semesters_helper.rb
Normal file
2
app/helpers/semesters_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module SemestersHelper
|
||||
end
|
||||
2
app/helpers/studien_helper.rb
Normal file
2
app/helpers/studien_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module StudienHelper
|
||||
end
|
||||
2
app/helpers/studmods_helper.rb
Normal file
2
app/helpers/studmods_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module StudmodsHelper
|
||||
end
|
||||
5
app/inputs/tinymce_text_input.rb
Normal file
5
app/inputs/tinymce_text_input.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
class TinymceTextInput < FormtasticBootstrap::Inputs::TextInput
|
||||
def input_html_options
|
||||
super.merge(:class => "tinymce")
|
||||
end
|
||||
end
|
||||
0
app/mailers/.gitkeep
Normal file
0
app/mailers/.gitkeep
Normal file
3
app/mailers/confirmmailer.rb
Normal file
3
app/mailers/confirmmailer.rb
Normal file
@@ -0,0 +1,3 @@
|
||||
class Confirmmailer < ActionMailer::Base
|
||||
default from: "from@example.com"
|
||||
end
|
||||
0
app/models/.gitkeep
Normal file
0
app/models/.gitkeep
Normal file
31
app/models/ability.rb
Normal file
31
app/models/ability.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
class Ability
|
||||
include CanCan::Ability
|
||||
|
||||
def initialize(user)
|
||||
# Define abilities for the passed in user here. For example:
|
||||
#
|
||||
user ||= User.new # guest user (not logged in)
|
||||
# if user.admin?
|
||||
# can :manage, :all
|
||||
# else
|
||||
# can :read, :all
|
||||
# end
|
||||
can :read, Modulgruppe
|
||||
if user.has_role? "newsadmin"
|
||||
can :manage, Modulgruppe
|
||||
end
|
||||
# The first argument to `can` is the action you are giving the user permission to do.
|
||||
# If you pass :manage it will apply to every action. Other common actions here are
|
||||
# :read, :create, :update and :destroy.
|
||||
#
|
||||
# The second argument is the resource the user can perform the action on. If you pass
|
||||
# :all it will apply to every resource. Otherwise pass a Ruby class of the resource.
|
||||
#
|
||||
# The third argument is an optional hash of conditions to further filter the objects.
|
||||
# For example, here the user can only update published articles.
|
||||
#
|
||||
# can :update, Article, :published => true
|
||||
#
|
||||
# See the wiki for details: https://github.com/ryanb/cancan/wiki/Defining-Abilities
|
||||
end
|
||||
end
|
||||
7
app/models/lva.rb
Normal file
7
app/models/lva.rb
Normal file
@@ -0,0 +1,7 @@
|
||||
class Lva < ActiveRecord::Base
|
||||
has_paper_trail # Versionsver
|
||||
attr_accessible :desc, :ects, :lvanr, :name, :stunden, :modul_ids
|
||||
has_and_belongs_to_many :modul
|
||||
has_and_belongs_to_many :semester
|
||||
translates :desc, :fallbacks_for_empty_translations => true
|
||||
end
|
||||
9
app/models/modul.rb
Normal file
9
app/models/modul.rb
Normal file
@@ -0,0 +1,9 @@
|
||||
class Modul < ActiveRecord::Base
|
||||
attr_accessible :desc,:name, :depend, :studium_id, :modulgruppe_ids
|
||||
|
||||
has_and_belongs_to_many :lvas
|
||||
has_and_belongs_to_many :modulgruppen
|
||||
|
||||
translates :desc,:depend, :versioning =>true, :fallbacks_for_empty_translations => true
|
||||
|
||||
end
|
||||
11
app/models/modulgruppe.rb
Normal file
11
app/models/modulgruppe.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
class Modulgruppe < ActiveRecord::Base
|
||||
attr_accessible :name, :phase, :typ,:desc, :studium_id
|
||||
belongs_to :studium, :foreign_key => "studium_id"
|
||||
has_and_belongs_to_many :moduls
|
||||
resourcify
|
||||
validates :studium, :presence=>true
|
||||
validates :name, :presence=>true,:uniqueness =>{:scope => :studium, :message => "Nur einmal je Studium erlaubt"}
|
||||
validates :phase, :numericality => { :only_integer => true },:inclusion => {:in => [1, 2, 3, 4], :message => "%{value} is not valid, choose phase 1 to 4"}, :presence=>true
|
||||
validates :typ, :inclusion => {:in => ["Pflicht","Vertiefungspflicht","Wahl"] }
|
||||
translates :name,:desc, :versioning =>true,:fallbacks_for_empty_translations => true
|
||||
end
|
||||
5
app/models/neuigkeit.rb
Normal file
5
app/models/neuigkeit.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
class Neuigkeit < ActiveRecord::Base
|
||||
attr_accessible :datum, :text, :title
|
||||
belongs_to :author, :class_name =>'User'
|
||||
belongs_to :rubrik
|
||||
end
|
||||
6
app/models/role.rb
Normal file
6
app/models/role.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
class Role < ActiveRecord::Base
|
||||
has_and_belongs_to_many :users, :join_table => :users_roles
|
||||
belongs_to :resource, :polymorphic => true
|
||||
|
||||
scopify
|
||||
end
|
||||
10
app/models/rubrik.rb
Normal file
10
app/models/rubrik.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
class Rubrik < ActiveRecord::Base
|
||||
attr_accessible :desc, :name, :prio
|
||||
has_many :neuigkeiten
|
||||
def moderator
|
||||
end
|
||||
|
||||
def moderator=(id)
|
||||
User.find(id).add_role(:newsmoderator, self)
|
||||
end
|
||||
end
|
||||
4
app/models/semester.rb
Normal file
4
app/models/semester.rb
Normal file
@@ -0,0 +1,4 @@
|
||||
class Semester < ActiveRecord::Base
|
||||
has_and_belongs_to_many :lvas
|
||||
attr_accessible :name, :nummer, :ss, :ws
|
||||
end
|
||||
6
app/models/studium.rb
Normal file
6
app/models/studium.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
class Studium < ActiveRecord::Base
|
||||
attr_accessible :desc, :name, :typ, :zahl
|
||||
has_many :modulgruppen, inverse_of: :studium, :class_name => "Modulgruppe"
|
||||
validates :zahl, :uniqueness => true
|
||||
translates :desc,:shortdesc, :versioning =>true,:fallbacks_for_empty_translations => true
|
||||
end
|
||||
13
app/models/user.rb
Normal file
13
app/models/user.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
class User < ActiveRecord::Base
|
||||
rolify
|
||||
# Include default devise modules. Others available are:
|
||||
# :token_authenticatable, :confirmable,
|
||||
# :lockable, :timeoutable and :omniauthable
|
||||
devise :database_authenticatable, :registerable,:confirmable,
|
||||
:recoverable, :rememberable, :trackable, :validatable
|
||||
|
||||
# Setup accessible (or protected) attributes for your model
|
||||
attr_accessible :email, :password, :password_confirmation, :remember_me
|
||||
# attr_accessible :title, :body
|
||||
|
||||
end
|
||||
12
app/views/devise/confirmations/new.html.erb
Normal file
12
app/views/devise/confirmations/new.html.erb
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>Resend confirmation instructions</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email, :autofocus => true %></div>
|
||||
|
||||
<div><%= f.submit "Resend confirmation instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
@@ -0,0 +1,5 @@
|
||||
<p>Welcome <%= @email %>!</p>
|
||||
|
||||
<p>You can confirm your account email through the link below:</p>
|
||||
|
||||
<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
|
||||
@@ -0,0 +1,8 @@
|
||||
<p>Hello <%= @resource.email %>!</p>
|
||||
|
||||
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
|
||||
|
||||
<p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
|
||||
|
||||
<p>If you didn't request this, please ignore this email.</p>
|
||||
<p>Your password won't change until you access the link above and create a new one.</p>
|
||||
7
app/views/devise/mailer/unlock_instructions.html.erb
Normal file
7
app/views/devise/mailer/unlock_instructions.html.erb
Normal file
@@ -0,0 +1,7 @@
|
||||
<p>Hello <%= @resource.email %>!</p>
|
||||
|
||||
<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
|
||||
|
||||
<p>Click the link below to unlock your account:</p>
|
||||
|
||||
<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
|
||||
16
app/views/devise/passwords/edit.html.erb
Normal file
16
app/views/devise/passwords/edit.html.erb
Normal file
@@ -0,0 +1,16 @@
|
||||
<h2>Change your password</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
<%= f.hidden_field :reset_password_token %>
|
||||
|
||||
<div><%= f.label :password, "New password" %><br />
|
||||
<%= f.password_field :password, :autofocus => true %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation, "Confirm new password" %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.submit "Change my password" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
12
app/views/devise/passwords/new.html.erb
Normal file
12
app/views/devise/passwords/new.html.erb
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>Forgot your password?</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email, :autofocus => true %></div>
|
||||
|
||||
<div><%= f.submit "Send me reset password instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
29
app/views/devise/registrations/edit.html.erb
Normal file
29
app/views/devise/registrations/edit.html.erb
Normal file
@@ -0,0 +1,29 @@
|
||||
<h2>Edit <%= resource_name.to_s.humanize %></h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email, :autofocus => true %></div>
|
||||
|
||||
<% if resource.class.reconfirmable && resource.unconfirmed_email.present? %>
|
||||
<div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
|
||||
<% end %>
|
||||
|
||||
<div><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
|
||||
<%= f.password_field :password, :autocomplete => "off" %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
|
||||
<%= f.password_field :current_password %></div>
|
||||
|
||||
<div><%= f.submit "Update" %></div>
|
||||
<% end %>
|
||||
|
||||
<h3>Cancel my account</h3>
|
||||
|
||||
<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %>.</p>
|
||||
|
||||
<%= link_to "Back", :back %>
|
||||
18
app/views/devise/registrations/new.html.erb
Normal file
18
app/views/devise/registrations/new.html.erb
Normal file
@@ -0,0 +1,18 @@
|
||||
<h2>Sign up</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email, :autofocus => true %></div>
|
||||
|
||||
<div><%= f.label :password %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.submit "Sign up" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
17
app/views/devise/sessions/new.html.erb
Normal file
17
app/views/devise/sessions/new.html.erb
Normal file
@@ -0,0 +1,17 @@
|
||||
<h2>Sign in</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email, :autofocus => true %></div>
|
||||
|
||||
<div><%= f.label :password %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<% if devise_mapping.rememberable? -%>
|
||||
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
|
||||
<% end -%>
|
||||
|
||||
<div><%= f.submit "Sign in" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
25
app/views/devise/shared/_links.erb
Normal file
25
app/views/devise/shared/_links.erb
Normal file
@@ -0,0 +1,25 @@
|
||||
<%- if controller_name != 'sessions' %>
|
||||
<%= link_to "Sign in", new_session_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
||||
<%= link_to "Sign up", new_registration_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
|
||||
<%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
||||
<%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
||||
<%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.omniauthable? %>
|
||||
<%- resource_class.omniauth_providers.each do |provider| %>
|
||||
<%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %><br />
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
12
app/views/devise/unlocks/new.html.erb
Normal file
12
app/views/devise/unlocks/new.html.erb
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>Resend unlock instructions</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email, :autofocus => true %></div>
|
||||
|
||||
<div><%= f.submit "Resend unlock instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
2
app/views/home/index.html.erb
Normal file
2
app/views/home/index.html.erb
Normal file
@@ -0,0 +1,2 @@
|
||||
<p><%= t :hello %></p>
|
||||
<p><%= t 'home.hallobeiderfet' %></p>
|
||||
24
app/views/layouts/application.html.erb
Normal file
24
app/views/layouts/application.html.erb
Normal file
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Fetsite</title>
|
||||
<%= stylesheet_link_tag "application", :media => "all" %>
|
||||
<%= javascript_include_tag "application" %>
|
||||
<%= csrf_meta_tags %>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
<h1 style="display:block;float:none">Fachschaft Elektrotechnik</h1>
|
||||
</div>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span2">
|
||||
<div id="menudiv"><%= render :template => 'layouts/menu' %></div>
|
||||
</div> <div class="span10">
|
||||
|
||||
<%= yield %>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
24
app/views/layouts/menu.html.erb
Normal file
24
app/views/layouts/menu.html.erb
Normal file
@@ -0,0 +1,24 @@
|
||||
<%= t 'home.mtitle'%>
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
<li><%= link_to I18n.t(:home,:scope=>'home' ), home_index_url %>
|
||||
</li>
|
||||
<li><%= link_to I18n.t(:news,:scope=>'home' ),rubriken_path %></li>
|
||||
<li><%= link_to I18n.t(:info,:scope=>'home' ) %></li>
|
||||
<li><%= link_to I18n.t(:studien,:scope=>'home' ), studien_path %>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<% if user_signed_in? %>
|
||||
<li>Logged in as : <%= current_user.email %>
|
||||
<%= link_to('Logout', destroy_user_session_path, :method => :delete) %>
|
||||
</li>
|
||||
<% else %>
|
||||
<li>
|
||||
<%= link_to('Login', new_user_session_path) %>
|
||||
</li>
|
||||
<% end %>
|
||||
<%if I18n.locale == :en %>
|
||||
<%= link_to "Deutsch" ,switch_locale_url(:de)%>
|
||||
<% elsif I18n.locale == :de %>
|
||||
<%= link_to "English" ,switch_locale_url(:en)%>
|
||||
<%end %>
|
||||
18
app/views/lvas/_form.html.erb
Normal file
18
app/views/lvas/_form.html.erb
Normal file
@@ -0,0 +1,18 @@
|
||||
<%= semantic_form_for @lva do |f| %>
|
||||
<%= f.inputs do %>
|
||||
<%= f.input :modul %>
|
||||
<%= f.input :name %>
|
||||
<%= f.input :ects %>
|
||||
<%= f.input :stunden %>
|
||||
|
||||
<%= f.input :desc %>
|
||||
|
||||
<%= f.input :lvanr %>
|
||||
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= f.actions do %>
|
||||
<%= f.action :submit, :as => :input %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
6
app/views/lvas/edit.html.erb
Normal file
6
app/views/lvas/edit.html.erb
Normal file
@@ -0,0 +1,6 @@
|
||||
<h1>Editing lva</h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Show', @lva %> |
|
||||
<%= link_to 'Back', lvas_path %>
|
||||
31
app/views/lvas/index.html.erb
Normal file
31
app/views/lvas/index.html.erb
Normal file
@@ -0,0 +1,31 @@
|
||||
<h1>Listing lvas</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Desc</th>
|
||||
<th>Ects</th>
|
||||
<th>Lvanr</th>
|
||||
<th>Stunden</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
<% @lvas.each do |lva| %>
|
||||
<tr>
|
||||
<td><%= lva.name %></td>
|
||||
<td><%= lva.desc %></td>
|
||||
<td><%= lva.ects %></td>
|
||||
<td><%= lva.lvanr %></td>
|
||||
<td><%= lva.stunden %></td>
|
||||
<td><%= link_to 'Show', lva %></td>
|
||||
<td><%= link_to 'Edit', edit_lva_path(lva) %></td>
|
||||
<td><%= link_to 'Destroy', lva, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<%= link_to 'New Lva', new_lva_path %>
|
||||
5
app/views/lvas/new.html.erb
Normal file
5
app/views/lvas/new.html.erb
Normal file
@@ -0,0 +1,5 @@
|
||||
<h1>New lva</h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Back', lvas_path %>
|
||||
20
app/views/lvas/show.html.erb
Normal file
20
app/views/lvas/show.html.erb
Normal file
@@ -0,0 +1,20 @@
|
||||
<p id="notice"><%= notice %></p>
|
||||
|
||||
<p> <%= @lva.lvanr %>
|
||||
<b>
|
||||
<%= @lva.name %> (<%= @lva.ects %> ECTS/ <%= @lva.stunden %> Std)</b><%= link_to image_tag('edit.png'), edit_lva_path(@lva) %> |
|
||||
</p>
|
||||
<p>
|
||||
<%= @lva.desc %>
|
||||
</p>
|
||||
|
||||
<% @lva.modul.each do |modul| %>
|
||||
<%= link_to modul.name , modul_path(modul)%> <br>
|
||||
<% modul.modulgruppen.each do |g| %>
|
||||
<% link =g.studium.name + " - " +g.name %>
|
||||
<%= link_to link , modulgruppe_path(g)%><br>
|
||||
<%end%>
|
||||
<%end%>
|
||||
|
||||
|
||||
<%= link_to 'Back', lvas_path %>
|
||||
13
app/views/modulgruppen/_form.html.erb
Normal file
13
app/views/modulgruppen/_form.html.erb
Normal file
@@ -0,0 +1,13 @@
|
||||
<%= semantic_form_for @modulgruppe do |f| %>
|
||||
<%= f.inputs do %>
|
||||
<%= f.input :studium_id, :as =>:select, :collection => Studium.all %>
|
||||
<%= f.input :typ ,:as => :radio, :collection=>["Pflicht","Vertiefungspflicht","Wahl"]%>
|
||||
<%= f.input :phase,:as => :radio,:collection=>1..3 %>
|
||||
<%= f.input :name %>
|
||||
<%= f.input :desc,:input_html=>{:rows=> 3 }%>
|
||||
<% end %>
|
||||
|
||||
<%= f.actions do %>
|
||||
<%= f.action :submit, :as => :input %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
8
app/views/modulgruppen/_modulgruppe.html.erb
Normal file
8
app/views/modulgruppen/_modulgruppe.html.erb
Normal file
@@ -0,0 +1,8 @@
|
||||
<div class="modulgruppe_phase_<%= modulgruppe.phase %>">
|
||||
<h2><%= link_to modulgruppe.name, modulgruppe_path(modulgruppe) %><%= link_to image_tag('edit.png').html_safe+"Edit", edit_modulgruppe_path(modulgruppe),:class=>"btn" %></h2>
|
||||
<%= modulgruppe.desc%>
|
||||
|
||||
<%= render :partial=>'moduls/kurz', :collection=>modulgruppe.moduls, :as=>:modul%>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
6
app/views/modulgruppen/edit.html.erb
Normal file
6
app/views/modulgruppen/edit.html.erb
Normal file
@@ -0,0 +1,6 @@
|
||||
<h1>Editing modulgruppe</h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Show', @modulgruppe %> |
|
||||
<%= link_to 'Back', modulgruppen_path %>
|
||||
30
app/views/modulgruppen/index.html.erb
Normal file
30
app/views/modulgruppen/index.html.erb
Normal file
@@ -0,0 +1,30 @@
|
||||
<h1>Listing modulgruppen</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th>Phase</th>
|
||||
<th>Studium</th>
|
||||
<th>Name</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
<% @modulgruppen.each do |modulgruppe| %>
|
||||
<tr>
|
||||
<td><%= modulgruppe.typ %></td>
|
||||
<td><%= modulgruppe.phase %></td>
|
||||
<td><%= modulgruppe.studium.name %></td>
|
||||
<td><%= modulgruppe.name %></td>
|
||||
<td><%= link_to 'Show', modulgruppe %></td>
|
||||
<td><%= link_to 'Edit', edit_modulgruppe_path(modulgruppe) %></td>
|
||||
<td><%= link_to 'Destroy', modulgruppe, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<% if !@studium.nil? %>
|
||||
<%= link_to 'New Modulgruppe', new_modulgruppe_path %>
|
||||
<% end%>
|
||||
5
app/views/modulgruppen/new.html.erb
Normal file
5
app/views/modulgruppen/new.html.erb
Normal file
@@ -0,0 +1,5 @@
|
||||
<h1>New modulgruppe</h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Back', modulgruppen_path %>
|
||||
27
app/views/modulgruppen/show.html.erb
Normal file
27
app/views/modulgruppen/show.html.erb
Normal file
@@ -0,0 +1,27 @@
|
||||
<p id="notice"><%= notice %></p>
|
||||
<div class ="modulgruppe_phase_<%= @modulgruppe.phase %>">
|
||||
<h1>
|
||||
<%= @modulgruppe.name %>
|
||||
</h1>
|
||||
<p>
|
||||
<b><%= link_to "Studium: "+@modulgruppe.studium.name, studium_path(@modulgruppe.studium) %></b>
|
||||
|
||||
</p><p>
|
||||
<b><%= I18n.t "modulgruppe.typ"%>:</b>
|
||||
<%= @modulgruppe.typ %>
|
||||
</p>
|
||||
|
||||
|
||||
<% @modulgruppe.moduls.each do |modul| %>
|
||||
<%= render modul%>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<span class="label">Default</span>
|
||||
<div class="btn-group">
|
||||
<%= link_to 'Add Modul', new_modul_path(:modulgruppen_id =>@modulgruppe.id) %>
|
||||
<%= link_to 'Studium', studium_path(@modulgruppe.studium),:class =>"btn" %>
|
||||
<%= link_to 'Edit', edit_modulgruppe_path(@modulgruppe),:class =>"btn" %>
|
||||
<%= link_to 'Back', modulgruppen_path,:class =>"btn" %>
|
||||
</div>
|
||||
14
app/views/moduls/_form.html.erb
Normal file
14
app/views/moduls/_form.html.erb
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
<%= semantic_form_for @modul do |f| %>
|
||||
<%= f.inputs do %>
|
||||
<%= f.input :modulgruppen,:as => :select, :collection => Hash[Modulgruppe.all.map{|m| [m.studium.name + " " + m.name,m.id]}] %>
|
||||
<%= f.input :name ,:hint=>true%>
|
||||
<%= f.input :desc, :as=>:tinymce_text %>
|
||||
<%= f.input :depend %>
|
||||
<% end %>
|
||||
|
||||
<%= f.actions do %>
|
||||
<%= f.action :submit, :as => :input %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= tinymce %>
|
||||
9
app/views/moduls/_kurz.html.erb
Normal file
9
app/views/moduls/_kurz.html.erb
Normal file
@@ -0,0 +1,9 @@
|
||||
<div style="border: solid 1px; padding:2px;margin-top:5px;"><p>
|
||||
<b><%= link_to "Modul "+ modul.name , modul_path(modul) %> <%= link_to image_tag("edit.png"), edit_modul_path(modul) %></b>
|
||||
</p>
|
||||
<p >
|
||||
<%= raw(modul.desc) %>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
13
app/views/moduls/_modul.html.erb
Normal file
13
app/views/moduls/_modul.html.erb
Normal file
@@ -0,0 +1,13 @@
|
||||
<div style="border: solid 1px; padding:2px"><p>
|
||||
<b><%= link_to "Modul "+ modul.name , modul_path(modul) %> <%= link_to image_tag("edit.png"), edit_modul_path(modul) %></b>
|
||||
</p>
|
||||
<p>
|
||||
<%= raw(modul.desc) %>
|
||||
</p>
|
||||
LVAs:
|
||||
<ul>
|
||||
<% modul.lvas.each do |lva| %>
|
||||
<li><%= link_to lva.lvanr+" "+ lva.name, lva %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
8
app/views/moduls/edit.html.erb
Normal file
8
app/views/moduls/edit.html.erb
Normal file
@@ -0,0 +1,8 @@
|
||||
<h1><%= I18n.t "moduls.edit.title"%></h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Show', modul_path( @modul) %> |
|
||||
<% if !@studium.nil? %>
|
||||
<%= link_to 'Back', moduls_path(@modul) %>
|
||||
<% end%>
|
||||
26
app/views/moduls/index.html.erb
Normal file
26
app/views/moduls/index.html.erb
Normal file
@@ -0,0 +1,26 @@
|
||||
<h1>Listing moduls</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Desc</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
<% @moduls.each do |modul| %>
|
||||
<tr>
|
||||
<td><%= modul.name %></td>
|
||||
<td><%= modul.desc %></td>
|
||||
<td><%= link_to 'Show', modul_path(modul) %></td>
|
||||
<td><%= link_to 'Edit', edit_modul_path(modul) %></td>
|
||||
<td><%= link_to 'Destroy', [modul], method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
<% if !@studium.nil? %>
|
||||
<%= link_to 'New Modul', new_modul_path() %>
|
||||
<% end%>
|
||||
5
app/views/moduls/new.html.erb
Normal file
5
app/views/moduls/new.html.erb
Normal file
@@ -0,0 +1,5 @@
|
||||
<h1>New modul</h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Back', moduls_path %>
|
||||
11
app/views/moduls/show.html.erb
Normal file
11
app/views/moduls/show.html.erb
Normal file
@@ -0,0 +1,11 @@
|
||||
<p id="notice"><%= notice %></p>
|
||||
|
||||
<%= render @modul %>
|
||||
|
||||
<% @modul.modulgruppen.each do |g| %>
|
||||
<% link = g.studium.name + " - " +g.name %>
|
||||
<%= link_to g.studium.name , studium_path(g.studium)%> <br />
|
||||
<%= link_to link , modulgruppe_path(g)%><br />
|
||||
<%end%>
|
||||
|
||||
<%= link_to 'Add LVA', new_lva_path(:modul_id =>@modul.id) %>
|
||||
11
app/views/neuigkeiten/_form.html.erb
Normal file
11
app/views/neuigkeiten/_form.html.erb
Normal file
@@ -0,0 +1,11 @@
|
||||
<%= semantic_form_for @neuigkeit do |f| %>
|
||||
<%= f.inputs do %>
|
||||
<%= f.input :title, :placeholder=>"Titel" %>
|
||||
<%= f.input :text %>
|
||||
<%= f.input :datum %>
|
||||
<% end %>
|
||||
|
||||
<%= f.actions do %>
|
||||
<%= f.action :submit, :as => :input %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
6
app/views/neuigkeiten/edit.html.erb
Normal file
6
app/views/neuigkeiten/edit.html.erb
Normal file
@@ -0,0 +1,6 @@
|
||||
<h1>Editing neuigkeit</h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Show', @neuigkeit %> |
|
||||
<%= link_to 'Back', neuigkeiten_path %>
|
||||
27
app/views/neuigkeiten/index.html.erb
Normal file
27
app/views/neuigkeiten/index.html.erb
Normal file
@@ -0,0 +1,27 @@
|
||||
<h1>Listing neuigkeiten</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Text</th>
|
||||
<th>Datum</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
<% @neuigkeiten.each do |neuigkeit| %>
|
||||
<tr>
|
||||
<td><%= neuigkeit.title %></td>
|
||||
<td><%= neuigkeit.text %></td>
|
||||
<td><%= neuigkeit.datum %></td>
|
||||
<td><%= link_to 'Show', neuigkeit %></td>
|
||||
<td><%= link_to 'Edit', edit_neuigkeit_path(neuigkeit) %></td>
|
||||
<td><%= link_to 'Destroy', neuigkeit, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<%= link_to 'New Neuigkeit', new_neuigkeit_path %>
|
||||
5
app/views/neuigkeiten/new.html.erb
Normal file
5
app/views/neuigkeiten/new.html.erb
Normal file
@@ -0,0 +1,5 @@
|
||||
<h1>New neuigkeit</h1>
|
||||
|
||||
<%= render 'form' %>
|
||||
|
||||
<%= link_to 'Back', neuigkeiten_path %>
|
||||
20
app/views/neuigkeiten/show.html.erb
Normal file
20
app/views/neuigkeiten/show.html.erb
Normal file
@@ -0,0 +1,20 @@
|
||||
<p id="notice"><%= notice %></p>
|
||||
|
||||
<p>
|
||||
<b>Title:</b>
|
||||
<%= @neuigkeit.title %>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Text:</b>
|
||||
<%= @neuigkeit.text %>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Datum:</b>
|
||||
<%= @neuigkeit.datum %>
|
||||
</p>
|
||||
|
||||
|
||||
<%= link_to 'Edit', edit_neuigkeit_path(@neuigkeit) %> |
|
||||
<%= link_to 'Back', neuigkeiten_path %>
|
||||
11
app/views/rubriken/_form.html.erb
Normal file
11
app/views/rubriken/_form.html.erb
Normal file
@@ -0,0 +1,11 @@
|
||||
<%= semantic_form_for @rubrik do |f| %>
|
||||
<%= f.inputs do %>
|
||||
<%= f.input :name %>
|
||||
<%= f.input :desc %>
|
||||
<%= f.input :prio %>
|
||||
<% end %>
|
||||
|
||||
<%= f.actions do %>
|
||||
<%= f.action :submit, :as => :input %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user