From 72e18f9e2977d657eacfc6d835d18d79f80d2d37 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Tue, 1 Jan 2019 19:04:08 +0100 Subject: [PATCH] generated documentation --- app/helpers/application_helper.rb | 10 +- doc/app/Ability.html | 689 +++++++++ doc/app/ApplicationController.html | 606 ++++++++ doc/app/ApplicationHelper.html | 1189 +++++++++++++++ doc/app/Attachment.html | 537 +++++++ doc/app/AttachmentUploader.html | 669 ++++++++ doc/app/AttachmentsController.html | 798 ++++++++++ doc/app/AttachmentsHelper.html | 507 ++++++ doc/app/Beispiel.html | 524 +++++++ doc/app/BeispieldateiUploader.html | 474 ++++++ doc/app/BeispieleController.html | 792 ++++++++++ doc/app/BeispieleHelper.html | 381 +++++ doc/app/Calendar.html | 400 +++++ doc/app/CalendarsController.html | 731 +++++++++ doc/app/CalendarsHelper.html | 381 +++++ doc/app/CalentriesController.html | 703 +++++++++ doc/app/CalentriesHelper.html | 466 ++++++ doc/app/Calentry.html | 941 ++++++++++++ doc/app/CheckboxAutocompleteInput.html | 621 ++++++++ doc/app/Comment.html | 699 +++++++++ doc/app/CommentsController.html | 739 +++++++++ doc/app/CommentsHelper.html | 465 ++++++ doc/app/ConfigController.html | 472 ++++++ doc/app/Confirmmailer.html | 389 +++++ doc/app/CrawlerController.html | 563 +++++++ doc/app/Crawlobject.html | 830 ++++++++++ doc/app/CrawlobjectHelper.html | 381 +++++ doc/app/DateStringInput.html | 439 ++++++ doc/app/DatepickerInput.html | 622 ++++++++ doc/app/DatetimepickerInput.html | 624 ++++++++ doc/app/Document.html | 1024 +++++++++++++ doc/app/DocumentsController.html | 982 ++++++++++++ doc/app/EmailsController.html | 522 +++++++ doc/app/Fetprofile.html | 661 ++++++++ doc/app/FetprofilesController.html | 760 +++++++++ doc/app/FetprofilesHelper.html | 381 +++++ doc/app/Fetznedition.html | 401 +++++ doc/app/FetzneditionsController.html | 689 +++++++++ doc/app/FetzneditionsHelper.html | 381 +++++ doc/app/Flagable.html | 395 +++++ .../Flagable/ActsAsFlagableController.html | 395 +++++ .../ClassMethods.html | 443 ++++++ .../LocalClassMethods.html | 381 +++++ .../LocalInstanceMethods.html | 444 ++++++ doc/app/Flagable/ActsAsFlagableRecord.html | 393 +++++ .../ActsAsFlagableRecord/ClassMethods.html | 443 ++++++ .../LocalInstanceMethods.html | 467 ++++++ doc/app/Flagable/FlagableHelper.html | 436 ++++++ doc/app/Foto.html | 498 ++++++ doc/app/FotoUploader.html | 529 +++++++ doc/app/FotosController.html | 716 +++++++++ doc/app/FotosHelper.html | 381 +++++ doc/app/Frage.html | 400 +++++ doc/app/FragenController.html | 704 +++++++++ doc/app/FragenHelper.html | 381 +++++ doc/app/GalleriesController.html | 744 +++++++++ doc/app/GalleriesHelper.html | 381 +++++ doc/app/Gallery.html | 462 ++++++ doc/app/GremienController.html | 752 +++++++++ doc/app/GremienHelper.html | 381 +++++ doc/app/Gremium.html | 557 +++++++ doc/app/HomeController.html | 935 ++++++++++++ doc/app/IsCommentable.html | 458 ++++++ doc/app/IsCommentable/InstanceMethods.html | 465 ++++++ doc/app/Key.html | 502 ++++++ doc/app/Lecturer.html | 458 ++++++ doc/app/LecturersController.html | 689 +++++++++ doc/app/LecturersHelper.html | 381 +++++ doc/app/LikeVoteable.html | 455 ++++++ doc/app/LikeVoteable/InstanceMethods.html | 496 ++++++ doc/app/Lva.html | 963 ++++++++++++ doc/app/LvasController.html | 895 +++++++++++ doc/app/MailerHelper.html | 381 +++++ doc/app/Meeting.html | 1001 ++++++++++++ doc/app/MeetingsController.html | 853 +++++++++++ doc/app/MeetingsHelper.html | 381 +++++ doc/app/Meetingtyp.html | 438 ++++++ doc/app/MeetingtypsController.html | 726 +++++++++ doc/app/MeetingtypsHelper.html | 381 +++++ doc/app/Membership.html | 420 +++++ doc/app/MembershipsController.html | 610 ++++++++ doc/app/MembershipsHelper.html | 381 +++++ doc/app/Modul.html | 478 ++++++ doc/app/Modulgruppe.html | 486 ++++++ doc/app/ModulgruppenController.html | 736 +++++++++ doc/app/ModulgruppenHelper.html | 381 +++++ doc/app/ModulsController.html | 1018 ++++++++++++ doc/app/ModulsHelper.html | 381 +++++ doc/app/Neuigkeit.html | 1221 +++++++++++++++ doc/app/NeuigkeitenController.html | 1155 ++++++++++++++ doc/app/NewsMailer.html | 539 +++++++ doc/app/Nlink.html | 389 +++++ doc/app/PagesHelper.html | 434 ++++++ doc/app/PictureUploader.html | 487 ++++++ doc/app/PluginsHelper.html | 470 ++++++ doc/app/Role.html | 400 +++++ doc/app/Rubrik.html | 529 +++++++ doc/app/RubrikenController.html | 909 +++++++++++ doc/app/RubrikenHelper.html | 381 +++++ doc/app/Semester.html | 493 ++++++ doc/app/SemestersController.html | 670 ++++++++ doc/app/SemestersHelper.html | 381 +++++ doc/app/StudienController.html | 979 ++++++++++++ doc/app/StudienHelper.html | 381 +++++ doc/app/Studium.html | 580 +++++++ doc/app/StudmodsHelper.html | 381 +++++ doc/app/Survey.html | 454 ++++++ doc/app/Survey/Answer.html | 389 +++++ doc/app/Survey/AnswersHelper.html | 381 +++++ doc/app/Survey/Choice.html | 557 +++++++ doc/app/Survey/ChoicesController.html | 718 +++++++++ doc/app/Survey/ChoicesHelper.html | 381 +++++ doc/app/Survey/Question.html | 605 ++++++++ doc/app/Survey/QuestionsController.html | 771 ++++++++++ doc/app/Survey/QuestionsHelper.html | 430 ++++++ doc/app/Thema.html | 533 +++++++ doc/app/ThemenController.html | 1004 ++++++++++++ doc/app/ThemenHelper.html | 381 +++++ doc/app/Themengruppe.html | 539 +++++++ doc/app/ThemengruppenController.html | 903 +++++++++++ doc/app/ThemengruppenHelper.html | 381 +++++ doc/app/TinymceTextInput.html | 438 ++++++ doc/app/UploaderInput.html | 1097 +++++++++++++ doc/app/User.html | 607 ++++++++ doc/app/Users.html | 388 +++++ .../Users/OmniauthCallbacksController.html | 539 +++++++ doc/app/UsersController.html | 683 +++++++++ .../application_controller_rb.html | 52 + .../attachments_controller_rb.html | 52 + .../controllers/beispiele_controller_rb.html | 52 + .../controllers/calendars_controller_rb.html | 52 + .../controllers/calentries_controller_rb.html | 52 + .../controllers/comments_controller_rb.html | 52 + .../app/controllers/config_controller_rb.html | 52 + .../controllers/crawler_controller_rb.html | 52 + .../controllers/documents_controller_rb.html | 52 + .../app/controllers/emails_controller_rb.html | 52 + .../fetprofiles_controller_rb.html | 52 + .../fetzneditions_controller_rb.html | 52 + .../app/controllers/fotos_controller_rb.html | 52 + .../app/controllers/fragen_controller_rb.html | 52 + .../controllers/galleries_controller_rb.html | 52 + .../controllers/gremien_controller_rb.html | 52 + .../app/controllers/home_controller_rb.html | 52 + .../controllers/lecturers_controller_rb.html | 52 + .../app/controllers/lvas_controller_rb.html | 54 + .../controllers/meetings_controller_rb.html | 52 + .../meetingtyps_controller_rb.html | 52 + .../memberships_controller_rb.html | 52 + .../modulgruppen_controller_rb.html | 52 + .../app/controllers/moduls_controller_rb.html | 52 + .../neuigkeiten_controller_rb.html | 52 + .../controllers/rubriken_controller_rb.html | 52 + .../controllers/semesters_controller_rb.html | 52 + .../controllers/studien_controller_rb.html | 52 + .../survey/choices_controller_rb.html | 52 + .../survey/questions_controller_rb.html | 52 + .../app/controllers/themen_controller_rb.html | 54 + .../themengruppen_controller_rb.html | 52 + .../omniauth_callbacks_controller_rb.html | 52 + .../app/controllers/users_controller_rb.html | 52 + .../app/helpers/application_helper_rb.html | 52 + .../app/helpers/attachments_helper_rb.html | 52 + doc/app/app/helpers/beispiele_helper_rb.html | 52 + doc/app/app/helpers/calendars_helper_rb.html | 52 + doc/app/app/helpers/calentries_helper_rb.html | 52 + doc/app/app/helpers/comments_helper_rb.html | 52 + .../app/helpers/crawlobject_helper_rb.html | 52 + .../app/helpers/fetprofiles_helper_rb.html | 52 + .../app/helpers/fetzneditions_helper_rb.html | 52 + doc/app/app/helpers/fotos_helper_rb.html | 52 + doc/app/app/helpers/fragen_helper_rb.html | 52 + doc/app/app/helpers/galleries_helper_rb.html | 52 + doc/app/app/helpers/gremien_helper_rb.html | 52 + doc/app/app/helpers/lecturers_helper_rb.html | 52 + doc/app/app/helpers/lvas_helper_rb.html | 52 + doc/app/app/helpers/mailer_helper_rb.html | 52 + doc/app/app/helpers/meetings_helper_rb.html | 52 + .../app/helpers/meetingtyps_helper_rb.html | 52 + .../app/helpers/memberships_helper_rb.html | 52 + .../app/helpers/modulgruppen_helper_rb.html | 52 + doc/app/app/helpers/moduls_helper_rb.html | 52 + .../app/helpers/neuigkeiten_helper_rb.html | 52 + doc/app/app/helpers/pages_helper_rb.html | 52 + doc/app/app/helpers/plugins_helper_rb.html | 52 + doc/app/app/helpers/rubriken_helper_rb.html | 52 + doc/app/app/helpers/semesters_helper_rb.html | 52 + doc/app/app/helpers/studien_helper_rb.html | 52 + doc/app/app/helpers/studmods_helper_rb.html | 52 + .../app/helpers/survey/answers_helper_rb.html | 52 + .../app/helpers/survey/choices_helper_rb.html | 52 + .../helpers/survey/questions_helper_rb.html | 52 + doc/app/app/helpers/themen_helper_rb.html | 52 + .../app/helpers/themengruppen_helper_rb.html | 52 + .../checkbox_autocomplete_input_rb.html | 52 + doc/app/app/inputs/date_string_input_rb.html | 52 + doc/app/app/inputs/datepicker_input_rb.html | 52 + .../app/inputs/datetimepicker_input_rb.html | 52 + doc/app/app/inputs/tinymce_text_input_rb.html | 52 + doc/app/app/inputs/uploader_input_rb.html | 72 + doc/app/app/mailers/confirmmailer_rb.html | 52 + doc/app/app/mailers/news_mailer_rb.html | 52 + doc/app/app/models/ability_rb.html | 54 + doc/app/app/models/attachment_rb.html | 63 + doc/app/app/models/beispiel_rb.html | 64 + doc/app/app/models/calendar_rb.html | 63 + doc/app/app/models/calentry_rb.html | 64 + doc/app/app/models/comment_rb.html | 52 + doc/app/app/models/crawlobject_rb.html | 52 + doc/app/app/models/document_rb.html | 58 + doc/app/app/models/fetprofile_rb.html | 67 + doc/app/app/models/fetznedition_rb.html | 64 + doc/app/app/models/foto_rb.html | 64 + doc/app/app/models/frage_rb.html | 63 + doc/app/app/models/gallery_rb.html | 63 + doc/app/app/models/gremium_rb.html | 63 + doc/app/app/models/key_rb.html | 52 + doc/app/app/models/lecturer_rb.html | 64 + doc/app/app/models/lva_rb.html | 70 + doc/app/app/models/meeting_rb.html | 52 + doc/app/app/models/meetingtyp_rb.html | 52 + doc/app/app/models/membership_rb.html | 65 + doc/app/app/models/modul_rb.html | 63 + doc/app/app/models/modulgruppe_rb.html | 65 + doc/app/app/models/neuigkeit_rb.html | 65 + doc/app/app/models/nlink_rb.html | 52 + doc/app/app/models/role_rb.html | 63 + doc/app/app/models/rubrik_rb.html | 63 + doc/app/app/models/semester_rb.html | 64 + doc/app/app/models/studium_rb.html | 66 + doc/app/app/models/survey/answer_rb.html | 52 + doc/app/app/models/survey/choice_rb.html | 52 + doc/app/app/models/survey/question_rb.html | 52 + doc/app/app/models/survey_rb.html | 52 + doc/app/app/models/thema_rb.html | 70 + doc/app/app/models/themengruppe_rb.html | 62 + doc/app/app/models/user_rb.html | 77 + .../app/uploaders/attachment_uploader_rb.html | 52 + .../uploaders/beispieldatei_uploader_rb.html | 52 + doc/app/app/uploaders/foto_uploader_rb.html | 52 + .../app/uploaders/picture_uploader_rb.html | 52 + doc/app/created.rid | 119 ++ doc/app/doc/README_FOR_APP.html | 338 ++++ doc/app/images/brick.png | Bin 0 -> 452 bytes doc/app/images/brick_link.png | Bin 0 -> 764 bytes doc/app/images/bug.png | Bin 0 -> 774 bytes doc/app/images/bullet_black.png | Bin 0 -> 211 bytes doc/app/images/bullet_toggle_minus.png | Bin 0 -> 207 bytes doc/app/images/bullet_toggle_plus.png | Bin 0 -> 209 bytes doc/app/images/date.png | Bin 0 -> 626 bytes doc/app/images/find.png | Bin 0 -> 659 bytes doc/app/images/loadingAnimation.gif | Bin 0 -> 5886 bytes doc/app/images/macFFBgHack.png | Bin 0 -> 207 bytes doc/app/images/package.png | Bin 0 -> 853 bytes doc/app/images/page_green.png | Bin 0 -> 621 bytes doc/app/images/page_white_text.png | Bin 0 -> 342 bytes doc/app/images/page_white_width.png | Bin 0 -> 309 bytes doc/app/images/plugin.png | Bin 0 -> 591 bytes doc/app/images/ruby.png | Bin 0 -> 592 bytes doc/app/images/tag_green.png | Bin 0 -> 613 bytes doc/app/images/wrench.png | Bin 0 -> 610 bytes doc/app/images/wrench_orange.png | Bin 0 -> 584 bytes doc/app/images/zoom.png | Bin 0 -> 692 bytes doc/app/index.html | 1358 +++++++++++++++++ doc/app/js/darkfish.js | 118 ++ doc/app/js/jquery.js | 32 + doc/app/js/quicksearch.js | 114 ++ doc/app/js/thickbox-compressed.js | 10 + doc/app/lib/flagable_rb.html | 52 + doc/app/lib/is_commentable_rb.html | 52 + doc/app/lib/like_voteable_rb.html | 52 + doc/app/rdoc.css | 763 +++++++++ lib/flagable.rb | 2 +- 273 files changed, 82098 insertions(+), 4 deletions(-) create mode 100644 doc/app/Ability.html create mode 100644 doc/app/ApplicationController.html create mode 100644 doc/app/ApplicationHelper.html create mode 100644 doc/app/Attachment.html create mode 100644 doc/app/AttachmentUploader.html create mode 100644 doc/app/AttachmentsController.html create mode 100644 doc/app/AttachmentsHelper.html create mode 100644 doc/app/Beispiel.html create mode 100644 doc/app/BeispieldateiUploader.html create mode 100644 doc/app/BeispieleController.html create mode 100644 doc/app/BeispieleHelper.html create mode 100644 doc/app/Calendar.html create mode 100644 doc/app/CalendarsController.html create mode 100644 doc/app/CalendarsHelper.html create mode 100644 doc/app/CalentriesController.html create mode 100644 doc/app/CalentriesHelper.html create mode 100644 doc/app/Calentry.html create mode 100644 doc/app/CheckboxAutocompleteInput.html create mode 100644 doc/app/Comment.html create mode 100644 doc/app/CommentsController.html create mode 100644 doc/app/CommentsHelper.html create mode 100644 doc/app/ConfigController.html create mode 100644 doc/app/Confirmmailer.html create mode 100644 doc/app/CrawlerController.html create mode 100644 doc/app/Crawlobject.html create mode 100644 doc/app/CrawlobjectHelper.html create mode 100644 doc/app/DateStringInput.html create mode 100644 doc/app/DatepickerInput.html create mode 100644 doc/app/DatetimepickerInput.html create mode 100644 doc/app/Document.html create mode 100644 doc/app/DocumentsController.html create mode 100644 doc/app/EmailsController.html create mode 100644 doc/app/Fetprofile.html create mode 100644 doc/app/FetprofilesController.html create mode 100644 doc/app/FetprofilesHelper.html create mode 100644 doc/app/Fetznedition.html create mode 100644 doc/app/FetzneditionsController.html create mode 100644 doc/app/FetzneditionsHelper.html create mode 100644 doc/app/Flagable.html create mode 100644 doc/app/Flagable/ActsAsFlagableController.html create mode 100644 doc/app/Flagable/ActsAsFlagableController/ClassMethods.html create mode 100644 doc/app/Flagable/ActsAsFlagableController/LocalClassMethods.html create mode 100644 doc/app/Flagable/ActsAsFlagableController/LocalInstanceMethods.html create mode 100644 doc/app/Flagable/ActsAsFlagableRecord.html create mode 100644 doc/app/Flagable/ActsAsFlagableRecord/ClassMethods.html create mode 100644 doc/app/Flagable/ActsAsFlagableRecord/LocalInstanceMethods.html create mode 100644 doc/app/Flagable/FlagableHelper.html create mode 100644 doc/app/Foto.html create mode 100644 doc/app/FotoUploader.html create mode 100644 doc/app/FotosController.html create mode 100644 doc/app/FotosHelper.html create mode 100644 doc/app/Frage.html create mode 100644 doc/app/FragenController.html create mode 100644 doc/app/FragenHelper.html create mode 100644 doc/app/GalleriesController.html create mode 100644 doc/app/GalleriesHelper.html create mode 100644 doc/app/Gallery.html create mode 100644 doc/app/GremienController.html create mode 100644 doc/app/GremienHelper.html create mode 100644 doc/app/Gremium.html create mode 100644 doc/app/HomeController.html create mode 100644 doc/app/IsCommentable.html create mode 100644 doc/app/IsCommentable/InstanceMethods.html create mode 100644 doc/app/Key.html create mode 100644 doc/app/Lecturer.html create mode 100644 doc/app/LecturersController.html create mode 100644 doc/app/LecturersHelper.html create mode 100644 doc/app/LikeVoteable.html create mode 100644 doc/app/LikeVoteable/InstanceMethods.html create mode 100644 doc/app/Lva.html create mode 100644 doc/app/LvasController.html create mode 100644 doc/app/MailerHelper.html create mode 100644 doc/app/Meeting.html create mode 100644 doc/app/MeetingsController.html create mode 100644 doc/app/MeetingsHelper.html create mode 100644 doc/app/Meetingtyp.html create mode 100644 doc/app/MeetingtypsController.html create mode 100644 doc/app/MeetingtypsHelper.html create mode 100644 doc/app/Membership.html create mode 100644 doc/app/MembershipsController.html create mode 100644 doc/app/MembershipsHelper.html create mode 100644 doc/app/Modul.html create mode 100644 doc/app/Modulgruppe.html create mode 100644 doc/app/ModulgruppenController.html create mode 100644 doc/app/ModulgruppenHelper.html create mode 100644 doc/app/ModulsController.html create mode 100644 doc/app/ModulsHelper.html create mode 100644 doc/app/Neuigkeit.html create mode 100644 doc/app/NeuigkeitenController.html create mode 100644 doc/app/NewsMailer.html create mode 100644 doc/app/Nlink.html create mode 100644 doc/app/PagesHelper.html create mode 100644 doc/app/PictureUploader.html create mode 100644 doc/app/PluginsHelper.html create mode 100644 doc/app/Role.html create mode 100644 doc/app/Rubrik.html create mode 100644 doc/app/RubrikenController.html create mode 100644 doc/app/RubrikenHelper.html create mode 100644 doc/app/Semester.html create mode 100644 doc/app/SemestersController.html create mode 100644 doc/app/SemestersHelper.html create mode 100644 doc/app/StudienController.html create mode 100644 doc/app/StudienHelper.html create mode 100644 doc/app/Studium.html create mode 100644 doc/app/StudmodsHelper.html create mode 100644 doc/app/Survey.html create mode 100644 doc/app/Survey/Answer.html create mode 100644 doc/app/Survey/AnswersHelper.html create mode 100644 doc/app/Survey/Choice.html create mode 100644 doc/app/Survey/ChoicesController.html create mode 100644 doc/app/Survey/ChoicesHelper.html create mode 100644 doc/app/Survey/Question.html create mode 100644 doc/app/Survey/QuestionsController.html create mode 100644 doc/app/Survey/QuestionsHelper.html create mode 100644 doc/app/Thema.html create mode 100644 doc/app/ThemenController.html create mode 100644 doc/app/ThemenHelper.html create mode 100644 doc/app/Themengruppe.html create mode 100644 doc/app/ThemengruppenController.html create mode 100644 doc/app/ThemengruppenHelper.html create mode 100644 doc/app/TinymceTextInput.html create mode 100644 doc/app/UploaderInput.html create mode 100644 doc/app/User.html create mode 100644 doc/app/Users.html create mode 100644 doc/app/Users/OmniauthCallbacksController.html create mode 100644 doc/app/UsersController.html create mode 100644 doc/app/app/controllers/application_controller_rb.html create mode 100644 doc/app/app/controllers/attachments_controller_rb.html create mode 100644 doc/app/app/controllers/beispiele_controller_rb.html create mode 100644 doc/app/app/controllers/calendars_controller_rb.html create mode 100644 doc/app/app/controllers/calentries_controller_rb.html create mode 100644 doc/app/app/controllers/comments_controller_rb.html create mode 100644 doc/app/app/controllers/config_controller_rb.html create mode 100644 doc/app/app/controllers/crawler_controller_rb.html create mode 100644 doc/app/app/controllers/documents_controller_rb.html create mode 100644 doc/app/app/controllers/emails_controller_rb.html create mode 100644 doc/app/app/controllers/fetprofiles_controller_rb.html create mode 100644 doc/app/app/controllers/fetzneditions_controller_rb.html create mode 100644 doc/app/app/controllers/fotos_controller_rb.html create mode 100644 doc/app/app/controllers/fragen_controller_rb.html create mode 100644 doc/app/app/controllers/galleries_controller_rb.html create mode 100644 doc/app/app/controllers/gremien_controller_rb.html create mode 100644 doc/app/app/controllers/home_controller_rb.html create mode 100644 doc/app/app/controllers/lecturers_controller_rb.html create mode 100644 doc/app/app/controllers/lvas_controller_rb.html create mode 100644 doc/app/app/controllers/meetings_controller_rb.html create mode 100644 doc/app/app/controllers/meetingtyps_controller_rb.html create mode 100644 doc/app/app/controllers/memberships_controller_rb.html create mode 100644 doc/app/app/controllers/modulgruppen_controller_rb.html create mode 100644 doc/app/app/controllers/moduls_controller_rb.html create mode 100644 doc/app/app/controllers/neuigkeiten_controller_rb.html create mode 100644 doc/app/app/controllers/rubriken_controller_rb.html create mode 100644 doc/app/app/controllers/semesters_controller_rb.html create mode 100644 doc/app/app/controllers/studien_controller_rb.html create mode 100644 doc/app/app/controllers/survey/choices_controller_rb.html create mode 100644 doc/app/app/controllers/survey/questions_controller_rb.html create mode 100644 doc/app/app/controllers/themen_controller_rb.html create mode 100644 doc/app/app/controllers/themengruppen_controller_rb.html create mode 100644 doc/app/app/controllers/users/omniauth_callbacks_controller_rb.html create mode 100644 doc/app/app/controllers/users_controller_rb.html create mode 100644 doc/app/app/helpers/application_helper_rb.html create mode 100644 doc/app/app/helpers/attachments_helper_rb.html create mode 100644 doc/app/app/helpers/beispiele_helper_rb.html create mode 100644 doc/app/app/helpers/calendars_helper_rb.html create mode 100644 doc/app/app/helpers/calentries_helper_rb.html create mode 100644 doc/app/app/helpers/comments_helper_rb.html create mode 100644 doc/app/app/helpers/crawlobject_helper_rb.html create mode 100644 doc/app/app/helpers/fetprofiles_helper_rb.html create mode 100644 doc/app/app/helpers/fetzneditions_helper_rb.html create mode 100644 doc/app/app/helpers/fotos_helper_rb.html create mode 100644 doc/app/app/helpers/fragen_helper_rb.html create mode 100644 doc/app/app/helpers/galleries_helper_rb.html create mode 100644 doc/app/app/helpers/gremien_helper_rb.html create mode 100644 doc/app/app/helpers/lecturers_helper_rb.html create mode 100644 doc/app/app/helpers/lvas_helper_rb.html create mode 100644 doc/app/app/helpers/mailer_helper_rb.html create mode 100644 doc/app/app/helpers/meetings_helper_rb.html create mode 100644 doc/app/app/helpers/meetingtyps_helper_rb.html create mode 100644 doc/app/app/helpers/memberships_helper_rb.html create mode 100644 doc/app/app/helpers/modulgruppen_helper_rb.html create mode 100644 doc/app/app/helpers/moduls_helper_rb.html create mode 100644 doc/app/app/helpers/neuigkeiten_helper_rb.html create mode 100644 doc/app/app/helpers/pages_helper_rb.html create mode 100644 doc/app/app/helpers/plugins_helper_rb.html create mode 100644 doc/app/app/helpers/rubriken_helper_rb.html create mode 100644 doc/app/app/helpers/semesters_helper_rb.html create mode 100644 doc/app/app/helpers/studien_helper_rb.html create mode 100644 doc/app/app/helpers/studmods_helper_rb.html create mode 100644 doc/app/app/helpers/survey/answers_helper_rb.html create mode 100644 doc/app/app/helpers/survey/choices_helper_rb.html create mode 100644 doc/app/app/helpers/survey/questions_helper_rb.html create mode 100644 doc/app/app/helpers/themen_helper_rb.html create mode 100644 doc/app/app/helpers/themengruppen_helper_rb.html create mode 100644 doc/app/app/inputs/checkbox_autocomplete_input_rb.html create mode 100644 doc/app/app/inputs/date_string_input_rb.html create mode 100644 doc/app/app/inputs/datepicker_input_rb.html create mode 100644 doc/app/app/inputs/datetimepicker_input_rb.html create mode 100644 doc/app/app/inputs/tinymce_text_input_rb.html create mode 100644 doc/app/app/inputs/uploader_input_rb.html create mode 100644 doc/app/app/mailers/confirmmailer_rb.html create mode 100644 doc/app/app/mailers/news_mailer_rb.html create mode 100644 doc/app/app/models/ability_rb.html create mode 100644 doc/app/app/models/attachment_rb.html create mode 100644 doc/app/app/models/beispiel_rb.html create mode 100644 doc/app/app/models/calendar_rb.html create mode 100644 doc/app/app/models/calentry_rb.html create mode 100644 doc/app/app/models/comment_rb.html create mode 100644 doc/app/app/models/crawlobject_rb.html create mode 100644 doc/app/app/models/document_rb.html create mode 100644 doc/app/app/models/fetprofile_rb.html create mode 100644 doc/app/app/models/fetznedition_rb.html create mode 100644 doc/app/app/models/foto_rb.html create mode 100644 doc/app/app/models/frage_rb.html create mode 100644 doc/app/app/models/gallery_rb.html create mode 100644 doc/app/app/models/gremium_rb.html create mode 100644 doc/app/app/models/key_rb.html create mode 100644 doc/app/app/models/lecturer_rb.html create mode 100644 doc/app/app/models/lva_rb.html create mode 100644 doc/app/app/models/meeting_rb.html create mode 100644 doc/app/app/models/meetingtyp_rb.html create mode 100644 doc/app/app/models/membership_rb.html create mode 100644 doc/app/app/models/modul_rb.html create mode 100644 doc/app/app/models/modulgruppe_rb.html create mode 100644 doc/app/app/models/neuigkeit_rb.html create mode 100644 doc/app/app/models/nlink_rb.html create mode 100644 doc/app/app/models/role_rb.html create mode 100644 doc/app/app/models/rubrik_rb.html create mode 100644 doc/app/app/models/semester_rb.html create mode 100644 doc/app/app/models/studium_rb.html create mode 100644 doc/app/app/models/survey/answer_rb.html create mode 100644 doc/app/app/models/survey/choice_rb.html create mode 100644 doc/app/app/models/survey/question_rb.html create mode 100644 doc/app/app/models/survey_rb.html create mode 100644 doc/app/app/models/thema_rb.html create mode 100644 doc/app/app/models/themengruppe_rb.html create mode 100644 doc/app/app/models/user_rb.html create mode 100644 doc/app/app/uploaders/attachment_uploader_rb.html create mode 100644 doc/app/app/uploaders/beispieldatei_uploader_rb.html create mode 100644 doc/app/app/uploaders/foto_uploader_rb.html create mode 100644 doc/app/app/uploaders/picture_uploader_rb.html create mode 100644 doc/app/created.rid create mode 100644 doc/app/doc/README_FOR_APP.html create mode 100644 doc/app/images/brick.png create mode 100644 doc/app/images/brick_link.png create mode 100644 doc/app/images/bug.png create mode 100644 doc/app/images/bullet_black.png create mode 100644 doc/app/images/bullet_toggle_minus.png create mode 100644 doc/app/images/bullet_toggle_plus.png create mode 100644 doc/app/images/date.png create mode 100644 doc/app/images/find.png create mode 100644 doc/app/images/loadingAnimation.gif create mode 100644 doc/app/images/macFFBgHack.png create mode 100644 doc/app/images/package.png create mode 100644 doc/app/images/page_green.png create mode 100644 doc/app/images/page_white_text.png create mode 100644 doc/app/images/page_white_width.png create mode 100644 doc/app/images/plugin.png create mode 100644 doc/app/images/ruby.png create mode 100644 doc/app/images/tag_green.png create mode 100644 doc/app/images/wrench.png create mode 100644 doc/app/images/wrench_orange.png create mode 100644 doc/app/images/zoom.png create mode 100644 doc/app/index.html create mode 100644 doc/app/js/darkfish.js create mode 100644 doc/app/js/jquery.js create mode 100644 doc/app/js/quicksearch.js create mode 100644 doc/app/js/thickbox-compressed.js create mode 100644 doc/app/lib/flagable_rb.html create mode 100644 doc/app/lib/is_commentable_rb.html create mode 100644 doc/app/lib/like_voteable_rb.html create mode 100644 doc/app/rdoc.css diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3310e49..83439b9 100755 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -42,8 +42,9 @@ m.save # current_url1({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/" language_path(locale: target_locale) end + def ffi1_icon (name) - content_tag("i","", class: "ficon ffi1-"+name ) + content_tag("i", "", class: "ficon ffi1-" + name ) end def ffi2_icon (name) @@ -54,8 +55,11 @@ m.save end def fa_stack(icon1, icon2) - content_tag("span", content_tag("span", content_tag("i","", class: "ficon "+" fa-"+icon1+" fa fa-stack-1x" ) + content_tag("i","", class: "ficon "+" fa-"+icon2+" fa fa-stack-2x" ),class: "fa-stack "),class:"fa-stack-sm") - + h_1 = content_tag("span", content_tag("i","", class: "ficon "+" fa-"+icon1+" fa fa-stack-1x" ) + content_tag("i","", class: "ficon "+" fa-"+icon2+" fa fa-stack-2x" ),class: "fa-stack ") + + h_2 = content_tag("span", h_1 ,class: "fa-stack-sm") + + h_2 end def ffi1_list y=YAML.load_file("#{::Rails.root.to_s}/config/flatfeticon1.yml") diff --git a/doc/app/Ability.html b/doc/app/Ability.html new file mode 100644 index 0000000..18d7a54 --- /dev/null +++ b/doc/app/Ability.html @@ -0,0 +1,689 @@ + + + + + + + Class: Ability + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Ability

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new(user,request=nil,key=nil) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/ability.rb, line 4
+  def initialize(user,request=nil,key=nil)
+    tunet=IPAddr.new("128.131.95.0/24")
+local=IPAddr.new("127.0.0.1")
+    loggedin=!(user.nil?)
+    unless key.nil?
+      k=Key.find_by_uuid(key)
+      if !k.nil? && k.is_valid && k.typ == 0
+        user=k.user
+      end
+    end
+    user ||=  User.new # guest user (not logged in)
+    if  (user.has_role?("fetuser") || user.has_role?("fetadmin") || tunet.include?(IPAddr.new(request.remote_ip)) || local.include?(IPAddr.new(request.remote_ip)))
+    can :infoscreen, User
+    end
+
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can [:show,:answer, :create,:new, :create_from_template, :flag], Survey::Question
+      can [:edit, :update, :flag_delete], Survey::Question, :flag_locked=>false
+      can :flag_locked, Survey::Question, :user_id=>user.id
+      can [:show,:new], Survey::Choice
+      can [:edit,:update, :delete,:create], Survey::Choice, :question=>{:flag_locked=>false}
+      can :manage, Survey::Answer
+    end
+    if user.has_role?("fetadmin")
+      can [:delete,:flag_template], Survey::Question
+    end
+    #---------------------------------------------------
+    
+    can [:index,:hide], Comment
+    can :show, Comment
+    
+    if loggedin
+      can [:create,:new], Comment
+      can [:comment], Comment
+    end
+
+  #  can :manage, Comment
+    unless user.has_role?("fetadmin")
+      cannot :delete, Comment
+cannot :destroy, Comment
+    end
+    #-----------------------------------------------------
+    # Rechteverwaltung fuer Studien Modul
+    can [:show, :index], Studium, :visible=>true
+    can [:show], Modulgruppe
+    can [:show, :index], Modul
+    can [:show, :index, :beispiel_sammlung], Lva
+    can [:create, :show], Beispiel, flag_delete: false
+    if loggedin
+      can :like, Beispiel
+      can :dislike, Beispiel    
+    end
+    if ((user.has_role?("moderator",Beispiel)) || user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can :flag, Beispiel
+    can [:create, :show], Beispiel, flag_delete: true
+
+      can [:edit, :update], Beispiel
+      can :flag, Beispiel
+      can :set_lecturer, Beispiel
+      can :flag_delete, Beispiel
+      can :flag_goodquality, Beispiel
+      can :flag_badquality, Beispiel
+
+    end
+    if (user.has_role?("moderator",Lva))
+      can [:verwalten, :edit, :compare_tiss, :load_tiss, :update], Lva
+    end
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can :manage, Modulgruppe
+      can :manage, Modul
+      can :manage, Lva
+      can :manage, Studium
+      #can :manage, Beispiel
+      can :comment, Beispiel
+      
+      can :manage, Lecturer
+      
+    end
+    unless user.has_role?("fetadmin")
+      cannot :delete, Studium    
+      cannot :delete, Modulgruppe
+      cannot :delete, Modul
+  
+    end
+    if user.has_role?("fetadmin")
+    can [:index, :parse, :show], Crawlobject
+end
+    #-----------------------------------------------------
+    # Rechteverwaltung fuer Informationen
+    can [:show, :index,:faqs], Themengruppe, :public=>true  
+    can [:show], Thema, :isdraft=>false,  :themengruppe=>{:public=>true}
+    can :show, Frage
+    if loggedin
+    end
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can :manage, Frage
+      can :showdraft , Thema
+      can :showintern, Thema
+      can :manage, Thema
+      can [:index, :faqs, :show,:new,:edit, :verwalten_all, :verwalten, :sort_themengruppen, :sort_themen, :create, :update ], Themengruppe
+      can :manage, Attachment
+    end
+    can [:update,:edit,:verwalten, :showdraft], Thema, :id=>Thema.with_role(:editor, user).pluck(:id)
+    can [:index, :faqs, :show,:new,:edit, :verwalten_all, :verwalten, :sort_themengruppen, :sort_themen, :create, :update, :delete], Thema, :themengruppe_id=>Themengruppe.with_role(:admin,user).pluck(:id)
+    can :delete, Themengruppe, :id=>Themengruppe.with_role(:admin,user).pluck(:id)
+    if user.has_role?("fetadmin")
+      can :delete, Themengruppe
+      can :delete, Thema
+    end
+
+    unless user.has_role?("fetadmin")
+      cannot :delete, Themengruppe
+      cannot :delete, Thema
+    end
+
+    #-----------------------------------------------------
+    # Rechteverwaltung fuer Fotos
+
+#    can [:show,:index], Gallery, :intern=>false
+      can [:show,:index], Gallery
+      can :show, Foto
+
+    if loggedin
+    end
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can :manage, Gallery
+      can :manage, Foto
+    end
+    unless user.has_role?("fetadmin")
+      cannot :delete, Gallery
+    end
+    
+    #-----------------------------------------------------
+    # Rechteverwaltung fuer Mitarbeiter
+    can [:show, :index], Fetprofile
+    can [:show, :index],Gremium
+    if loggedin
+    end
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can :manage, Fetprofile
+      can :manage, Gremium
+      can :manage, Membership
+    end
+    unless user.has_role?("fetadmin")
+      cannot :delete, Fetprofile
+      cannot :delete ,Gremium
+    end
+    
+    #-----------------------------------------------------
+    # Rechteverwaltung fuer Neuigkeiten
+    can :index, Rubrik
+    can [:show], Rubrik, :public=>true
+    can [:list], Neuigkeit, :cache_is_published=>true,  :rubrik=>{:public=>true}
+    can :show, Neuigkeit, :cache_is_published=>true, :rubrik=>{:public=>true}
+
+    if loggedin
+      can :show, :id => user.id
+    end
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+
+      can :showversions, Neuigkeit
+      can :showintern, Neuigkeit
+      can :showintern, Rubrik
+      can :seeintern, User
+      can :set_preferred_theme, user
+      can :list, Neuigkeit
+      can :shownonpublic, Rubrik
+      can :manage, Nlink
+    end
+    if user.has_role?("newsadmin") || user.has_role?("fetadmin") 
+      can :addmoderator, Rubrik
+    end    
+    if user.has_role?("fetadmin")
+      can :addfetuser, User
+      can :addfetadmin, User
+      can :add_role, User
+      can :show, User
+      can :index, User
+      can :edit, User
+      can :manage, User
+      can :set_preferred_theme, User
+    end
+    
+    if user.has_role?("newsadmin") || user.has_role?( "fetadmin") || user.has_role?( "fetuser") 
+      can :manage, Rubrik
+      can :manage, Neuigkeit
+      can :showunpublished, Neuigkeit
+    end
+    unless user.has_role?("fetadmin")
+      cannot :delete, Rubrik
+      cannot :delete, Neuigkeit
+    end
+    # Calendar
+
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can [:show, :edit, :update,:new,:create,:write, :write_etherpad, :read_from_etherpad, :dump_to_etherpad, :search], Document
+      can :manage, Meeting
+      can :manage, Meetingtyp
+    end    
+    if user.has_role?("fetadmin")
+      can :manage, Document
+    end
+    if loggedin
+    end
+    can :show, Document, :typ=>11
+    unless user.has_role?( "fetadmin")
+      cannot :delete, Document
+      cannot :delete, Meeting
+    end
+    if user.has_role?( "fetadmin")
+      can :manage, Meetingtyp
+      
+    end
+    
+    # Rechteverwaltung Kalender 
+    can [:show, :index], Calendar, :public => true 
+    can [:showics], Calendar
+    # can [:show], Calentry
+    if  (!k.nil? && k.typ==1 && (k.user.has_role?("fetuser")||k.user.has_role?("fetadmin")))  
+      if k.parent.nil?
+        can [:show,:index], Calendar
+      else
+        can [:show], Calendar, id: k.parent_id
+      end 
+    end
+
+    if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
+      can [:show,:index], Calendar
+      can  [:edit, :update,:new,:create,:verwalten], Calendar
+      can  [:edit, :update,:new,:create,:verwalten,:delete], Calentry
+    end
+    if( user.has_role?("fetadmin"))
+      can [:delete],Calendar
+      can [:delete],Calentry
+      can :doadmin, User
+    end
+
+    if user.has_role?("fetadmin")
+      can :emails,User
+    end
+    
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ApplicationController.html b/doc/app/ApplicationController.html new file mode 100644 index 0000000..fbed3bd --- /dev/null +++ b/doc/app/ApplicationController.html @@ -0,0 +1,606 @@ + + + + + + + Class: ApplicationController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ApplicationController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Protected Instance Methods

+ + +
+ + + +
+ after_sign_in_path_for(resource) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/application_controller.rb, line 29
+def after_sign_in_path_for(resource)
+  sign_in_url = new_user_session_path(:only_path => false, :protocol => 'http')
+  if request.referer == sign_in_url
+    super
+  else
+    stored_location_for(resource) || root_path
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ current_ability() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/application_controller.rb, line 68
+def current_ability
+ @current_ability ||= Ability.new(current_user, request, params[:key])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ default_url_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/application_controller.rb, line 71
+def default_url_options
+  {locale: nil, theme: nil , ansicht: nil} # I18n.locale
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ get_theme() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/application_controller.rb, line 58
+  def get_theme
+u=current_user
+ if ! u.try(:preferredtheme).nil? and ThemesForRails.available_theme_names.include?(u.preferredtheme) 
+      u.preferredtheme
+  else
+    "blue2"
+  end
+
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ set_i18n_locale_from_params() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/application_controller.rb, line 8
+def set_i18n_locale_from_params
+  if params[:locale]
+    if I18n.available_locales.include?(params[:locale].to_sym)
+      session[:locale] = params[:locale]
+    else
+      flash.now[:notice]= "#{params[:locale]} translation not available"
+      logger.error flash.now[:notice]
+    end
+  end
+  http_header=request.env['HTTP_ACCEPT_LANGUAGE']
+  unless http_header.nil?
+   ht= http_header.scan(/^de|en/).first
+  else
+    ht=nil
+  end
+  I18n.locale = session[:locale]  || I18n.default_locale
+  # removed ht from selection add || ht to check http header
+
+  session[:locale] = I18n.locale
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ApplicationHelper.html b/doc/app/ApplicationHelper.html new file mode 100644 index 0000000..3b2d8e7 --- /dev/null +++ b/doc/app/ApplicationHelper.html @@ -0,0 +1,1189 @@ + + + + + + + Module: ApplicationHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ + + +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ApplicationHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ absurl(path) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 126
+def absurl(path)
+   if path.nil?
+     return nil
+   end
+  url=URI(root_url)
+  url.path=path
+  return url
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ cache_array_key(array,prefix="") + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 2
+  def cache_array_key(array,prefix="")
+ return "empty_array" if array.nil? or array.empty?
+ prefix+array.map{|c| c.id}.join('_')+"_"+array.max{|c|c.updated_at.to_i}.updated_at.try(:utc).to_s+"_"+I18n.locale.to_s 
+# array.map{|c| c.id}.join('')+"_"+array.map{|c|c.try(:updated_at).try(:utc).to_s}.join('') +"_"+I18n.locale.to_s
+ 
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ clean_calendar(cal) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 9
+def clean_calendar(cal)
+  cal.rubrik.meetingtyps.each do |mt| 
+    mt.meetings.each do |m|
+      m.calentry.calendar=cal
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ convert_topic_to_meeting(t,mt) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 24
+  def convert_topic_to_meeting(t,mt)
+    m=Meeting.new_with_date_and_typ(t,t.title.to_date+16.hour,mt)
+    m.save
+    m.create_protocol
+    m.protocol.text=t.text
+    m.protocol.save
+    m.update_time_from_protocol
+m.save
+
+    t.meetings << m
+    t.save
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ current_url1(overwrite={}) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 36
+def current_url1(overwrite={})
+  url_for  :params => params.merge(overwrite).except(:controller,:action,:ansicht)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fa_list() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 73
+def fa_list 
+  y=YAML.load_file("#{::Rails.root.to_s}/config/fontawesome.yml")
+  y["fa"]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fa_stack(icon1, icon2) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 57
+def fa_stack(icon1, icon2)
+  h_1 = content_tag("span", content_tag("i","", class: "ficon "+" fa-"+icon1+" fa fa-stack-1x" ) + content_tag("i","", class: "ficon "+" fa-"+icon2+" fa fa-stack-2x" ),class: "fa-stack ")
+  
+  h_2 = content_tag("span", h_1 ,class: "fa-stack-sm")
+ 
+  h_2
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ff_icon(name) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 53
+def ff_icon (name)
+  content_tag("i","", class: "ficon "+name )
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ffi1_icon(name) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 46
+def ffi1_icon (name)
+  content_tag("i", "", class: "ficon ffi1-" + name )
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ffi1_list() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 64
+def ffi1_list 
+  y=YAML.load_file("#{::Rails.root.to_s}/config/flatfeticon1.yml")
+  y["ffi1"]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ffi2_icon(name) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 50
+def ffi2_icon (name)
+  content_tag("i","", class: "ficon ffi2-"+name )
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ffi2_list() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 68
+def ffi2_list 
+  y=YAML.load_file("#{::Rails.root.to_s}/config/flatfeticon2.yml")
+  y["ffi2"]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ get_theme_help(u) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 135
+  def get_theme_help(u)
+
+#  if params[:theme]== "default" || params[:theme]=="2003" || params[:theme].nil?
+#    params[:theme]="blue1"
+#    end
+    if ! u.try(:preferredtheme).nil? and ThemesForRails.available_theme_names.include?(u.preferredtheme) 
+      u.preferredtheme
+  else
+    "blue1"
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ li_tag(content) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 161
+def li_tag(content)
+  content_tag("li", content)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ like_dislike_for(obj) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 146
+def like_dislike_for(obj)
+  out=""
+  if can?(:like, obj)
+    out += link_to ffi1_icon("like3")+" like" + "("+obj.get_likes.size.to_s+")",  url_for([:like, obj]),title: "liked by " + ((current_user.liked?(obj)) ? ("you and " + ((obj.get_likes.size - 1).to_s + " others")) :  obj.get_likes.size.to_s), remote: true  
+  else
+     out += "liked by " + obj.get_likes.size.to_s
+  end
+
+         if can?(:dislike, obj)
+          out += link_to ffi1_icon("dislike")+" dislike" + "("+obj.get_dislikes.size.to_s+")", url_for([:dislike, obj]),title:"disliked by " + ((current_user.disliked?(obj)) ? ("you and " + ((obj.get_dislikes.size - 1).to_s + " others")) :  obj.get_dislikes.size.to_s) , remote: true
+         else
+          out += "disliked by " + obj.get_dislikes.size.to_s
+         end
+  raw(out)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ meta_itemprop(itemprop, content) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 164
+def meta_itemprop(itemprop, content)
+  tag("meta", itemprop: itemprop, content: content) 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ strip_control_chars(value) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 16
+def strip_control_chars(value)
+  value.chars.inject("") do |str, char|
+    unless char.ascii_only? && (char.ord < 32 || char.ord == 127)
+      str << char
+    end
+     str
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ switch_locale_url(target_locale) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 41
+  def switch_locale_url(target_locale)
+#    current_url1({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/"
+    language_path(locale: target_locale)
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ tinymce_icon_choice() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 79
+def tinymce_icon_choice 
+  s=""
+  ffi1_list.each do |i| 
+    s=s+'<a onclick="insertIcon_ffi1(\ffi1-'+i+'\)">'+ffi1_icon(i)+'</a>' 
+  end
+  raw(s)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ toolbar_html(elemente) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/application_helper.rb, line 87
+ def toolbar_html(elemente)
+   html = ""
+   limiter = " | "
+       elemente.each do |e| 
+               if !e[:icon].nil?
+                       case e[:icon]
+                       when :pencil
+                       text = '<i class="icon-pencil"></i>'.html_safe + e[:text]
+                       when :plus
+                       text ='<i class="icon-plus"></i>'.html_safe+e[:text]
+                       else
+                       text = e[:text]
+                       end
+               else
+                       text =e[:text]
+               end
+               if e[:link].nil? 
+               if !e[:method].nil?
+                       if !e[:confirm].nil?
+                       html = html + link_to(text,e[:path],:confirm=>e[:confirm],:method=>e[:method])
+                       else
+                       html = html + link_to(text,e[:path],:method => e[:method])
+                       end
+               else
+                       if !e[:confirm].nil?
+                       html=html + link_to(text,e[:path],:confirm=>e[:confirm])
+                       else
+                       html= html + link_to(text,e[:path])
+                       end
+
+               end 
+               else
+               html = html + e[:link]
+               end
+               
+               html=html+limiter
+       end
+   raw(html)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Attachment.html b/doc/app/Attachment.html new file mode 100644 index 0000000..c414df8 --- /dev/null +++ b/doc/app/Attachment.html @@ -0,0 +1,537 @@ + + + + + + + Class: Attachment + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Attachment

+ +
+ +

Schema Information

+ +

Table name: attachments

+ +
id         :integer          not null, primary key
+name       :string(255)
+datei      :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+thema_id   :integer
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ parent_attachment_list_id(parent) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/attachment.rb, line 29
+def self.parent_attachment_list_id(parent)
+  "attachments_for_"+parent.class.to_s+"_"+parent.id.to_s
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ image?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/attachment.rb, line 23
+ def image?
+   
+#   data_ext = datei.file.extension.downcase 
+#   %w(jpg png jpeg).include?(data_ext)
+   datei.image?(datei.file)
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_jq_upload() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/attachment.rb, line 33
+def to_jq_upload
+{
+  "id" => read_attribute(:id),
+  "title" => read_attribute(:title),
+  "description" => read_attribute(:desc),
+  "name" => read_attribute(:title),
+  "size" => datei.size,
+  "url" => datei.url,
+  "thumbnail_url" => datei.thumb.url,
+  "delete_type" => "DELETE" 
+ }
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/AttachmentUploader.html b/doc/app/AttachmentUploader.html new file mode 100644 index 0000000..4f1795d --- /dev/null +++ b/doc/app/AttachmentUploader.html @@ -0,0 +1,669 @@ + + + + + + + Class: AttachmentUploader + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

AttachmentUploader

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ extention() + click to toggle source +
+ + +
+ +

Override the filename of the uploaded files: Avoid using model.id or +version_name here, see uploader/store.rb for details. def filename

+ +
"something.jpg" if original_filename
+ +

end

+ + + +
+
+# File app/uploaders/attachment_uploader.rb, line 90
+def extention
+  File.extname(full_filename(file.file)).downcase
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ full_filename(for_file) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/uploaders/attachment_uploader.rb, line 35
+def full_filename(for_file)
+  super.chomp(File.extname(super)) + '.jpg'
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ get_cover() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/uploaders/attachment_uploader.rb, line 23
+def get_cover 
+  manipulate! do |frame, index|
+    frame if  index.zero?    
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ image?(for_file) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/uploaders/attachment_uploader.rb, line 97
+def image?(for_file)
+  %(.jpg .png .jpeg).include?(File.extname(full_filename(for_file.file)).downcase)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ pdf?(for_file) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/uploaders/attachment_uploader.rb, line 93
+  def pdf?(for_file)
+#    %w(.pdf).include?(File.extname(full_filename(for_file.file)).downcase) 
+    false
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ root() + click to toggle source +
+ + +
+ +

include CarrierWave::RMagick include CarrierWave::MiniMagick

+ + + +
+
+# File app/uploaders/attachment_uploader.rb, line 10
+def root
+  Rails.root.join 'public/'
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ store_dir() + click to toggle source +
+ + +
+ +

Override the directory where uploaded files will be stored. This is a +sensible default for uploaders that are meant to be mounted:

+ + + +
+
+# File app/uploaders/attachment_uploader.rb, line 20
+def store_dir
+  "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/AttachmentsController.html b/doc/app/AttachmentsController.html new file mode 100644 index 0000000..96685b8 --- /dev/null +++ b/doc/app/AttachmentsController.html @@ -0,0 +1,798 @@ + + + + + + + Class: AttachmentsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

AttachmentsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /attachments POST /attachments.json

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 71
+ def create
+   @attachment = Attachment.new(params[:attachment])
+   @thema = Thema.find_by_id(params[:thema_id])
+  # logger.info "gg"
+   @attachment.thema = @thema
+   @attachment.name=@attachment.datei.filename
+   @action="create"
+#   logger.info "sdf"
+   respond_to do |format|
+     if  @attachment.save
+       format.html {
+         render :json => [@attachment.to_jq_upload].to_json,
+         :content_type => 'text/html',
+         :layout => false
+       }
+ 
+     #  format.html { redirect_to @thema, notice: 'Attachment was successfully created.' }
+       format.json { render json: {files: [@attachment.to_jq_upload]}, status: :created, location: [@thema, @attachment]}
+
+     else
+       format.html { render action: "new" }
+       format.json { render json: @attachment.errors, status: :unprocessable_entity }
+
+     end
+   end
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /attachments/1 DELETE /attachments/1.json

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 119
+def destroy
+  @attachment = Attachment.find(params[:id])
+  @attachment.destroy
+  @thema = Thema.find(params[:thema_id])
+
+  respond_to do |format|
+    format.html { redirect_to @thema }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /attachments/1/edit

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 64
+def edit
+  @attachment = Attachment.find(params[:id])
+  @thema = @attachment.thema
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/attachments_controller.rb, line 5
+  def index
+#    @attachments = Attachment.all
+
+    respond_to do |format|
+      format.html # index.html.erb
+      format.json { render json: @attachments }
+    end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /attachments/new

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 51
+def new
+  @attachment = Attachment.new
+  @thema = Thema.find(params[:thema_id])
+  @attachment.thema = @thema
+      
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @attachment }
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ refresh_list() + click to toggle source +
+ + +
+ +

GET refresh_list +refresh the attachment list for a parent object

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 35
+def refresh_list
+  @parent = params[:parent_type].constantize.find(params[:parent_id])
+  @attachments=@parent.attachments
+  respond_to do |format|
+    format.js
+  end   
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ set_titlepic() + click to toggle source +
+ + +
+ +

GET sets the titlepic flag for one attachment for one parent object

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 16
+def set_titlepic
+  @attachment = Attachment.find(params[:id]) 
+  if @attachment.image? # if attachment is an Image set flag
+    @attachment.parent.attachments.update_all("flag_titlepic=0")
+    @attachment.flag_titlepic=true
+    @attachment.save
+  end
+ respond_to do |format|
+    format.html { 
+      redirect_to @attachment}
+    format.js { 
+      @parent=@attachment.parent
+      @attachments=@parent.attachments
+      render :refresh_list
+    }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

get /attachments/ID

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 43
+def show
+  @attachment = Attachment.find(params[:id])
+  respond_to do |format|
+    format.html # show.html.erb
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /attachments/1 PUT /attachments/1.json

+ + + +
+
+# File app/controllers/attachments_controller.rb, line 100
+def update
+  @attachment = Attachment.find(params[:id])
+  @parent= @attachment.parent
+  
+  respond_to do |format|
+    if @attachment.update_attributes(params[:attachment])
+      format.html { redirect_to @parent, notice: 'Attachment was successfully updated.' }
+      format.json { head :no_content }
+      format.js {@attachment=Attachment.new; render action:"create"}
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @attachment.errors, status: :unprocessable_entity }
+      format.js   { render action: "new"}
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/AttachmentsHelper.html b/doc/app/AttachmentsHelper.html new file mode 100644 index 0000000..11a8877 --- /dev/null +++ b/doc/app/AttachmentsHelper.html @@ -0,0 +1,507 @@ + + + + + + + Module: AttachmentsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

AttachmentsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ render_attachments_for(p) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/attachments_helper.rb, line 3
+def render_attachments_for(p)
+  a= Attachment.new 
+  a.parent=p
+  render(partial:"attachments/attachment_list", object: p.attachments, locals: {editor: (can?(:edit, p)), parent: p} )+ ((can?(:edit, p))? (render partial:"attachments/form_bulk2", object: a ): "")
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ render_attachments_list_for(p) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/attachments_helper.rb, line 10
+def render_attachments_list_for(p)
+  a= Attachment.new 
+  a.parent=p
+  render(partial:"attachments/attachment_list", object: p.attachments, locals: {editor: (can?(:edit, p)), parent: p} )
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ render_new_attachments_for(p, text="", options={}) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/attachments_helper.rb, line 16
+def render_new_attachments_for(p, text="", options={})
+  a= Attachment.new 
+  a.parent=p
+  ((can?(:edit, p))? (render partial:"attachments/form_bulk2", object: a ): "")
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Beispiel.html b/doc/app/Beispiel.html new file mode 100644 index 0000000..f352367 --- /dev/null +++ b/doc/app/Beispiel.html @@ -0,0 +1,524 @@ + + + + + + + Class: Beispiel + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Beispiel

+ +
+ +

Schema Information

+ +

Table name: beispiele

+ +
id            :integer          not null, primary key
+name          :string(255)
+desc          :text
+lva_id        :integer
+created_at    :datetime         not null
+updated_at    :datetime         not null
+beispieldatei :string(255)
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
FLAG_CONFIRM
+ +
+ + +
FLAG_ICONS
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ divid() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/beispiel.rb, line 50
+def divid
+  "beispiel_"+id.to_s
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_jq_upload() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/beispiel.rb, line 38
+   def to_jq_upload
+  {
+    "id" => read_attribute(:id),
+    "title" => read_attribute(:title),
+    "description" => read_attribute(:desc),
+    "name" => read_attribute(:title),
+    "size" => beispieldatei.size,
+    "url" => beispieldatei.url,
+    "thumbnail_url" => beispieldatei.thumb.url,
+    "delete_type" => "DELETE" 
+   }
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/BeispieldateiUploader.html b/doc/app/BeispieldateiUploader.html new file mode 100644 index 0000000..5c7befc --- /dev/null +++ b/doc/app/BeispieldateiUploader.html @@ -0,0 +1,474 @@ + + + + + + + Class: BeispieldateiUploader + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

BeispieldateiUploader

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ root() + click to toggle source +
+ + +
+ +

Override the directory where uploaded files will be stored. This is a +sensible default for uploaders that are meant to be mounted:

+ + + +
+
+# File app/uploaders/beispieldatei_uploader.rb, line 14
+def root
+  Rails.root.join 'public/'
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ store_dir() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/uploaders/beispieldatei_uploader.rb, line 18
+def store_dir
+  "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/BeispieleController.html b/doc/app/BeispieleController.html new file mode 100644 index 0000000..5494092 --- /dev/null +++ b/doc/app/BeispieleController.html @@ -0,0 +1,792 @@ + + + + + + + Class: BeispieleController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

BeispieleController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /beispiele POST /beispiele.json

+ + + +
+
+# File app/controllers/beispiele_controller.rb, line 67
+def create
+  logger.info "Creating Beispiel..."
+  @lva = Lva.find_by_id(params[:lva_id])
+  params.delete(:lva_id)
+  params[:beispiel][:flag_delete]=false
+  @beispiel = Beispiel.new(params[:beispiel])
+  @beispiel.flag_delete=false
+  logger.info "New Beispiel: #{params.inspect}"
+  
+  @beispiel.name=@beispiel.beispieldatei.filename
+  logger.info "New Beispiel: #{@beispiel.attributes.inspect}"
+
+
+  respond_to do |format|
+    unless @lva.nil? 
+      @beispiel.lva=@lva
+          @beispiel.datum=Time.now
+      if @beispiel.save
+        format.html {
+          render :json => [@beispiel.to_jq_upload].to_json,
+                 :content_type => 'text/html',
+                 :layout => false
+        }
+        format.json { render json: {files: [@beispiel.to_jq_upload]}, status: :created, location: [@lva, @beispiel] }
+      #    format.html { redirect_to @backlink, notice: 'Beispiel was successfully created.' }
+      #    format.json { render json: @beispiel, status: :created, location: @beispiel }
+      else
+        format.html { render action: "new" }
+        format.json { render json: @beispiel.errors, status: :unprocessable_entity }
+      end
+    else
+      if @beispiel.update_attributes(params[:beispiel])
+        @backlink = Lva.find(@beispiel.lva)
+        format.html { redirect_to @backlink, notice: 'Beispiel was successfully uploaded.'}
+        format.json { head :no_content }
+      else
+        format.html { render action: "new" }
+        format.json { render json: @beispiel.errors, status: :unprocessable_entity }
+      end
+    end
+
+    
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /beispiele/1 DELETE /beispiele/1.json

+ + + +
+
+# File app/controllers/beispiele_controller.rb, line 135
+def destroy
+  @beispiel = Beispiel.find(params[:id])
+  @backlink = @beispiel.lva.nil? ? root_url : lva_path(@beispiel.lva)
+  @beispiel.destroy
+
+  respond_to do |format|
+    format.html { redirect_to @backlink  }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /beispiele/1/edit

+ + + +
+
+# File app/controllers/beispiele_controller.rb, line 61
+def edit
+  @beispiel = Beispiel.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/beispiele_controller.rb, line 7
+  def index
+#    unless params[:lva_id].nil?
+#      @beispiele= Lva.find(params[:lva_id]).beispiele.accessible_by(current_ability, :show)
+#    else
+#    @beispiele = Beispiel.accessible_by(current_ability, :show)
+#    end
+#    respond_to do |format|
+#      format.html # index.html.erb
+#      format.json { render json: @beispiele }
+#    end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /beispiele/new GET /beispiele/new.json

+ + + +
+
+# File app/controllers/beispiele_controller.rb, line 32
+def new
+  @beispiel = Beispiel.new
+  @beispiel.lva = Lva.find_by_id(params[:lva_id])
+  @beispiel.flag_delete=false
+  @backlink = @beispiel.lva.nil? ? root_url : lva_path(@beispiel.lva)
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @beispiel }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ set_lecturer() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/beispiele_controller.rb, line 43
+def set_lecturer
+  @beispiel = Beispiel.find(params[:id])
+  @beispiel.lecturer = Lecturer.find(params[:beispiel][:lecturer_id])
+  @beispiel.save
+  
+  if @beispiel.save
+    format.html { redirect_to @backlink, notice: 'Beispiel was successfully updated.' }
+    format.js   {render text: "alert(\"updated\");"}
+    format.json { head :no_content }
+  else
+    format.html { render action: "edit" }
+    format.js 
+    format.json { render json: @beispiel.errors, status: :unprocessable_entity }
+  end
+
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /beispiele/1 GET /beispiele/1.json

+ + + +
+
+# File app/controllers/beispiele_controller.rb, line 21
+def show
+  # @lva = params([:lva]) unless params([:lva]).nil?
+  @beispiel = Beispiel.find(params[:id])
+  respond_to do |format|
+    format.html { redirect_to lva_path(@beispiel.lva , show_comments: params[:show_comments])}
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /beispiele/1 PUT /beispiele/1.json

+ + + +
+
+# File app/controllers/beispiele_controller.rb, line 114
+def update
+  @beispiel = Beispiel.find(params[:id])
+  @beispiel.name=@beispiel.beispieldatei.to_s.split('/').last
+  @backlink = @beispiel.lva.nil? ? root_url : lva_path(@beispiel.lva)
+  params[:beispiel].delete :beispieldatei
+  params[:beispiel].delete :beispieldatei_cache
+  @lva = @beispiel.lva
+  respond_to do |format|
+    if @beispiel.update_attributes(params[:beispiel])
+      format.html { redirect_to @backlink, notice: 'Beispiel was successfully updated.' }
+      format.js {render action: "show"}
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @beispiel.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/BeispieleHelper.html b/doc/app/BeispieleHelper.html new file mode 100644 index 0000000..8d731fd --- /dev/null +++ b/doc/app/BeispieleHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: BeispieleHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

BeispieleHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Calendar.html b/doc/app/Calendar.html new file mode 100644 index 0000000..e6197cb --- /dev/null +++ b/doc/app/Calendar.html @@ -0,0 +1,400 @@ + + + + + + + Class: Calendar + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Calendar

+ +
+ +

Schema Information

+ +

Table name: calendars

+ +
id         :integer          not null, primary key
+name       :string(255)
+public     :boolean
+created_at :datetime         not null
+updated_at :datetime         not null
+picture    :string(255)
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CalendarsController.html b/doc/app/CalendarsController.html new file mode 100644 index 0000000..6920a05 --- /dev/null +++ b/doc/app/CalendarsController.html @@ -0,0 +1,731 @@ + + + + + + + Class: CalendarsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CalendarsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /calendars POST /calendars.json

+ + + +
+
+# File app/controllers/calendars_controller.rb, line 50
+def create
+  @calendar = Calendar.new(params[:calendar])
+
+  respond_to do |format|
+    if @calendar.save
+      format.html { redirect_to @calendar, notice: 'Calendar was successfully created.' }
+      format.json { render json: @calendar, status: :created, location: @calendar }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @calendar.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /calendars/1 DELETE /calendars/1.json

+ + + +
+
+# File app/controllers/calendars_controller.rb, line 82
+def destroy
+  @calendar = Calendar.find(params[:id])
+  @calendar.destroy
+
+  respond_to do |format|
+    format.html { redirect_to calendars_url }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /calendars/1/edit

+ + + +
+
+# File app/controllers/calendars_controller.rb, line 39
+def edit
+  @calendar = Calendar.find(params[:id])
+  respond_to do |format|
+    format.html # new.html.erb
+    format.js
+  end
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/calendars_controller.rb, line 5
+def index
+  @calendars = Calendar.accessible_by(current_ability,:show)
+  @calentries =@calendars.map{|c| c.calentries }.flatten
+  
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @calendars }
+    format.ics
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /calendars/new GET /calendars/new.json

+ + + +
+
+# File app/controllers/calendars_controller.rb, line 30
+def new
+  @calendar = Calendar.new
+
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @calendar }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /calendars/1 GET /calendars/1.json

+ + + +
+
+# File app/controllers/calendars_controller.rb, line 18
+def show
+  @calendar = Calendar.find(params[:id])
+
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @calendar }
+    format.ics  { render 'show.ics.erb'}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /calendars/1 PUT /calendars/1.json

+ + + +
+
+# File app/controllers/calendars_controller.rb, line 66
+def update
+  @calendar = Calendar.find(params[:id])
+
+  respond_to do |format|
+    if @calendar.update_attributes(params[:calendar])
+      format.html { redirect_to @calendar, notice: 'Calendar was successfully updated.' }
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @calendar.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/calendars_controller.rb, line 91
+def verwalten
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CalendarsHelper.html b/doc/app/CalendarsHelper.html new file mode 100644 index 0000000..339de1e --- /dev/null +++ b/doc/app/CalendarsHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: CalendarsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CalendarsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CalentriesController.html b/doc/app/CalentriesController.html new file mode 100644 index 0000000..c1e6e51 --- /dev/null +++ b/doc/app/CalentriesController.html @@ -0,0 +1,703 @@ + + + + + + + Class: CalentriesController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CalentriesController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /calentries POST /calentries.json

+ + + +
+
+# File app/controllers/calentries_controller.rb, line 49
+ def create
+   @calentry = Calentry.new(params[:calentry])
+
+    respond_to do |format|
+      if @calentry.save
+        format.html { redirect_to @calentry, notice: 'Calentry was successfully created.' }
+        format.json { render json: @calentry, status: :created, location: @calentry }
+        format.js
+      else
+       format.html { render action: "new" }
+        format.json { render json: @calentry.errors, status: :unprocessable_entity }
+        format.js { render action: "new" }
+end
+    end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /calentries/1 DELETE /calentries/1.json

+ + + +
+
+# File app/controllers/calentries_controller.rb, line 85
+def destroy
+  logger.info("-------------delete------------------")
+  @calentry = Calentry.find(params[:id])
+  @calentry_id = params[:id]  
+  @object=@calentry.object
+  @calentry.destroy
+  
+  respond_to do |format|
+    format.html { redirect_to @object}
+    format.json { head :no_content }
+    format.js 
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /calentries/1/edit

+ + + +
+
+# File app/controllers/calentries_controller.rb, line 39
+def edit
+  @calentry = Calentry.find(params[:id])
+  respond_to do |format|
+    format.html
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/calentries_controller.rb, line 5
+ def index
+   
+
+   respond_to do |format|
+     format.html {redirect_to rubriken_path}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /calentries/new GET /calentries/new.json

+ + + +
+
+# File app/controllers/calentries_controller.rb, line 27
+def new
+  @calentry = Calentry.new
+  @calentry.object=params[:object_type].constantize.find(params[:object_id])
+  @calentry.typ=1
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @calentry }
+       format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /calentries/1 GET /calentries/1.json

+ + + +
+
+# File app/controllers/calentries_controller.rb, line 15
+def show
+  @calentry = Calentry.find(params[:id])
+
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @calentry }
+    format.ics  { render 'show.ics.erb'}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /calentries/1 PUT /calentries/1.json

+ + + +
+
+# File app/controllers/calentries_controller.rb, line 67
+def update
+  @calentry = Calentry.find(params[:id])
+
+  respond_to do |format|
+    if @calentry.update_attributes(params[:calentry])
+      format.html { redirect_to @calentry, notice: 'Calentry was successfully updated.' }
+      format.json { head :no_content }
+      format.js
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @calentry.errors, status: :unprocessable_entity }
+      format.js { render action: "edit"}
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CalentriesHelper.html b/doc/app/CalentriesHelper.html new file mode 100644 index 0000000..c25b059 --- /dev/null +++ b/doc/app/CalentriesHelper.html @@ -0,0 +1,466 @@ + + + + + + + Module: CalentriesHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CalentriesHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ new_calentry_div(p) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/calentries_helper.rb, line 6
+def new_calentry_div(p)
+  content_tag("div", "", id: divid_for(p, "new_calentry"))
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ render_calentries_for(p) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/calentries_helper.rb, line 2
+def render_calentries_for(p)
+  calentry_list=p.calentries
+  render(partial: "calentries/calentry_list", object: calentry_list, locals{{parent: p})
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Calentry.html b/doc/app/Calentry.html new file mode 100644 index 0000000..99c9183 --- /dev/null +++ b/doc/app/Calentry.html @@ -0,0 +1,941 @@ + + + + + + + Class: Calentry + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Calentry

+ +
+ +

Schema Information

+ +

Table name: calentries

+ +
id         :integer          not null, primary key
+start      :datetime
+ende       :datetime
+summary    :string(255)
+typ        :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ updated_at() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 33
+ def  self.updated_at
+   #Calentry.select("MAX(updated_at) as m_updated_at").first.m_updated_at
+   Calentry.all.max_by(&:updated_at).updated_at
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ dauer() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 72
+  def dauer
+if self.ende.nil? && self.start.nil? 
+0 
+else
+self.ende = self.start if self.ende.nil?
+    (self.ende-self.start)/3600 
+end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ dauer=(dauer) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 80
+def dauer=(dauer)
+  self.ende=self.start+dauer.to_i.hours 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ days_to_today() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 46
+def days_to_today
+  if self.is_ongoing? 
+    0
+  else
+    if self.is_upcomming?
+      (self.start.to_date - Date.today).to_i.abs
+    elsif self.is_past?
+      (self.ende.to_date - Date.today).to_i.abs
+    end
+  end
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ get_public() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 58
+def get_public
+  self.calendar=self.object.calendar unless object.nil? || object.calendar.nil?
+  self.public = (self.try(:object).nil?)? (self.calendar.try(:public?)) : object.try(:public?)
+  true
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ icon_text() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 90
+def icon_text
+  ApplicationController.helpers.fa_icon("calendar 2x") + self.text
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_ongoing?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 40
+def is_ongoing?
+  (self.start < Time.now) && (Time.now < self.ende) 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_past?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 43
+def is_past?
+  (Time.now > self.ende) 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_upcomming?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 37
+def is_upcomming?
+  self.start > Time.now
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 83
+def name
+  unless self.object.nil?
+    self.object.title
+  else
+    summary
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ s_time=(s_time) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 63
+def s_time=(s_time)
+  start 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ start1() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 69
+def start1
+  start.to_date
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ start_time() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 66
+def start_time
+  start
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ text() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/calentry.rb, line 93
+def text
+  if self.start.nil? || self.ende.nil? 
+    "error" 
+  else
+    if  (self.start.to_date - self.ende.to_date) < 1.day
+      format=:timeonly
+    else
+      format =:default
+    end
+    I18n.l(self.start) +" "+ I18n.t("cal.bis")+" "+ I18n.l(self.ende, :format=>format) 
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CheckboxAutocompleteInput.html b/doc/app/CheckboxAutocompleteInput.html new file mode 100644 index 0000000..4880fc3 --- /dev/null +++ b/doc/app/CheckboxAutocompleteInput.html @@ -0,0 +1,621 @@ + + + + + + + Class: CheckboxAutocompleteInput + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CheckboxAutocompleteInput

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ controls_wrapper_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/checkbox_autocomplete_input.rb, line 14
+def controls_wrapper_html_options
+super.merge(:class=> "datepicker date input-append", 'data-date'.to_sym =>I18n.l(Date.today()).to_s, 'data-date-format'.to_sym=>I18n.t('date.formats.default-picker'))
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/checkbox_autocomplete_input.rb, line 6
+def html_options
+        super
+        #super.merge(:default => Date.today)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ input_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/checkbox_autocomplete_input.rb, line 2
+def input_html_options
+        super
+        #super.merge(:class => "input-append date")
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/checkbox_autocomplete_input.rb, line 22
+        def options
+                super
+#d.merge(:class=>"datepicker")
+                #super.merge(:append_content=>'<span class="add-on input-append"
+                #super.merge(:append_content=>'<span class="add-on" ><i class="icon-th"></i></span>')
+        end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/checkbox_autocomplete_input.rb, line 17
+    def to_html
+            bootstrap_wrapping do
+  builder.text_field(method, input_html_options) + 'sdf'
+end
+    end
+
+ +
+ + + + +
+ + +
+ + + +
+ wrapper_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/checkbox_autocomplete_input.rb, line 10
+def wrapper_html_options
+        super.merge(:class=>"")
+        #super.merge(:class=>"datepicker",'date-date-format'.to_sym=>"%d.%m.%Y")
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Comment.html b/doc/app/Comment.html new file mode 100644 index 0000000..8372b07 --- /dev/null +++ b/doc/app/Comment.html @@ -0,0 +1,699 @@ + + + + + + + Class: Comment + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Comment

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
NUM
+ +
+ + +
+
+ + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ build_for(set_commentable, user, text,attr={}) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/comment.rb, line 20
+def self.build_for(set_commentable, user, text,attr={})
+  c = new
+  raise "Tried to build comment for non commentable" unless set_commentable.try(:is_commentable?)
+    c.user=user
+    c.text=text
+    c.assign_attributes(attr)
+  
+  unless set_commentable.class.to_s == "Comment"
+    c.commentable=set_commentable
+    c.save    
+  else
+    
+    c.commentable=set_commentable.commentable
+    c.save
+    c.move_to_child_of(set_commentable)
+  end
+  c
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ formid_for(c) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/comment.rb, line 53
+def self.formid_for(c)
+  "comment_form_" + c.class.to_s.gsub(":","_") + "_" + c.id.to_s 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ switchshowid_for(c) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/comment.rb, line 46
+def self.switchshowid_for(c)
+  "show_comments_" + c.class.to_s.gsub(":","_") + "_" + c.id.to_s
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ wrapid_for(c) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/comment.rb, line 42
+def self.wrapid_for(c)
+  "comments_" + c.class.to_s.gsub(":","_") + "_" + c.id.to_s
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ formid() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/comment.rb, line 50
+def formid
+  "comment_form_" + commentable_type.gsub(":","_") + "_" + commentable_id.to_s 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ parent_object() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/comment.rb, line 13
+def parent_object
+  if self.root?
+    self.commentable
+  else
+    self.parent
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ thumb_url() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/comment.rb, line 38
+def thumb_url
+  t_url= user.fetprofile.picture.thumb.url unless user.nil? or user.fetprofile.nil?
+  t_url
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CommentsController.html b/doc/app/CommentsController.html new file mode 100644 index 0000000..f987970 --- /dev/null +++ b/doc/app/CommentsController.html @@ -0,0 +1,739 @@ + + + + + + + Class: CommentsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CommentsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /comments POST /comments.json

+ + + +
+
+# File app/controllers/comments_controller.rb, line 47
+def create
+  params_new= params[:comment].select {|i| !["commentable_id", "commentable_type"].include?(i)}
+
+  c = params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil? 
+  authorize! :comment, c
+  
+  @comment = Comment.build_for(c, current_user,"", params_new)  
+  @commentable=c
+  if @comment.parent_object.class==Comment
+    @comments= @comment.parent_object.children
+  else
+    @comments=@comment.parent_object.comments.order(:created_at).roots.page(params[:page]).per(Comment::NUM[params[:commentable_type]]).reverse_order
+  end
+  respond_to do |format|
+    if @comment
+      format.js       
+    else
+      format.js {render action:"new"}
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /comments/1 DELETE /comments/1.json

+ + + +
+
+# File app/controllers/comments_controller.rb, line 86
+def destroy
+  @comment = Comment.find(params[:id])
+  @commentable=@comment.commentable
+  @comment.destroy
+  @comments=@commentable.comments.order(:created_at).roots.page(params[:page]).per(Comment::NUM[params[:commentable_type]]).reverse_order
+  respond_to do |format|
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /comments/1/edit

+ + + +
+
+# File app/controllers/comments_controller.rb, line 41
+def edit
+  @comment = Comment.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ hide() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/comments_controller.rb, line 16
+ def hide
+   @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil?
+   respond_to do |format|
+     format.js
+   end  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/comments_controller.rb, line 4
+  def index
+    @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil?
+if @commentable.nil?
+  render status: 404
+  else
+    @comments=@commentable.comments.order(:created_at).roots.accessible_by(current_ability, :show).page(params[:page]).per(Comment::NUM[params[:commentable_type]]).reverse_order
+
+    respond_to do |format|
+      format.js
+    end
+end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/comments_controller.rb, line 29
+def new
+ 
+  @comment = Comment.new
+  @comment.commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil?
+  authorize! :comment, @comment.commentable
+
+  respond_to do |format|
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/comments_controller.rb, line 22
+def show
+  @comment = Comment.find(params[:id])
+  respond_to do |format|
+    format.js 
+    format.html {redirect_to @comment.commentable}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /comments/1 PUT /comments/1.json

+ + + +
+
+# File app/controllers/comments_controller.rb, line 71
+def update
+  params[:comment].select! {|i| !["commentable_id", "commentable_type"].include?(i)}
+  @comment = Comment.find(params[:id])
+  @comment.commentable=params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil? 
+  respond_to do |format|
+    if @comment.update_attributes(params[:comment])
+      format.html { redirect_to @comment.commentable, notice: 'Comment was successfully updated.' }
+    else
+      format.html { render action: "edit" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CommentsHelper.html b/doc/app/CommentsHelper.html new file mode 100644 index 0000000..2fe5779 --- /dev/null +++ b/doc/app/CommentsHelper.html @@ -0,0 +1,465 @@ + + + + + + + Module: CommentsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CommentsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ render_comments_for(o) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/comments_helper.rb, line 5
+def render_comments_for(o)
+  render partial: "comments/comments_block", object: o
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ wrapid_for(o) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/comments_helper.rb, line 2
+def wrapid_for(o)
+  divid_for(o,"comments")
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ConfigController.html b/doc/app/ConfigController.html new file mode 100644 index 0000000..1f78de6 --- /dev/null +++ b/doc/app/ConfigController.html @@ -0,0 +1,472 @@ + + + + + + + Class: ConfigController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ConfigController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ choose_contact_topics() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/config_controller.rb, line 7
+def choose_contact_topics
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/config_controller.rb, line 3
+def index
+  
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Confirmmailer.html b/doc/app/Confirmmailer.html new file mode 100644 index 0000000..dcd6272 --- /dev/null +++ b/doc/app/Confirmmailer.html @@ -0,0 +1,389 @@ + + + + + + + Class: Confirmmailer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Confirmmailer

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CrawlerController.html b/doc/app/CrawlerController.html new file mode 100644 index 0000000..ec3cbf9 --- /dev/null +++ b/doc/app/CrawlerController.html @@ -0,0 +1,563 @@ + + + + + + + Class: CrawlerController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CrawlerController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ do_crawl_news() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/crawler_controller.rb, line 31
+def do_crawl_news
+  Crawlobject.crawl_news(5)
+  Crawlobject.crawl_news(6)
+  redirect_to action: :index
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/crawler_controller.rb, line 3
+def index
+  authorize! :doadmin, User
+  
+  @crawlobjs=Crawlobject.where(:objtype=>5).order(:published_at).reverse_order
+  @crawlobjs_etit=Crawlobject.where(:objtype=>6).order(:published_at).reverse_order
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_attachments() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/crawler_controller.rb, line 10
+def load_attachments
+  authorize! :doadmin, User
+  
+  c = Crawlobject.find(params[:id])
+  if c.has_attachments?
+  c.load_attachments
+  end
+  respond_to do |format|
+    format.html {redirect_to c.something}
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ move_to_news() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/crawler_controller.rb, line 22
+def move_to_news
+  authorize! :doadmin, User        
+  co=Crawlobject.find(params[:id])
+  if co.objtype == 5 || co.objtype==6
+    co.move_to_neuigkeit(User.find(Rails.configuration.crawlconfig[co.objtype]["user_id"]), Rubrik.find(Rails.configuration.crawlconfig[co.objtype]["rubrik_id"]))
+    redirect_to co.something
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Crawlobject.html b/doc/app/Crawlobject.html new file mode 100644 index 0000000..24a5b6f --- /dev/null +++ b/doc/app/Crawlobject.html @@ -0,0 +1,830 @@ + + + + + + + Class: Crawlobject + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Crawlobject

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ config() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 7
+def self.config
+  Rails.application.config.crawlconfig
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ crawl_news(id) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 122
+def self.crawl_news(id)
+  cfg = Rails.application.config
+  res = JSON.parse(`python #{Rails.root}/bin/#{cfg.crawlconfig[id]['bin']} #{cfg.crawlconfig[id]['url']}`)
+  res.each do |r|
+    cc=Crawlobject.new(:raw=>r.to_json)
+    cc.objtype=id
+    cc.parse_object
+    cc.calc_hash
+    if Crawlobject.where(:objhash2=>cc.objhash2, :objtype=>id).count==0
+      cc.save
+    else
+      cc = Crawlobject.where(:objhash2=>cc.objhash2, :objtype=>id).first
+      cc.raw=r.to_json
+      cc.parse_object
+      cc.calc_hash
+      cc.save
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ calc_hash() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 114
+def calc_hash
+  self.objhash=Digest::SHA512.hexdigest(self.raw)
+  self.objhash2=Digest::SHA512.hexdigest(self.url.to_s+self.try(:name).to_s+self.schematype.to_s+self.published_at.try(:utc).to_s)
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ has_attachments?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 10
+def has_attachments?
+if self.objtype==2 
+  return true
+else
+  return false
+end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ json() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 119
+def json
+  JSON.parse(self.raw)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_attachments() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 65
+def load_attachments
+  if self.objtype == 2 # ET Comments only
+    self.json["attachments"].each do |url|
+      fn = `python ../microdata/download_file.py "#{url}"`
+      
+      unless self.attachments.where(:name=>"Et_21.01.2015_L_sung.pdf").count > 0
+      
+        a=Attachment.new
+        a.datei=File.open("/home/andreas/www/microdata/tmp/"+fn.strip)        
+        a.name=fn.strip
+        a.parent=self
+        a.save
+        self.attachments<< a
+        a.save
+      end
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ move_to_neuigkeit(user,rubrik) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 17
+def move_to_neuigkeit(user,rubrik)
+  if ( self.objtype == 5 || self.objtype == 6 )and self.something.nil?
+    n=Neuigkeit.new
+    n.title=self.name
+    n.text=self.text
+    n.datum=self.published_at
+    n.author=user
+    n.rubrik=rubrik
+    n.origurl = self.url
+    n.save
+    self.something=n
+    self.save
+    return n
+  elsif (   self.objtype == 5 || self.objtype==6)
+    n=self.something
+    n.title=self.name
+    n.text=self.text
+    n.datum=self.published_at
+    n.author=user
+    n.rubrik=rubrik
+    n.origurl = self.url
+    n.save
+    
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ parse_children() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 42
+def parse_children
+  if self.objtype == 1 # ET Forum Article loaded
+    self.json["comments"].each do |com|
+      if self.children.where(:objhash=>Digest::SHA512.hexdigest(com.to_json)).empty?
+        cco = self.children.new(:raw=>com.to_json,:crawlurl=>self.crawlurl)
+        cco.objtype=2
+        cco.parse_object
+        cco.calc_hash
+        
+        if self.children.where(:objhash2=>cco.objhash2).empty?
+          cco.save
+        else
+          cco=self.children.where(:objhash2=>cco.objhash2).first
+          cco.raw=com.to_json
+          cco.parse_object
+          cco.calc_hash
+          cco.save
+        end
+      end
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ parse_object() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/crawlobject.rb, line 83
+def parse_object
+    
+  if self.objtype == 1 # ET Forum Article loaded
+    # ET - Forum 
+    self.schematype = self.json["type"].first
+    self.name = self.json["properties"]["name"].first
+    self.url = self.json["properties"]["url"].first
+    self.published_at = self.json["properties"]["dateCreated"].first
+    
+  end
+  if self.objtype == 2 # ET Forum Comment loaded is part of Article 
+    self.schematype = self.json["type"].first
+    self.url = self.json["properties"]["replyToUrl"].first
+    self.name = self.json["properties"]["name"].try(:first)
+    self.published_at = self.json["properties"]["commentTime"].try(:first)
+    self.text = self.json["properties"]["commentText"].try(:first)
+  end
+  if self.objtype==5
+    self.name=self.json["name"].strip
+    self.text=self.json["text"]
+    self.published_at=Time.parse(self.json["date"].strip)
+    self.url="http://www.htu.at"
+  end
+  if self.objtype==6
+    self.name=self.json["name"].strip
+    self.text=self.json["text"]
+    self.published_at=Time.parse(self.json["date"].strip)
+    self.url="http://etit.tuwien.ac.at"
+  end
+
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/CrawlobjectHelper.html b/doc/app/CrawlobjectHelper.html new file mode 100644 index 0000000..fe71c47 --- /dev/null +++ b/doc/app/CrawlobjectHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: CrawlobjectHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

CrawlobjectHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/DateStringInput.html b/doc/app/DateStringInput.html new file mode 100644 index 0000000..ae3bd6b --- /dev/null +++ b/doc/app/DateStringInput.html @@ -0,0 +1,439 @@ + + + + + + + Class: DateStringInput + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

DateStringInput

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ input_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/date_string_input.rb, line 2
+def input_html_options
+        value = (@object.send(method.to_sym))
+        super.merge(:class => "datetext", :onclick =>"beep", :value=>I18n.l((value.is_a?(Time)||value.is_a?(Date)||value.is_a?(DateTime)) ? value : Time.now))
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/DatepickerInput.html b/doc/app/DatepickerInput.html new file mode 100644 index 0000000..febf2d4 --- /dev/null +++ b/doc/app/DatepickerInput.html @@ -0,0 +1,622 @@ + + + + + + + Class: DatepickerInput + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

DatepickerInput

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ controls_wrapper_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datepicker_input.rb, line 14
+def controls_wrapper_html_options
+super.merge(:class=> "datepicker date input-append", 'data-date'.to_sym =>I18n.l(Date.today()).to_s, 'data-date-format'.to_sym=>I18n.t('date.formats.default-picker'))
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datepicker_input.rb, line 6
+def html_options
+        super
+        #super.merge(:default => Date.today)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ input_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datepicker_input.rb, line 2
+def input_html_options
+        super
+        #super.merge(:class => "input-append date")
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datepicker_input.rb, line 23
+        def options
+                super
+#d.merge(:class=>"datepicker")
+                #super.merge(:append_content=>'<span class="add-on input-append"
+                #super.merge(:append_content=>'<span class="add-on" ><i class="icon-th"></i></span>')
+        end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datepicker_input.rb, line 17
+def to_html
+        bootstrap_wrapping do
+        builder.text_field(method, input_html_options) +
+       '<span class="add-on" ><i class="icon-th"></i></span>'.html_safe()
+end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ wrapper_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datepicker_input.rb, line 10
+def wrapper_html_options
+        super.merge(:class=>"")
+        #super.merge(:class=>"datepicker",'date-date-format'.to_sym=>"%d.%m.%Y")
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/DatetimepickerInput.html b/doc/app/DatetimepickerInput.html new file mode 100644 index 0000000..22c2c7b --- /dev/null +++ b/doc/app/DatetimepickerInput.html @@ -0,0 +1,624 @@ + + + + + + + Class: DatetimepickerInput + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

DatetimepickerInput

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ controls_wrapper_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datetimepicker_input.rb, line 17
+def controls_wrapper_html_options
+super.merge(:class=> " date input-append", 'data-date'.to_sym =>I18n.l(Date.today()).to_s, 'data-date-format'.to_sym=>I18n.t('date.formats.default-picker'))
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datetimepicker_input.rb, line 9
+def html_options
+        super
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ input_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datetimepicker_input.rb, line 2
+def input_html_options
+        s=super
+  value=builder.object.send(method)
+  value=I18n.l(value) unless value.nil? 
+  super.merge(:class => "datetimepicker",:value=>value)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datetimepicker_input.rb, line 26
+        def options
+                super
+#d.merge(:class=>"datepicker")
+                #super.merge(:append_content=>'<span class="add-on input-append"
+                #super.merge(:append_content=>'<span class="add-on" ><i class="icon-th"></i></span>')
+        end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datetimepicker_input.rb, line 20
+def to_html
+        bootstrap_wrapping do
+        builder.text_field(method, input_html_options) +
+       '<span class="add-on" ><i class="icon-th"></i></span>'.html_safe()
+end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ wrapper_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/datetimepicker_input.rb, line 13
+def wrapper_html_options
+        super.merge(:class=>"")
+        #super.merge(:class=>"datepicker",'date-date-format'.to_sym=>"%d.%m.%Y")
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Document.html b/doc/app/Document.html new file mode 100644 index 0000000..400cefa --- /dev/null +++ b/doc/app/Document.html @@ -0,0 +1,1024 @@ + + + + + + + Class: Document + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Document

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
TYPS
+ +
+ + +
+
+ + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ ether() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 26
+def self.ether
+  EtherpadLite.connect('https://www.fet.at/etherpad', File.new('config/etherpad/APIKEY.txt'))#https://www.etherpad.fet.at
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new_divid_for(parent) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 20
+def self.new_divid_for(parent)
+  "document_new_parent_" + parent.class.to_s + "_" + parent.id.to_s
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ create_pdf() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 29
+  def create_pdf
+      require "open3"
+
+    #url=blank_document_url({id: self.id, host: host, port: port})
+  #  url=Rails.application.routes.url_helpers.blank_document_url({id: self.id, host: host, port: port})
+
+    file = Tempfile.new(['document', '.pdf'])
+    bin=Rails.application.config.pdf_bin
+       sin,sout,serr=Open3.popen3("#{bin}  --header-html \"file://#{Rails.root}/app/views/documents/header.html\" --footer-html \"file://#{Rails.root}/app/views/documents/footer.html\" --replace title1 \"#{self.name}\"  -  #{file.path}")
+#Rails.logger.puts("#{bin}  --header-html \"file://#{Rails.root}/app/views/documents/header.html\" --footer-html \"file://#{Rails.root}/app/views/documents/footer.html\" --replace title1 \"#{self.name}\"  \"#{url}\" \"#{file.path}\" ")
+#    `#{bin}  --header-html "file://#{Rails.root}/app/views/documents/header.html" --footer-html "file://#{Rails.root}/app/views/documents/footer.html" --replace title1 "#{self.name}"  #{url} #{file.path} `
+    sin.puts("<h1>#{self.name}</h1>")
+    t=self.text
+    t.gsub!(/src="[\.\/]*(uploads[^"]*)"/){|s| "src=\"#{Rails.root}/public/"+$1.to_s+'"'}
+    sin.puts(t)
+    sin.close
+    Rails.logger.puts(serr.read)
+    file
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ divid() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 23
+def divid
+  "document_"+self.id.to_s
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ dump_to_etherpad() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 82
+def dump_to_etherpad
+  if self.is_etherpad?
+    if self.text.nil?
+      self.ep_pad.html = '<div>'+"text"+'</div>'
+    else
+      self.ep_pad.html = '<div>'+self.text+'</div>'
+    end
+  else
+    self.move_to_etherpad
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ep_group() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 100
+def ep_group
+  t= (self.typ.nil? || self.typ ==0) ? 1 : self.typ
+  Document.ether.group(Document::TYPS[t])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ep_pad() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 97
+def ep_pad
+  self.ep_group.pad(self.etherpadkey)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ether() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 62
+def ether
+  if @ep.nil?
+    @ep=Document.ether
+  end
+  @ep
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_etherpad?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 68
+def is_etherpad?
+  !(etherpadkey.nil? || etherpadkey.empty?)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ long_name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 13
+def long_name
+  if self.parent.class=="Meeting"
+    "<b>"+self.parent.text+ "</b>"+ self.name
+  else
+    "<b>" + self.parent.title + ":</b>"+ self.name
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ maketoc() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 117
+def maketoc
+  require "open3"
+  require "json"
+  sin,sout,serr=Open3.popen3("python #{Rails.root}/bin/maketoc.py")
+  sin.puts(self.text)
+  sin.close
+  b=sout.read()
+  c=JSON.parse(b)
+  l=2
+  f=true;
+  s="<ul>"
+  c.each do |h|
+    s=s+ "</li></ul></li>"*(l-h["level"]) if (h["level"]<l) and !f
+    s=s+" </li>" if (h["level"]==l) and !f
+    if (h["level"]>l)
+      s=s + "<ul><li>" * (h["level"]-l)
+    else
+      s=s+"<li>"
+    end
+    s=s+h["text"]
+
+    l = h["level"]
+    f=false
+  end
+  s=s+"</ul>"*(l-2) if (l>2)
+  s=s+"</ul>"
+  self.toc=s
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ move_to_etherpad() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 71
+def move_to_etherpad
+  unless self.is_etherpad?  || self.id.nil?
+    self.etherpadkey="document_"+ self.id.to_s
+
+    if self.text.nil?
+      self.ep_pad.html = '<div>'+"text"+'</div>'
+    else
+      self.ep_pad.html = '<div>'+self.text+'</div>'
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ read_from_etherpad() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 93
+def read_from_etherpad
+  self.text=ApplicationController.helpers.strip_control_chars( self.ep_pad.html)
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ sanitize() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 48
+def sanitize
+  trans_icons= lambda do |env|
+    node=env[:node]
+    node_name=env[:node_name]
+    return if env[:is_whitelisted] || !node.element?
+    return unless node_name == 'span'
+    # return unless node["class"] =~ /.*ffi.*/
+    Sanitize.node!(node,{:elements=>["span"],:attributes=>{"span"=>["class","style"]},:css=>{:properties=>["color"]}})
+    {:node_whitelist=>[node]}
+  end
+  self.text = Sanitize.fragment(self.text, {:elements=>['table','tr','td','p','h1','h2','h3','h4','h5','a','th','img','ul','li','i','b','em','pre','code'],:attributes=>{'p'=>['class'],'table'=>['class'],'a'=>['href','data'],'img'=>['src','width','height'],:all=>['class']},:css=>{:properties=>['float']},:transformers=>[trans_icons]})
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ text_stripped() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/document.rb, line 104
+ def text_stripped
+ApplicationController.helpers.strip_control_chars(ApplicationController.helpers.strip_tags(text.to_s.gsub("<"," <").gsub(">","> ").to_s))
+
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/DocumentsController.html b/doc/app/DocumentsController.html new file mode 100644 index 0000000..d9de4a7 --- /dev/null +++ b/doc/app/DocumentsController.html @@ -0,0 +1,982 @@ + + + + + + + Class: DocumentsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

DocumentsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 102
+def create
+  @document = Document.new(params[:document])
+
+  @parent=@document.parent
+
+  respond_to do |format|
+    if @document.save
+     # format.html { redirect_to @document, notice: 'Document was successfully created.' }
+      #format.json { render json: @document, status: :created, location: @document }
+      format.js
+    else
+  #    format.html { render action: "new" }
+ #     format.json { render json: @document.errors, status: :unprocessable_entity }
+      format.js { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 137
+def destroy
+  logger.info("-------------delete------------------")
+  @document = Document.find(params[:id])
+
+  @parent=@document.parent
+
+  @document_id = params[:id]  
+ 
+  @document.destroy
+  
+  respond_to do |format|
+    #format.html { redirect_to @object}
+    #format.json { head :no_content }
+    format.js 
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ dump_to_etherpad() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 41
+  def dump_to_etherpad
+    @document = Document.find(params[:id])
+    @document.dump_to_etherpad
+@document.save
+#    author = ether.author('author_1')
+#    pad=group.pad(@document.etherpadkey)
+#    pad.html='<div>'+@document.text+'</div>'
+    redirect_to action: :show
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 19
+def edit
+  @document = Document.find(params[:id])
+  @parent=@document.parent
+  respond_to do |format|
+    format.js
+    format.html
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 4
+def index
+  respond_to do |format|
+    format.html {redirect_to rubriken_path}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 9
+def new
+  @document=Document.new
+  @parent=params[:parent_type].constantize.find(params[:parent_id])
+  @document.parent=@parent
+
+  @document.typ = 1
+  respond_to do |format|
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ read_from_etherpad() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 50
+def read_from_etherpad
+  @document = Document.find(params[:id])
+  @document.read_from_etherpad
+  @document.save
+  render :show
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ sanitize() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 27
+def sanitize
+  @document = Document.find(params[:id])
+  @document.sanitize
+  @parent=@document.parent
+  render :edit
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ search() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 154
+def search
+
+  unless params['query'].nil? || params['query'].empty?
+    @results = Document.search do
+      fulltext params['query'] do
+        fields :name, :text, :meeting
+        highlight :text,:name,:meeting
+      end
+    end
+    @res=[]
+    @results.results.each do |r|
+      @res << r if can?(:show,r)
+    end
+  end
+  respond_to do |format|
+    format.html { redirect_to action: :intern}
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 33
+def show
+  @document = Document.find(params[:id])
+  respond_to do |format|
+     format.pdf { send_file @document.create_pdf.path }
+    format.html
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 121
+def update
+  @document = Document.find(params[:id])
+  @parent=@document.parent
+
+  respond_to do |format|
+    if @document.update_attributes(params[:document])
+      format.html { redirect_to @document, notice: 'Document was successfully updated.' }
+      format.json { head :no_content }
+      format.js
+    else
+   #   format.html { render action: "edit" }
+  #    format.json { render json: @document.errors, status: :unprocessable_entity }
+      format.js { render action: "edit"}
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ write() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 82
+def write
+  @document = Document.find(params[:id])
+  if @document.is_etherpad? && params[:versionid].nil?
+    redirect_to action: :write_etherpad
+  else
+    unless params[:versionid].nil?
+      v=@document.versions.find(params[:versionid])
+      if v.reify.nil?
+        v=v.next
+      end
+      @document=v.reify
+     
+    end
+    @parent=@document.parent
+    respond_to do |format|
+      format.html {render :edit}
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ write_etherpad() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/documents_controller.rb, line 57
+  def write_etherpad
+    @document = Document.find(params[:id])
+    
+    ether=Document.ether
+    author = Document.ether.author("fetsite_"+current_user.uid, :name => current_user.text)
+    session[:ep_sessions]={} if session[:ep_sessions].nil?
+    group=@document.ep_group
+
+    sess = session[:ep_sessions][group.id] ? ether.get_session(session[:ep_sessions][group.id]) : group.create_session(author, 300)
+    
+    if sess.expired?
+      sess.delete
+      sess = group.create_session(author, 300)
+    end
+    session[:ep_sessions][group.id] = sess.id
+    # Set the EtherpadLite session cookie. This will automatically be picked up by the jQuery plugin's iframe.
+
+    cookies[:sessionID] = {value: sess.id.to_s, domain: %(.fet.at), expires: 5.hour.from_now}
+    #cookies[:sessionID] = {:value => sess.id}
+    cookies[:sessionID]= {value: sess.id, expires: 5.hour.from_now}
+#    cookies[:sdf]=sess.id
+    # pad=ether.pad(@document.etherpadkey)
+  #  redirect_to "http://www.fet.at/etherpad/p/"+@document.ep_pad.id
+    #render :write
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/EmailsController.html b/doc/app/EmailsController.html new file mode 100644 index 0000000..b4cf02a --- /dev/null +++ b/doc/app/EmailsController.html @@ -0,0 +1,522 @@ + + + + + + + Class: EmailsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

EmailsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ daily_reminder() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/emails_controller.rb, line 7
+  def daily_reminder
+    ActionMailer::Base.default_url_options[:host] = request.host_with_port 
+    @mail =NewsMailer.daily_reminder(current_user.id)
+    if params[:send]
+      usr=User.where(:flag_getemails => true)
+      usr.each do |u|
+        NewsMailer.daily_reminder(current_user.id).deliver
+      end
+    end
+    render layout: false
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/emails_controller.rb, line 4
+def index
+  
+end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + + +
+ authorize() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/emails_controller.rb, line 19
+def authorize
+  authorize! :emails, User
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Fetprofile.html b/doc/app/Fetprofile.html new file mode 100644 index 0000000..0dab055 --- /dev/null +++ b/doc/app/Fetprofile.html @@ -0,0 +1,661 @@ + + + + + + + Class: Fetprofile + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Fetprofile

+ +
+ +

Schema Information

+ +

Table name: fetprofiles

+ +
id           :integer          not null, primary key
+vorname      :string(255)
+nachname     :string(255)
+short        :string(255)
+fetmailalias :string(255)
+desc         :text
+picture      :string(255)
+active       :boolean
+created_at   :datetime         not null
+updated_at   :datetime         not null
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
GESCHLECHT
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ adress() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/fetprofile.rb, line 58
+def adress
+  connector= (self.street.nil?||self.street.empty?||(self.city.empty? && self.plz.empty?)) ? '' : ', '
+  self.plz.to_s + ' ' + self.city.to_s + connector.to_s + self.street.to_s
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ birthday() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/fetprofile.rb, line 62
+def birthday
+  unless self.birth_month.nil? || self.birth_day.nil?
+  if self.birth_year.nil? || self.birth_year.zero?
+    Date.new( Date.today.year,self.birth_month,self.birth_day)
+  else
+    Date.new( self.birth_year,self.birth_month,self.birth_day)
+  end
+  else
+    nil
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fetmail() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/fetprofile.rb, line 55
+def fetmail
+  (fetmailalias.nil? || fetmailalias.empty?) ? short.to_s + "@fet.at" : fetmailalias.to_s + "@fet.at"
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/fetprofile.rb, line 51
+def name
+  [vorname, nachname, ((short.empty?)? "": ["(",short,")"].join)].join(" ")
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ title() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/fetprofile.rb, line 48
+def title
+  self.name
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ validate_birthday() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/fetprofile.rb, line 33
+def validate_birthday
+  unless birth_month.nil? || birth_day.nil?
+    unless Date.valid_date?((birth_year.nil?) ? Date.today.year : birth_year, birth_month, birth_day)
+      errors.add(:birth_month, "Invalides Datum")
+      errors.add(:birth_day, "Invalides Datum")
+      v= false
+    else
+      v= true
+    end
+  else
+    v= false
+  end
+  v
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FetprofilesController.html b/doc/app/FetprofilesController.html new file mode 100644 index 0000000..816543c --- /dev/null +++ b/doc/app/FetprofilesController.html @@ -0,0 +1,760 @@ + + + + + + + Class: FetprofilesController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FetprofilesController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /fetprofiles POST /fetprofiles.json

+ + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 67
+def create
+  @fetprofile = Fetprofile.new(params[:fetprofile])
+  @memberships=@fetprofile.memberships.order(:typ)
+  @memberships<< Membership.new
+
+  respond_to do |format|
+    if @fetprofile.save
+      format.html { redirect_to @fetprofile, notice: 'Fetprofile was successfully created.' }
+      format.json { render json: @fetprofile, status: :created, location: @fetprofile }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @fetprofile.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /fetprofiles/1 DELETE /fetprofiles/1.json

+ + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 116
+def destroy
+  @fetprofile = Fetprofile.find(params[:id])
+  @fetprofile.destroy
+
+  respond_to do |format|
+    format.html { redirect_to fetprofiles_url }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /fetprofiles/1/edit

+ + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 59
+def edit
+  @fetprofile = Fetprofile.find(params[:id])
+  @memberships=@fetprofile.memberships.order(:typ)
+  @memberships<< Membership.new
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 6
+def index
+  
+  @fetprofiles = Fetprofile.active.order(:vorname,:nachname)
+  @fetprofiles = Fetprofile.order(:vorname,:nachname) if params[:filter]== "all"
+  @fetprofiles = Fetprofile.where(:active=>false).order(:nachname,:vorname) if params[:filter]== "notactive"
+
+  @gremientabs = Gremium.tabs
+  @toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('profile.new_profile'),:path => new_fetprofile_path(@fetprofile) } if can? :new, @fetprofile
+
+  respond_to do |format|
+    format.html # index.html.erb
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ internlist() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 20
+def internlist
+  @fetprofiles = Fetprofile.order(:vorname,:nachname) 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /fetprofiles/new GET /fetprofiles/new.json

+ + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 47
+def new
+  @fetprofile = Fetprofile.new
+  @memberships=[]
+  @memberships<< Membership.new
+
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @fetprofile }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /fetprofiles/1 GET /fetprofiles/1.json

+ + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 26
+def show
+  @fetprofile = Fetprofile.find(params[:id])
+  @gremientabs = Gremium.tabs
+  @memberships=@fetprofile.memberships.order(:typ)
+
+  
+
+ 
+   @toolbar_elements << {:hicon=>'icon-pencil', :text=> I18n.t('common.edit'),:path => edit_fetprofile_path(@fetprofile) } if can? :edit, @fetprofile
+
+    @toolbar_elements << {:hicon=>'icon-minus', :text => I18n.t('common.delete'), :method=>:delete, :confirm=>"Sure"} if can? :destroy,@fetprofile
+        
+ 
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @fetprofile }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /fetprofiles/1 PUT /fetprofiles/1.json

+ + + +
+
+# File app/controllers/fetprofiles_controller.rb, line 85
+def update
+  @fetprofile = Fetprofile.find(params[:id])
+  
+ 
+ 
+  respond_to do |format|
+    if @fetprofile.update_attributes(params[:fetprofile])
+      format.html { 
+        unless params[:button]=="continue" || params[:commit]=="continue"
+          
+        redirect_to @fetprofile, notice: 'profile was successfully updated.' 
+        else
+          @memberships=@fetprofile.memberships.order(:typ)
+          @memberships<< Membership.new
+          @memberships<< Membership.new
+          @memberships<< Membership.new
+          render action: "edit", notice: 'profile was successfully updated.'
+        end
+      }
+      format.json { head :no_content }
+    else
+      @memberships=@fetprofile.memberships.order(:typ)
+      @memberships<< Membership.new
+      format.html { render action: "edit" }
+      format.json { render json: @fetprofile.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FetprofilesHelper.html b/doc/app/FetprofilesHelper.html new file mode 100644 index 0000000..36d384a --- /dev/null +++ b/doc/app/FetprofilesHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: FetprofilesHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FetprofilesHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Fetznedition.html b/doc/app/Fetznedition.html new file mode 100644 index 0000000..c9b3a67 --- /dev/null +++ b/doc/app/Fetznedition.html @@ -0,0 +1,401 @@ + + + + + + + Class: Fetznedition + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Fetznedition

+ +
+ +

Schema Information

+ +

Table name: fetzneditions

+ +
id         :integer          not null, primary key
+title      :string(255)
+desc       :text
+datum      :date
+datei      :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FetzneditionsController.html b/doc/app/FetzneditionsController.html new file mode 100644 index 0000000..f2d0b83 --- /dev/null +++ b/doc/app/FetzneditionsController.html @@ -0,0 +1,689 @@ + + + + + + + Class: FetzneditionsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FetzneditionsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /fetzneditions POST /fetzneditions.json

+ + + +
+
+# File app/controllers/fetzneditions_controller.rb, line 43
+def create
+  @fetznedition = Fetznedition.new(params[:fetznedition])
+
+  respond_to do |format|
+    if @fetznedition.save
+      format.html { redirect_to @fetznedition, notice: 'Fetznedition was successfully created.' }
+      format.json { render json: @fetznedition, status: :created, location: @fetznedition }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @fetznedition.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /fetzneditions/1 DELETE /fetzneditions/1.json

+ + + +
+
+# File app/controllers/fetzneditions_controller.rb, line 75
+def destroy
+  @fetznedition = Fetznedition.find(params[:id])
+  @fetznedition.destroy
+
+  respond_to do |format|
+    format.html { redirect_to fetzneditions_url }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /fetzneditions/1/edit

+ + + +
+
+# File app/controllers/fetzneditions_controller.rb, line 37
+def edit
+  @fetznedition = Fetznedition.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/fetzneditions_controller.rb, line 5
+def index
+  @fetzneditions = Fetznedition.all
+
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @fetzneditions }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /fetzneditions/new GET /fetzneditions/new.json

+ + + +
+
+# File app/controllers/fetzneditions_controller.rb, line 27
+def new
+  @fetznedition = Fetznedition.new
+
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @fetznedition }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /fetzneditions/1 GET /fetzneditions/1.json

+ + + +
+
+# File app/controllers/fetzneditions_controller.rb, line 16
+def show
+  @fetznedition = Fetznedition.find(params[:id])
+
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @fetznedition }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /fetzneditions/1 PUT /fetzneditions/1.json

+ + + +
+
+# File app/controllers/fetzneditions_controller.rb, line 59
+def update
+  @fetznedition = Fetznedition.find(params[:id])
+
+  respond_to do |format|
+    if @fetznedition.update_attributes(params[:fetznedition])
+      format.html { redirect_to @fetznedition, notice: 'Fetznedition was successfully updated.' }
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @fetznedition.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FetzneditionsHelper.html b/doc/app/FetzneditionsHelper.html new file mode 100644 index 0000000..9dd0020 --- /dev/null +++ b/doc/app/FetzneditionsHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: FetzneditionsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FetzneditionsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable.html b/doc/app/Flagable.html new file mode 100644 index 0000000..e0c2f6f --- /dev/null +++ b/doc/app/Flagable.html @@ -0,0 +1,395 @@ + + + + + + + Module: Flagable + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/ActsAsFlagableController.html b/doc/app/Flagable/ActsAsFlagableController.html new file mode 100644 index 0000000..6bfe1f5 --- /dev/null +++ b/doc/app/Flagable/ActsAsFlagableController.html @@ -0,0 +1,395 @@ + + + + + + + Module: Flagable::ActsAsFlagableController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ + + +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::ActsAsFlagableController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/ActsAsFlagableController/ClassMethods.html b/doc/app/Flagable/ActsAsFlagableController/ClassMethods.html new file mode 100644 index 0000000..456d224 --- /dev/null +++ b/doc/app/Flagable/ActsAsFlagableController/ClassMethods.html @@ -0,0 +1,443 @@ + + + + + + + Module: Flagable::ActsAsFlagableController::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::ActsAsFlagableController::ClassMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ acts_as_flagable(options={}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/flagable.rb, line 8
+def acts_as_flagable(options={})
+  include Flagable::ActsAsFlagableController::LocalInstanceMethods
+  extend Flagable::ActsAsFlagableController::LocalClassMethods
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/ActsAsFlagableController/LocalClassMethods.html b/doc/app/Flagable/ActsAsFlagableController/LocalClassMethods.html new file mode 100644 index 0000000..b0942af --- /dev/null +++ b/doc/app/Flagable/ActsAsFlagableController/LocalClassMethods.html @@ -0,0 +1,381 @@ + + + + + + + Module: Flagable::ActsAsFlagableController::LocalClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::ActsAsFlagableController::LocalClassMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/ActsAsFlagableController/LocalInstanceMethods.html b/doc/app/Flagable/ActsAsFlagableController/LocalInstanceMethods.html new file mode 100644 index 0000000..0ce376e --- /dev/null +++ b/doc/app/Flagable/ActsAsFlagableController/LocalInstanceMethods.html @@ -0,0 +1,444 @@ + + + + + + + Module: Flagable::ActsAsFlagableController::LocalInstanceMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::ActsAsFlagableController::LocalInstanceMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ flag() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/flagable.rb, line 18
+def flag
+  fi = controller_path.classify.constantize::FLAG_ICONS
+ 
+  @obj=controller_path.classify.constantize.find(params[:id])
+  lflag=("flag_"+params[:flag]).to_sym
+  authorize! lflag, @obj
+  unless params[:flag].nil? || params[:flag].empty? || params[:value].nil?
+    if @obj.respond_to?(lflag.to_s+"=")
+      @obj.send(lflag.to_s+"=",params[:value]=="true")
+      @obj.save
+    end
+  end
+  respond_to do |format|
+    format.html {render partial: "flags/flaglink", locals: {flag: params[:flag],icon: fi[params[:flag]]}}
+    format.js {render partial: "flags/flag", locals: {flag: params[:flag], icon: fi[params[:flag]]}}
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/ActsAsFlagableRecord.html b/doc/app/Flagable/ActsAsFlagableRecord.html new file mode 100644 index 0000000..3a25782 --- /dev/null +++ b/doc/app/Flagable/ActsAsFlagableRecord.html @@ -0,0 +1,393 @@ + + + + + + + Module: Flagable::ActsAsFlagableRecord + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::ActsAsFlagableRecord

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/ActsAsFlagableRecord/ClassMethods.html b/doc/app/Flagable/ActsAsFlagableRecord/ClassMethods.html new file mode 100644 index 0000000..42f9853 --- /dev/null +++ b/doc/app/Flagable/ActsAsFlagableRecord/ClassMethods.html @@ -0,0 +1,443 @@ + + + + + + + Module: Flagable::ActsAsFlagableRecord::ClassMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::ActsAsFlagableRecord::ClassMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ acts_as_flagable(options={}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/flagable.rb, line 44
+def acts_as_flagable(options={})
+  include Flagable::ActsAsFlagableRecord::LocalInstanceMethods
+  #extend class methods
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/ActsAsFlagableRecord/LocalInstanceMethods.html b/doc/app/Flagable/ActsAsFlagableRecord/LocalInstanceMethods.html new file mode 100644 index 0000000..7a4d415 --- /dev/null +++ b/doc/app/Flagable/ActsAsFlagableRecord/LocalInstanceMethods.html @@ -0,0 +1,467 @@ + + + + + + + Module: Flagable::ActsAsFlagableRecord::LocalInstanceMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::ActsAsFlagableRecord::LocalInstanceMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ flaglinkid(flag) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/flagable.rb, line 55
+def flaglinkid(flag)
+  return self.class.to_s.gsub("::","_") + "_" + self.id.to_s + "_flag_"+flag.to_s
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ get_flag(flag) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/flagable.rb, line 50
+def get_flag(flag)
+  v= @obj.send("flag_"+flag.to_s) if @obj.respond_to?("flag_"+flag.to_s)
+  v= false if v.nil?
+  v
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Flagable/FlagableHelper.html b/doc/app/Flagable/FlagableHelper.html new file mode 100644 index 0000000..67f33e8 --- /dev/null +++ b/doc/app/Flagable/FlagableHelper.html @@ -0,0 +1,436 @@ + + + + + + + Module: Flagable::FlagableHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Flagable::FlagableHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + + + + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Foto.html b/doc/app/Foto.html new file mode 100644 index 0000000..5c53956 --- /dev/null +++ b/doc/app/Foto.html @@ -0,0 +1,498 @@ + + + + + + + Class: Foto + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Foto

+ +
+ +

Schema Information

+ +

Table name: fotos

+ +
id         :integer          not null, primary key
+title      :string(255)
+desc       :text
+gallery_id :integer
+datei      :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ parse_exif() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/foto.rb, line 32
+def parse_exif
+  unless self.exif.nil? || self.exif.empty?
+    j=JSON.parse(self.exif)
+    datetime = j.select {|i| i.first == "DateTime"}.try(:first).try(:last)
+    self.taken_at=Time.new(datetime) unless datetime.nil?
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_jq_upload() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/foto.rb, line 20
+  def to_jq_upload
+{
+  "id" => read_attribute(:id),
+  "title" => read_attribute(:title),
+  "description" => read_attribute(:desc),
+  "name" => read_attribute(:title),
+  "size" => datei.size,
+  "url" => datei.url,
+  "thumbnail_url" => datei.thumb.url,
+  "delete_type" => "DELETE" 
+ }
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FotoUploader.html b/doc/app/FotoUploader.html new file mode 100644 index 0000000..a527b07 --- /dev/null +++ b/doc/app/FotoUploader.html @@ -0,0 +1,529 @@ + + + + + + + Class: FotoUploader + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FotoUploader

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ extension_white_list() + click to toggle source +
+ + +
+ +

Add a white list of extensions which are allowed to be uploaded. For images +you might use something like this:

+ + + +
+
+# File app/uploaders/foto_uploader.rb, line 57
+def extension_white_list
+  %(jpg jpeg gif png)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ store_dir() + click to toggle source +
+ + +
+ +

Override the directory where uploaded files will be stored. This is a +sensible default for uploaders that are meant to be mounted:

+ + + +
+
+# File app/uploaders/foto_uploader.rb, line 14
+def store_dir
+  "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ store_exif() + click to toggle source +
+ + +
+ +

Override the filename of the uploaded files: Avoid using model.id or +version_name here, see uploader/store.rb for details. def filename

+ +
"something.jpg" if original_filename
+ +

end

+ + + +
+
+# File app/uploaders/foto_uploader.rb, line 67
+def store_exif
+  img = Magick::Image.read(current_path)
+  model.exif=img.first.get_exif_by_entry().to_json
+  
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FotosController.html b/doc/app/FotosController.html new file mode 100644 index 0000000..2d87268 --- /dev/null +++ b/doc/app/FotosController.html @@ -0,0 +1,716 @@ + + + + + + + Class: FotosController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FotosController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /fotos POST /fotos.json

+ + + +
+
+# File app/controllers/fotos_controller.rb, line 60
+def create
+  @foto = Foto.new(params[:foto])
+  @foto.gallery_id = (params[:gallery_id])
+  @gallery = @foto.gallery
+  respond_to do |format|
+    @foto.title = @foto.datei.filename
+    if @foto.save
+     format.html {
+        render :json => [@foto.to_jq_upload].to_json,
+        :content_type => 'text/html',
+        :layout => false
+      }
+      format.json { render json: {files: [@foto.to_jq_upload]}, status: :created, location: [@gallery, @foto] }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @foto.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /fotos/1 DELETE /fotos/1.json

+ + + +
+
+# File app/controllers/fotos_controller.rb, line 102
+def destroy
+  @foto = Foto.find(params[:id])
+  gallery = @foto.gallery_id
+  @foto.destroy
+
+  respond_to do |format|
+    format.html { redirect_to gallery_path(gallery) }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /fotos/1/edit

+ + + +
+
+# File app/controllers/fotos_controller.rb, line 54
+def edit
+  @foto = Foto.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ +

GET /fotos GET /fotos.json

+ + + +
+
+# File app/controllers/fotos_controller.rb, line 6
+def index
+  @fotos = Foto.all
+
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @fotos }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /fotos/new GET /fotos/new.json

+ + + +
+
+# File app/controllers/fotos_controller.rb, line 41
+def new
+  @foto = Foto.new
+  @gallery = Gallery.find_by_id(params[:gallery_id])
+  @foto.gallery_id = @gallery.id
+  @toolbar_elements << {:hicon => 'icon-arrow-left', :text => I18n.t('common.back'), :path => gallery_path(params[:gallery_id]) }
+
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @foto }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /fotos/1 GET /fotos/1.json

+ + + +
+
+# File app/controllers/fotos_controller.rb, line 17
+def show
+  @foto = Foto.find(params[:id])
+  @gallery=@foto.gallery
+  @openfotoid=@foto.id
+  @pppage=params[:pppage].to_i % 4
+  @pppage_array = [ 25 , 50 , 100, 10000]
+  @page = params[:page].nil? ? 1 : params[:page].to_i
+  
+  @fotos_p = @gallery.fotos.page(@page).per(@pppage_array[@pppage])
+  @fotos_n = @gallery.fotos- @fotos_p
+  respond_to do |format|
+    format.html {
+      if params[:plain]
+        render "show", layout: false
+      else
+        render "galleries/show" #controller: :galleries, action: :show #gallery_path(@foto.gallery,:params=>{fotoid: @foto.id})
+      end
+      }
+    format.json { render json: @foto }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /fotos/1 PUT /fotos/1.json

+ + + +
+
+# File app/controllers/fotos_controller.rb, line 82
+def update
+  @foto = Foto.find(params[:id])
+
+  respond_to do |format|
+    if @foto.update_attributes(params[:foto])
+      format.html {
+        render :json => [@foto.to_jq_upload].to_json,
+        :content_type => 'text/html',
+        :layout => false
+      }
+      format.json { render json: {files: [@foto.to_jq_upload]}, status: :created, location: [@gallery, @foto] }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @foto.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FotosHelper.html b/doc/app/FotosHelper.html new file mode 100644 index 0000000..20aff2a --- /dev/null +++ b/doc/app/FotosHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: FotosHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FotosHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Frage.html b/doc/app/Frage.html new file mode 100644 index 0000000..91d1c69 --- /dev/null +++ b/doc/app/Frage.html @@ -0,0 +1,400 @@ + + + + + + + Class: Frage + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Frage

+ +
+ +

Schema Information

+ +

Table name: fragen

+ +
id         :integer          not null, primary key
+title      :string(255)
+text       :text
+created_at :datetime         not null
+updated_at :datetime         not null
+thema_id   :integer
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FragenController.html b/doc/app/FragenController.html new file mode 100644 index 0000000..16a7bb3 --- /dev/null +++ b/doc/app/FragenController.html @@ -0,0 +1,704 @@ + + + + + + + Class: FragenController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FragenController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /fragen POST /fragen.json

+ + + +
+
+# File app/controllers/fragen_controller.rb, line 49
+def create
+  @frage = Frage.new(params[:frage])
+  thema=@frage.thema
+  @fragen=@frage.thema.fragen
+  respond_to do |format|
+    if @frage.save
+      format.html { redirect_to @frage.thema, notice: 'Frage was successfully created.' }
+      format.json { render json: @frage, status: :created, location: @frage }
+      format.js {@frage=Frage.new ; @frage.thema=thema}
+    else
+      format.html { render action: "new" }
+      format.json { render json: @frage.errors, status: :unprocessable_entity }
+      format.js 
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /fragen/1 DELETE /fragen/1.json

+ + + +
+
+# File app/controllers/fragen_controller.rb, line 86
+def destroy
+  @frage = Frage.find(params[:id])
+  @thema=@frage.thema
+  @frage.destroy
+
+  respond_to do |format|
+    format.html { redirect_to @frage.thema }
+    format.json { head :no_content }
+    format.js { 
+      @fragen=@thema.fragen
+      render :create
+    }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /fragen/1/edit

+ + + +
+
+# File app/controllers/fragen_controller.rb, line 39
+def edit
+  @frage = Frage.find(params[:id])
+  respond_to do |format|
+    format.html
+    format.js {render action: :new}
+  end 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/fragen_controller.rb, line 6
+def index
+  @fragen = Frage.all
+
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @fragen }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /fragen/new GET /fragen/new.json

+ + + +
+
+# File app/controllers/fragen_controller.rb, line 28
+def new
+  @frage = Frage.new
+
+  respond_to do |format|
+    format.html
+    format.json { render json: @frage }
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /fragen/1 GET /fragen/1.json

+ + + +
+
+# File app/controllers/fragen_controller.rb, line 17
+def show
+  @frage = Frage.find(params[:id])
+
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @frage }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /fragen/1 PUT /fragen/1.json

+ + + +
+
+# File app/controllers/fragen_controller.rb, line 68
+def update
+  @frage = Frage.find(params[:id])
+
+  respond_to do |format|
+    if @frage.update_attributes(params[:frage])
+      format.html { redirect_to @frage, notice: 'Frage was successfully updated.' }
+      format.json { head :no_content }
+      format.js {@frage=Frage.new; render action: "new"}
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @frage.errors, status: :unprocessable_entity }
+      format.js {render action: "edit"}
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/FragenHelper.html b/doc/app/FragenHelper.html new file mode 100644 index 0000000..545325e --- /dev/null +++ b/doc/app/FragenHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: FragenHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

FragenHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/GalleriesController.html b/doc/app/GalleriesController.html new file mode 100644 index 0000000..c2cca22 --- /dev/null +++ b/doc/app/GalleriesController.html @@ -0,0 +1,744 @@ + + + + + + + Class: GalleriesController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

GalleriesController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /galleries POST /galleries.json

+ + + +
+
+# File app/controllers/galleries_controller.rb, line 96
+def create
+  @gallery = Gallery.new(params[:gallery])
+  @foto = Foto.new
+  respond_to do |format|
+    if @gallery.save
+      format.html { redirect_to @gallery, notice: 'Gallery was successfully created.' }
+      format.json { render json: @gallery, status: :created, location: @gallery }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @gallery.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /galleries/1 DELETE /galleries/1.json

+ + + +
+
+# File app/controllers/galleries_controller.rb, line 132
+def destroy
+  @gallery = Gallery.find(params[:id])
+  @gallery.destroy
+
+  respond_to do |format|
+    format.html { redirect_to galleries_url }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /galleries/1/edit

+ + + +
+
+# File app/controllers/galleries_controller.rb, line 89
+def edit
+  @gallery = Gallery.find(params[:id])
+  @fotos_old = @gallery.fotos
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ +

GET /galleries GET /galleries.json

+ + + +
+
+# File app/controllers/galleries_controller.rb, line 7
+def index
+  @galleries = Gallery.all
+  @toolbar_elements << {:hicon => 'icon-plus', :text => I18n.t('fotos.new-gallery'), :path => new_gallery_path } if can? :new, Gallery
+
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @galleries }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /galleries/new GET /galleries/new.json

+ + + +
+
+# File app/controllers/galleries_controller.rb, line 79
+def new
+  @gallery = Gallery.new
+  @foto = Foto.new
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @gallery }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /galleries/1 GET /galleries/1.json

+ + + +
+
+# File app/controllers/galleries_controller.rb, line 19
+  def show
+    @gallery = Gallery.find(params[:id])
+    
+    @pppage_array = [ 25 , 50 , 100, 10000] #defines number & size of picture chunks
+    @pppage = 0 #starting index of pppage_array
+    
+    if !params[:pppage].nil? && params[:pppage].to_i <= 3 && params[:pppage].to_i >= 0
+      @pppage = params[:pppage].to_i
+    end
+    
+    @page = params[:page].nil? ? 1 : params[:page].to_i
+   
+      
+    #  @fotos = Foto.where(:gallery_id => params[:id]).limit(@pppage_array[@pppage]).offset(@pppage_array[@pppage]*(@page-1))
+    @fotos = Foto.where(:gallery_id => params[:id])
+    unless params[:fotoid].nil?
+      foto_ind = @fotos.find_index(Foto.find(params[:fotoid]))
+     # @page=(@fotos.count/foto_ind).to_i+1
+      @openfotoid=params[:fotoid]
+    else
+@openfotoid=0
+    end
+ if @fotos.nil? || @fotos.empty?
+      @fotos_p = []
+      @fotos_n = []
+      @pages = 1
+      
+    else
+      if @pppage_array[@pppage] != "all"
+        @fotos_p = @fotos.page(@page).per(@pppage_array[@pppage])
+        
+        @fotos_n = @fotos- @fotos_p
+        @foto_ind = @fotos.find_index(@fotos_p.first)
+        @fotos_n = @fotos_n.rotate(@foto_ind)
+        @pages = (Foto.where(:gallery_id => params[:id]).count/(@pppage_array[@pppage])+1)
+      else
+        @fotos_p = @fotos
+        @fotos_n = []
+        @pages = 1
+      end
+    end
+
+    # Hier ausrechnen welche angezeigt werden sollen
+    @toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('fotos.new-fotos'), :path=>new_gallery_foto_path(@gallery)} if can? :create, @gallery
+    @toolbar_elements << {:hicon=>'icon-pencil', :text => I18n.t('common.edit'), :path=>edit_gallery_path(@gallery)} if can? :edit, @gallery
+    @toolbar_elements << {:hicon=>'icon-arrow-left', :text=>I18n.t('common.back'), :path=>galleries_path()} 
+    @toolbar_elements << {:hicon => 'icon-remove-circle', :text => I18n.t('common.delete'), :path => gallery_path(@gallery),:confirm=>'Sure?', :method=>:delete} if can? :delete, Gallery
+    
+    respond_to do |format|
+      format.html {
+      if @fotos.nil? || @fotos.empty?
+      redirect_to new_gallery_foto_path(@gallery)
+      end
+      }
+      format.json { render json: @gallery }
+    end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /galleries/1 PUT /galleries/1.json

+ + + +
+
+# File app/controllers/galleries_controller.rb, line 112
+def update
+  @gallery = Gallery.find(params[:id])
+  @foto = Foto.new
+  respond_to do |format|
+    if @gallery.update_attributes(params[:gallery])
+
+      Foto.where(:gallery_id=>nil).each do |tbd|
+        tbd.destroy
+      end
+      format.html { redirect_to @gallery, notice: 'Gallery was successfully updated.' }
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @gallery.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/GalleriesHelper.html b/doc/app/GalleriesHelper.html new file mode 100644 index 0000000..e64ecf2 --- /dev/null +++ b/doc/app/GalleriesHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: GalleriesHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

GalleriesHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Gallery.html b/doc/app/Gallery.html new file mode 100644 index 0000000..c867c61 --- /dev/null +++ b/doc/app/Gallery.html @@ -0,0 +1,462 @@ + + + + + + + Class: Gallery + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Gallery

+ +
+ +

Schema Information

+ +

Table name: galleries

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+datum      :date
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
WORD_COUNT
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ title() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/gallery.rb, line 24
+def title
+  name
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/GremienController.html b/doc/app/GremienController.html new file mode 100644 index 0000000..e9614c5 --- /dev/null +++ b/doc/app/GremienController.html @@ -0,0 +1,752 @@ + + + + + + + Class: GremienController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

GremienController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /gremien POST /gremien.json

+ + + +
+
+# File app/controllers/gremien_controller.rb, line 67
+def create
+  @gremium = Gremium.new(params[:gremium])
+
+  respond_to do |format|
+    if @gremium.save
+      format.html { redirect_to @gremium, notice: 'Gremium was successfully created.' }
+      format.json { render json: @gremium, status: :created, location: @gremium }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @gremium.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /gremien/1

+ + + +
+
+# File app/controllers/gremien_controller.rb, line 110
+def destroy
+  @gremium = Gremium.find(params[:id])
+  @gremium.destroy
+
+  respond_to do |format|
+    format.html { redirect_to gremien_url }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /gremien/1/edit

+ + + +
+
+# File app/controllers/gremien_controller.rb, line 57
+def edit
+  @gremium = Gremium.find(params[:id])
+  
+  @memberships=@gremium.memberships.order(:fetprofile_id).active
+  @memberships<< Membership.new
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/gremien_controller.rb, line 18
+def index 
+  if params[:filter].nil?
+    @gremien = Gremium.where("CAST(typ AS INT) < 10").order(:typ).order(:name)
+  else
+    @gremien = Gremium.order(:typ).order(:name).where("CAST(typ AS INT) = ?",params[:filter].to_i)   
+  end
+ 
+
+  @gremientabs=Gremium.tabs
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /gremien/new GET /gremien/new.json

+ + + +
+
+# File app/controllers/gremien_controller.rb, line 46
+def new
+  @gremium = Gremium.new
+  @memberships=[Membership.new]
+
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @gremium }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /gremien/1 GET /gremien/1.json

+ + + +
+
+# File app/controllers/gremien_controller.rb, line 33
+def show
+  @gremium = Gremium.find(params[:id])
+  @gremientabs=Gremium.tabs
+  @memberships=@gremium.memberships.visible_in_gremium
+  @nlinks = @gremium.nlinks.page(params[:page]).per(5)
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @gremium }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /gremien/1 PUT /gremien/1.json

+ + + +
+
+# File app/controllers/gremien_controller.rb, line 83
+def update
+  @gremium = Gremium.find(params[:id])
+
+  respond_to do |format|
+    if @gremium.update_attributes(params[:gremium])
+      format.html { 
+        unless params[:button]=="continue" || params[:commit]=="continue"
+          redirect_to @gremium, notice: 'Gremium was successfully updated.' 
+        else
+          @memberships=@gremium.memberships.order(:typ)
+          @memberships<< Membership.new
+          @memberships<< Membership.new
+          @memberships<< Membership.new
+          render action: "edit", notice: 'gremium was successfully updated.'
+        end
+        }
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @gremium.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/gremien_controller.rb, line 6
+def verwalten
+  @gremien = Gremium.all
+  @gremientabs=Gremium.tabs
+  @toolbar_elements << {:text=>I18n.t('gremium.new'),:path=>new_gremium_path() ,:icon=>:plus} if can? :new, Gremium
+  @toolbar_elements << {:text=>I18n.t('profile.new'),:path=>new_fetprofile_path() ,:icon=>:plus} if can? :new, Fetprofile
+
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @gremien }
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/GremienHelper.html b/doc/app/GremienHelper.html new file mode 100644 index 0000000..d98be17 --- /dev/null +++ b/doc/app/GremienHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: GremienHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

GremienHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Gremium.html b/doc/app/Gremium.html new file mode 100644 index 0000000..c1f9dd5 --- /dev/null +++ b/doc/app/Gremium.html @@ -0,0 +1,557 @@ + + + + + + + Class: Gremium + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Gremium

+ +
+ +

Schema Information

+ +

Table name: gremien

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+typ        :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
ART2FALL
+ +
+ + +
ART4FALL
+ +
+ + +
FILTER
+ +
+ + +
GESCHLECHT
+ +
+ + +
TEXT
+ +
+ + +
TYPEN
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ fall2() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/gremium.rb, line 37
+def fall2 
+  Gremium::ART2FALL[self.geschlecht.to_i].to_s+" "+ self.name.to_s+ ((self.geschlecht.to_i==1||self.geschlecht.to_i==0)? "s":"") 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fall4() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/gremium.rb, line 43
+def fall4 
+  Gremium::ART4FALL[self.geschlecht.to_i].to_s+" "+ self.name.to_s+ ((self.geschlecht.to_i==1||self.geschlecht.to_i==0)? "":"") 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ title() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/gremium.rb, line 40
+def title 
+  name
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/HomeController.html b/doc/app/HomeController.html new file mode 100644 index 0000000..58dad10 --- /dev/null +++ b/doc/app/HomeController.html @@ -0,0 +1,935 @@ + + + + + + + Class: HomeController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

HomeController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ admin() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 43
+def admin
+  authorize! :doadmin, User
+  t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml")
+  @kontaktthemen = Thema.where(:id=>t)
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ choose_contact_topics() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 107
+def choose_contact_topics
+  authorize! :doadmin, User
+  t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml")
+  unless params[:themen].nil?
+  t=([t].flatten+params[:themen]).uniq
+    end
+  unless params[:rmthema].nil?
+    t=t-[params[:rmthema]]
+  end
+  File.open("config/contact_topic.yml",'w'){|f|  f.write(t.to_yaml)}
+  redirect_to admin_home_index_path
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ dev() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 20
+def dev
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 2
+def index
+  @beispiele = Beispiel.last([Beispiel.count, 3].min)
+  @neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).limit(10)
+  if Thema.count>0
+  t=YAML.load_file("#{::Rails.root.to_s}/config/start_topic.yml")
+  @rubriken= Rubrik.accessible_by(current_ability, :show)
+
+  params[:month]= Date.today.month if params[:month].nil?
+  params[:year]= Date.today.year if params[:year].nil?
+
+  @calentries= (@rubriken.map {|r| r.calendar}).collect(&:calentries).flatten.select {|c| c.object !=nil}
+
+  @starttopic= @themen = Thema.where(:id=>t).first
+  else
+    @starttopic=@themen = nil
+  end
+  @stickythemen = Thema.where(:sticky_startpage=>true)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ infoscreen() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 23
+def infoscreen
+  authorize! :infoscreen, User 
+  @neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).where(flag_infoscreen: true)
+  render layout: false
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ intern() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 38
+def intern
+  authorize! :seeintern, User
+  @neuigkeiten = Neuigkeit.intern.recent
+  @themengruppen=Themengruppe.intern.order(:priority).reverse
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ kontakt() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 28
+def kontakt
+  t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml")
+  @themen = Thema.where(:id=>t)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ language() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 102
+def language
+  redirect_to :back
+rescue ActionController::RedirectBackError
+  redirect_to :root
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ linksnotimplemented() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 62
+def linksnotimplemented
+render 'links_notimplemented'
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ log() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 49
+def log
+  authorize! :doadmin, User
+  lines = params[:lines]
+  if Rails.env == "production"
+    @logs = `tail -n #{lines} log/production.log | grep  -v 'actionpack\\|railties\\|activesupport\\|::Translation'`
+  else
+    @logs = `tail -n #{lines} log/development.log | grep -v 'actionpack\\|railties\\|activesupport\\|::Translation'`
+  end
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ search() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 66
+def search
+
+  unless params['query'].nil? || params['query'].empty?
+    @results = Sunspot.search Neuigkeit,Rubrik, Fetprofile, Thema, Themengruppe, Lva, Studium, Modul, Modulgruppe, Gremium, Document do
+      fulltext params['query']
+    end
+    @neuigkeiten=[];
+    if can?(:showintern, Neuigkeit)
+      #@neuigkeiten=Neuigkeit.search(params['query'])
+    else
+     # @neuigkeiten =Neuigkeit.search(params['query']).public
+    end
+    @res=[]
+    @results.results.each do |r|
+    @res << r if can?(:show,r)
+    end
+
+#    @fetprofiles = Fetprofile.search(params['query'])
+    @fetprofiles=[]
+   # if can?(:showintern, Neuigkeit)
+   #   @themen=Thema.search(params['query'])
+   # else
+   #   @themen=Thema.search(params['query']).public
+   # end
+@themen=[]
+
+  else
+    @neuigkeiten=[]
+    @fetprofiles=[]
+    @themen=[]
+  end
+  respond_to do |format|
+    format.html
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ startdev() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 59
+def startdev
+render 'setup_fetsite_dev'
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ treeview() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/home_controller.rb, line 32
+def treeview
+  authorize! :doadmin, User
+  @themengruppen = Themengruppe.order(:priority).reverse
+  @themengruppen += Themengruppe.intern.order(:priority).reverse
+
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/IsCommentable.html b/doc/app/IsCommentable.html new file mode 100644 index 0000000..7dbe2d6 --- /dev/null +++ b/doc/app/IsCommentable.html @@ -0,0 +1,458 @@ + + + + + + + Module: IsCommentable + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

IsCommentable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ included(base) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/is_commentable.rb, line 2
+  def self.included(base)
+    base.class_eval do
+      include InstanceMethods
+      has_many :comments, as: :commentable, dependent: :destroy
+#      extend ClassMethods
+
+    end
+    
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/IsCommentable/InstanceMethods.html b/doc/app/IsCommentable/InstanceMethods.html new file mode 100644 index 0000000..b18a02a --- /dev/null +++ b/doc/app/IsCommentable/InstanceMethods.html @@ -0,0 +1,465 @@ + + + + + + + Module: IsCommentable::InstanceMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

IsCommentable::InstanceMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ comment(user, text, attr={}) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/is_commentable.rb, line 15
+def comment(user, text, attr={})
+  comments << Comment.build_for(self, user, text, attr)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_commentable?() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/is_commentable.rb, line 12
+def is_commentable?
+  true
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Key.html b/doc/app/Key.html new file mode 100644 index 0000000..8889d01 --- /dev/null +++ b/doc/app/Key.html @@ -0,0 +1,502 @@ + + + + + + + Class: Key + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Key

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ find_or_create(user, typ, parent=nil) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/key.rb, line 11
+  def self.find_or_create(user, typ, parent=nil)
+    if parent.nil? || !parent
+      kk=Key.where(user_id: user.id, typ: typ, is_valid: true).first
+      if kk.nil?
+        kk=Key.new 
+        kk.user=user 
+        kk.typ = typ 
+        kk.is_valid = true
+        kk.save
+      end
+    else
+      kk=Key.where(user_id: user.id, typ: typ, is_valid: true, parent_type: parent.class.to_s, parent_id: parent.id).first
+
+      if kk.nil?
+        kk=Key.new 
+        kk.user=user 
+        kk.typ = typ 
+        kk.is_valid = true
+kk.parent=parent
+        kk.save
+      end
+    end
+    kk
+  end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ create_unique_identifier() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/key.rb, line 6
+def create_unique_identifier
+  begin
+    self.uuid = SecureRandom.hex(10) # or whatever you chose like UUID tools
+  end while self.class.exists?(:uuid => uuid)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Lecturer.html b/doc/app/Lecturer.html new file mode 100644 index 0000000..a26f4a4 --- /dev/null +++ b/doc/app/Lecturer.html @@ -0,0 +1,458 @@ + + + + + + + Class: Lecturer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Lecturer

+ +
+ +

Schema Information

+ +

Table name: lecturers

+ +
id         :integer          not null, primary key
+name       :string(255)
+email      :string(255)
+oid        :integer
+picture    :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ load_tissdata() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lecturer.rb, line 21
+def load_tissdata
+  url= "https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/"+self.oid.to_s+".xml"
+  hash=Hash.from_xml(open(url).read)["tuvienna"]
+  self.name=hash["person"]["firstname"]+" "+hash["person"]["lastname"]
+  if hash["person"]["employee"]["employment"].is_a? Array
+ self.email= hash["person"]["employee"]["employment"].first["emails"]["email"].first
+  else
+    self.email= hash["person"]["employee"]["employment"]["emails"]["email"].first
+  end
+  self.link= "https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/"+self.oid.to_s
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/LecturersController.html b/doc/app/LecturersController.html new file mode 100644 index 0000000..63b2dce --- /dev/null +++ b/doc/app/LecturersController.html @@ -0,0 +1,689 @@ + + + + + + + Class: LecturersController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

LecturersController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /lecturers POST /lecturers.json

+ + + +
+
+# File app/controllers/lecturers_controller.rb, line 43
+def create
+  @lecturer = Lecturer.new(params[:lecturer])
+
+  respond_to do |format|
+    if @lecturer.save
+      format.html { redirect_to @lecturer, notice: 'Lecturer was successfully created.' }
+      format.json { render json: @lecturer, status: :created, location: @lecturer }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @lecturer.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /lecturers/1 DELETE /lecturers/1.json

+ + + +
+
+# File app/controllers/lecturers_controller.rb, line 75
+def destroy
+  @lecturer = Lecturer.find(params[:id])
+  @lecturer.destroy
+
+  respond_to do |format|
+    format.html { redirect_to lecturers_url }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /lecturers/1/edit

+ + + +
+
+# File app/controllers/lecturers_controller.rb, line 37
+def edit
+  @lecturer = Lecturer.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lecturers_controller.rb, line 5
+def index
+  @lecturers = Lecturer.all
+
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @lecturers }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /lecturers/new GET /lecturers/new.json

+ + + +
+
+# File app/controllers/lecturers_controller.rb, line 27
+def new
+  @lecturer = Lecturer.new
+
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @lecturer }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /lecturers/1 GET /lecturers/1.json

+ + + +
+
+# File app/controllers/lecturers_controller.rb, line 16
+def show
+  @lecturer = Lecturer.find(params[:id])
+
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @lecturer }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /lecturers/1 PUT /lecturers/1.json

+ + + +
+
+# File app/controllers/lecturers_controller.rb, line 59
+def update
+  @lecturer = Lecturer.find(params[:id])
+
+  respond_to do |format|
+    if @lecturer.update_attributes(params[:lecturer])
+      format.html { redirect_to @lecturer, notice: 'Lecturer was successfully updated.' }
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @lecturer.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/LecturersHelper.html b/doc/app/LecturersHelper.html new file mode 100644 index 0000000..d3aafb7 --- /dev/null +++ b/doc/app/LecturersHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: LecturersHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

LecturersHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/LikeVoteable.html b/doc/app/LikeVoteable.html new file mode 100644 index 0000000..6998a1d --- /dev/null +++ b/doc/app/LikeVoteable.html @@ -0,0 +1,455 @@ + + + + + + + Module: LikeVoteable + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

LikeVoteable

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ included(base) + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/like_voteable.rb, line 2
+def self.included(base)
+  base.class_eval do
+    include InstanceMethods
+    #base.hidden_actions.delete 'like'
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/LikeVoteable/InstanceMethods.html b/doc/app/LikeVoteable/InstanceMethods.html new file mode 100644 index 0000000..c4fa471 --- /dev/null +++ b/doc/app/LikeVoteable/InstanceMethods.html @@ -0,0 +1,496 @@ + + + + + + + Module: LikeVoteable::InstanceMethods + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

LikeVoteable::InstanceMethods

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ dislike() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/like_voteable.rb, line 27
+def dislike
+  @obj=controller_name.classify.constantize.find(params[:id])
+  if current_user.disliked?(@obj)
+    @obj.undisliked_by current_user
+  else
+    @obj.disliked_by current_user
+  end
+  @obj.touch
+  respond_to do |format|
+    format.html {
+      redirect_to @obj 
+    }
+    format.js {
+      render :show
+    }
+    #
+  end
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ like() + click to toggle source +
+ + +
+ + + + + +
+
+# File lib/like_voteable.rb, line 9
+def like
+  @obj=controller_name.classify.constantize.find(params[:id])
+  if current_user.liked? @obj
+    @obj.unliked_by current_user
+  else
+    @obj.liked_by current_user
+  end
+  @obj.touch
+  respond_to do |format|
+    format.html {
+      redirect_to @obj 
+    }
+    format.js {
+      render :show
+    }
+    #
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Lva.html b/doc/app/Lva.html new file mode 100644 index 0000000..7c64d1a --- /dev/null +++ b/doc/app/Lva.html @@ -0,0 +1,963 @@ + + + + + + + Class: Lva + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Lva

+ +
+ +

Schema Information

+ +

Table name: lvas

+ +
id          :integer          not null, primary key
+name        :string(255)
+desc        :text
+ects        :decimal
+lvanr       :string(255)
+stunden     :decimal
+created_at  :datetime         not null
+updated_at  :datetime         not null
+modul_id    :integer
+semester_id  :integer
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
ERLAUBTE_TYPEN
+ +
+ + +
+
+ + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ update_multiple_with_modul(hash,modul) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lva.rb, line 240
+def self.update_multiple_with_modul(hash,modul)
+  newlvas=[]
+  hash.each do |i,l|
+    lva=Lva.where(:lvanr=>l["lvanr"]).first if lva.nil?
+    lva=Lva.new(l) if lva.nil?
+    lva.modul<< modul
+    lva.modul.uniq!
+    lva.name=l["name"]
+    lva.lvanr=l["lvanr"]
+    lva.ects=l["ects"]
+    descr = l["desc"]
+    lva.desc= (descr.empty?) ? "<div></div>" : descr
+    lva.semester=Semester.where(:id=>l["semester_ids"].map(&:to_i))
+    lva.stunden=l["stunden"]
+    pr =l["pruefungsinformation"]
+    lva.pruefungsinformation= (pr.empty?) ? "<div></div>" : pr
+    lva.lernaufwand=l["lernaufwand"]
+    lva.typ=l["typ"]
+    lva.save
+    newlvas<< lva #
+  end 
+  newlvas
+  
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ add_semesters() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lva.rb, line 71
+def add_semesters
+  # Diese Methode fügt die Instanz automatisch zu allen Studien als "Ohne Semesterempfehlung" (Semester 0) zu, bei denen die Instanz im Studium noch nicht vorkommt.
+  for m in self.modul
+    for mg in m.modulgruppen # Über alle Module und alle Modulgruppen iterieren
+      hits = mg.studium.semester.all.map{|x| x.lvas}.map{|x| x.find_by_id(self.id)}.compact # Alle einträge in allen semestern mit gleicher LVa-ID suchen und alle nils entfernen
+
+      if hits.empty? # wurde gar kein eintrag gefunden ?
+        self.semester << mg.studium.semester.where(:nummer => 0) # auf nummer null eintragen
+      end
+    end
+  end
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ full_name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lva.rb, line 68
+def full_name
+  return self.typ_n + ' ' + self.name
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_tissdata() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lva.rb, line 116
+  def load_tissdata
+    urlp="https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+"-"
+    begin
+      url= urlp+Time.now.year.to_s+"W"
+      hash=Hash.from_xml(open(url).read)["tuvienna"]
+    rescue OpenURI::HTTPError => e
+      begin
+        url= urlp+Time.now.year.to_s+"S"
+        hash=Hash.from_xml(open(url).read)["tuvienna"]
+      rescue OpenURI::HTTPError => e
+      begin
+        url= urlp+(Time.now.year-1).to_s+"W"
+        hash=Hash.from_xml(open(url).read)["tuvienna"]
+      rescue OpenURI::HTTPError => e
+        
+      end 
+        
+      end 
+      
+    end 
+ 
+
+
+#    begin 
+ 
+  #    person=[] 
+  #    if hash["course"]["lecturers"]["oid"].is_a? String
+  #      person = @hash["course"]["lecturers"]["oid"]
+  #    else
+  #      hash["course"]["lecturers"]["oid"].each do |pid|
+  #        person << Hash.from_xml(open("https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/" + pid.to_s + ".xml").read)["tuvienna"]["person"]
+  #      end
+  #    end
+    self.name=hash["course"]["title"]["de"]
+    self.pruefungsinformation =  hash["course"]["examinationModalities"][I18n.locale.to_s].to_s unless hash["course"]["examinationModalities"][I18n.locale.to_s].to_s.empty?
+    self.desc= hash["course"]["objective"][I18n.locale.to_s]+"<p></p>"+hash["course"]["teachingContent"][I18n.locale.to_s]
+    self.typ=hash["course"]["courseType"]
+    self.stunden=hash["course"]["weeklyHours"]
+    #hash["course"]["url"]  
+    if hash["course"]["lecturers"]["oid"].is_a? Array
+      hash["course"]["lecturers"]["oid"].each do |oid|
+        lecturer= self.lecturers.where(:oid=>oid).first
+        if lecturer.nil?
+          lecturer=Lecturer.where(:oid=>oid).first
+          if lecturer.nil?
+            logger.debug "Neuen Lecturer laden"
+            lecturer=Lecturer.new
+            lecturer.oid=oid
+            lecturer.load_tissdata
+            if lecturer.save
+              self.lecturers << lecturer
+            else
+              logger.fatal "Invaliden Lecturer erzeugt"
+            end
+          else
+            logger.debug "Lecturer hinzufügen"
+            self.lecturers << lecturer
+          end
+        end
+      end
+    else
+      oid=  hash["course"]["lecturers"]["oid"]
+      lecturer= self.lecturers.where(:oid=>oid).first
+      if lecturer.nil?
+        lecturer=Lecturer.where(:oid=>oid).first
+        if lecturer.nil?
+          logger.info "Neuen Lecturer laden"
+          lecturer=Lecturer.new
+          lecturer.oid=oid
+            lecturer.load_tissdata
+          if lecturer.save
+            self.lecturers << lecturer
+          else
+            logger.fatal "Invaliden Lecturer erzeugt"
+          end
+        else
+          
+          logger.info "Lecturer hinzufügen"
+          lecturer.load_tissdata
+          lecturer.save
+          self.lecturers << lecturer
+        end
+      end
+    
+
+    end
+    
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ read_et_forum() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lva.rb, line 266
+def read_et_forum
+  lva=self
+  url=lva.forumlink
+  ans = JSON.parse(`python #{Rails.root}/bin/downloadlogin.py #{url}`)
+  ans.each do |a|
+    if Crawlobject.where(:objhash=>Digest::SHA512.hexdigest(a.to_json), :objtype=>1).count ==0
+      aa = Crawlobject.new(:raw=>a.to_json)
+      aa.objtype=1
+      aa.parse_object
+      aa.calc_hash
+      aa.something=lva
+      if Crawlobject.where(:objhash2=>aa.objhash2, :objtype=>1).count==0
+          aa.save
+      else
+        aa=Crawlobject.where(:objhash2=>aa.objhash2).first
+        aa.raw=a.to_json
+        aa.parse_object
+        aa.calc_hash
+        aa.save
+      end
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ tisshash(semester) + click to toggle source +
+ + +
+ +

Lade Daten aus TISS und füge diese in die Datenbank ein.

+ + + +
+
+# File app/models/lva.rb, line 87
+def tisshash(semester)
+ url= "https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+semester
+hash=Hash.from_xml(open(url).read)["tuvienna"]
+end
+
+ +
+ + + + +
+ + + + + +
+ + + +
+ title() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lva.rb, line 65
+def title
+  self.name
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ typ_n() + click to toggle source +
+ + +
+ +

(zumindest eines)

+ + + +
+
+# File app/models/lva.rb, line 62
+def typ_n
+  typ=="andere" ? "" : typ
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_multiple(hash) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/lva.rb, line 205
+def update_multiple(hash)
+  newlvas=[]
+  params["lvas"].each do |i,l|
+    lva=Lva.where(:lvanr=>l["lvanr"]).first if lva.nil?
+    lva=Lva.new(l) if lva.nil?
+
+    lva.name=l["name"]
+    lva.lvanr=l["lvanr"]
+    lva.ects=l["ects"]
+    descr = l["desc"]
+    lva.desc= (descr.empty?) ? "<div></div>" : descr
+    lva.semester=Semester.where(:id=>l["semester_ids"].map(&:to_i))
+    lva.stunden=l["stunden"]
+    pr =l["pruefungsinformation"]
+    lva.pruefungsinformation= (pr.empty?) ? "<div></div>" : pr
+    lva.lernaufwand=l["lernaufwand"]
+    lva.typ=l["typ"]
+    lva.save
+    newlvas<<lva #
+  end 
+  newlvas
+  
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/LvasController.html b/doc/app/LvasController.html new file mode 100644 index 0000000..385aa5c --- /dev/null +++ b/doc/app/LvasController.html @@ -0,0 +1,895 @@ + + + + + + + Class: LvasController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

LvasController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ beispiel_sammlung() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 17
+def beispiel_sammlung
+  @lva = Lva.find_by_id(params[:id])
+  filename = 'beispiel_sammlung_' + @lva.lvanr.to_s + '_' + l(Date.today).to_s + '.zip'
+  temp_file = Tempfile.new(filename) 
+  begin
+    Zip::OutputStream.open(temp_file) { |zos| }
+    Zip::File.open(temp_file.path, Zip::File::CREATE) do |zip|
+      i=1
+      @lva.beispiele.each do |bsp|
+        zip.add(i.to_s + '_' + File.basename(bsp.beispieldatei.current_path), bsp.beispieldatei.current_path)
+        i = i + 1
+      end
+      
+    end
+    #Read the binary data from the file
+    zip_data = File.read(temp_file.path)
+    send_data(zip_data, :type => 'application/zip', :filename => filename)
+  ensure
+    #Close and delete the temp file
+    temp_file.close
+    temp_file.unlink
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ compare_tiss() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 76
+def compare_tiss
+  @lva = Lva.find_by_id(params[:id])
+  @lvatiss = Lva.new
+  @lvatiss.lvanr=@lva.lvanr
+  @lvatiss.load_tissdata
+ 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 94
+def create
+  @lva = Lva.new(params[:lva])
+  respond_to do |format|
+    if @lva.save
+      @lva.add_semesters
+      format.html { redirect_to @lva, notice: 'Lva was successfully created.' }
+    else
+      format.html { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 118
+def destroy
+  @lva = Lva.find(params[:id])
+  @lva.destroy
+  respond_to do |format|
+    format.html { redirect_to lvas_url }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 71
+def edit
+  @lva = Lva.find(params[:id])
+  @semester =  @lva.modul.map(&:modulgruppen).flatten.map(&:studium).map(&:semester).flatten.uniq
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 10
+def index
+  @lvas = Lva.all
+  @toolbar_elements=[{:hicon=>'icon-plus-sign',:text =>I18n.t('lva.add'),:path => new_lva_path}]
+  @tb=[{:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"),:path=>studien_path},
+       {:hicon=>'icon-list', :text=>I18n.t("modul.list"),:path=>moduls_path},
+       {:hicon=>'icon-list', :text=>I18n.t("lva.list"),:path=>lvas_path}]
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_studien() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 7
+def load_studien
+      @studien = Studium.accessible_by(current_ability, :show)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_tiss() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 84
+def load_tiss
+  @lva = Lva.find_by_id(params[:id])
+  @lva.load_tissdata
+  if @lva.save
+    redirect_to @lva , notice: 'Lva von TISS geladen.'
+  else
+    redirect_to @lva, action: :compare_tiss
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 65
+def new
+  @lva = Lva.new
+  modul=Modul.find_by_id(params[:modul_id])
+  @lva.modul<<modul unless modul.nil? #
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /lvas/1

+ + + +
+
+# File app/controllers/lvas_controller.rb, line 42
+def show
+  @lva = Lva.find_by_id(params[:id])
+  @beispiel=Beispiel.new
+  @beispiele_all=@lva.beispiele.order(:datum).accessible_by(current_ability, :show)
+  @beispiele = @lva.beispiele.not_flag_badquality.not_flag_delete.order(:lecturer_id,:datum).accessible_by(current_ability, :show)
+  @beispiele_badQ = @lva.beispiele.flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show)
+  @beispiele_deleted = @lva.beispiele.flag_delete.order(:datum).accessible_by(current_ability, :show)
+  @toolbar_elements =[]
+  @toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.manage'),:path => verwalten_lva_path(@lva)} if can? :verwalten, @lva
+  @crawlobjects = @lva.crawlobjects.roots.accessible_by(current_ability)
+  @questions=@lva.questions.accessible_by(current_ability,:show)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 106
+def update
+  @lva = Lva.find(params[:id])
+  respond_to do |format|
+    if @lva.update_attributes(params[:lva])
+      @lva.add_semesters
+      format.html { redirect_to @lva, notice: 'Lva was successfully updated.' }
+    else
+      format.html { render action: "edit" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/lvas_controller.rb, line 55
+def verwalten
+  @lva = Lva.find_by_id(params[:id])
+  @beispiel=Beispiel.new
+  @beispiele_all=@lva.beispiele.order(:datum).accessible_by(current_ability, :show)
+  @beispiele = @lva.beispiele.not_flag_badquality.not_flag_delete.order(:lecturer_id,:datum).accessible_by(current_ability, :show)
+  @beispiele_badQ = @lva.beispiele.flag_badquality.not_flag_delete.order(:datum).accessible_by(current_ability, :show)
+  @beispiele_deleted = @lva.beispiele.flag_delete.order(:datum).accessible_by(current_ability, :show)
+  render :show
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/MailerHelper.html b/doc/app/MailerHelper.html new file mode 100644 index 0000000..b348d95 --- /dev/null +++ b/doc/app/MailerHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: MailerHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MailerHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Meeting.html b/doc/app/Meeting.html new file mode 100644 index 0000000..24f8fe1 --- /dev/null +++ b/doc/app/Meeting.html @@ -0,0 +1,1001 @@ + + + + + + + Class: Meeting + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Meeting

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ new_divid_for(parent) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 106
+def self.new_divid_for(parent)
+  "meeting_new_parent_" + parent.class.to_s + "_" + parent.id.to_s 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new_with_date_and_typ(parent,start, typ) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 96
+def self.new_with_date_and_typ(parent,start, typ)
+  m= Meeting.new
+  m.parent=parent
+  m.calentry=Calentry.new
+  m.calentry.typ=2
+  m.calentry.start=start
+  m.calentry.dauer=4
+  m.meetingtyp=typ
+  m
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ agenda_text() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 120
+def agenda_text
+    unless self.agenda.nil?
+    t=  self.agenda.text 
+    else
+     t= ""
+    end
+  t
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_agenda() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 84
+def create_agenda
+  if self.agenda.nil?
+    d=Document.new
+    d.typ=11
+    d.name="Agenda"
+    unless self.meetingtyp.agenda.nil?
+      d.text=self.meetingtyp.agenda.text
+    end
+    d.save
+    self.agenda=d
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_announcement(user) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 38
+def create_announcement(user)
+  if self.neuigkeit.nil?
+  n = Neuigkeit.new
+  
+  n.title=self.text
+  n.text ="Agenda im Anhang"
+  n.rubrik = self.meetingtyp.rubrik
+  n.author=user
+    n.datum=Date.today
+  n.save    
+  self.neuigkeit= n
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_calentry() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 77
+def create_calentry
+ if  self.calentry.nil?
+   ce =Calentry.new
+   ce.typ=2
+   self.calentry=ce
+ end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_protocol() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 64
+def create_protocol
+ if self.protocol.nil?
+   d=Document.new
+   d.typ=10
+   d.name="Protokoll"
+   unless self.meetingtyp.protocol.nil?
+     d.text=self.meetingtyp.protocol.text
+   end
+   d.save
+   self.protocol=d
+ end
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ divid() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 109
+def divid
+  "meeting_"+self.id.to_s
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fix_calentry() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 57
+def fix_calentry
+  self.calentry.object=self unless self.calentry.nil?
+  self.calentry.calendar = self.meetingtyp.rubrik.calendar 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ protocol_text() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 128
+  def protocol_text
+ unless self.protocol.nil?
+      t=  self.protocol.text 
+      else
+       t= ""
+      end
+    t  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ public?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 61
+def public? 
+  ! (self.intern)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ text() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 26
+ def text
+   unless self.meetingtyp.try(:name).to_s.empty?  
+     t =  self.meetingtyp.name.to_s+", "
+   else
+     t=""
+     t = parent.title.to_s + ", " if self.name.empty?
+   end 
+   t= t+ self.name.to_s
+#    t = t + " " + I18n.l(self.calentry.start) unless self.calentry.nil?
+   t = t +" "+ I18n.t("date.am")+" "+ self.calentry.text unless self.calentry.nil?
+   t
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ title() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 22
+def title
+  self.text
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_announcement() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 51
+def update_announcement
+    n=self.neuigkeit
+    n.title=self.text
+    n.save
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_time_from_protocol() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meeting.rb, line 113
+def update_time_from_protocol
+  st= /Beginn[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s
+  st= /Anfang[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s if st.empty?
+  self.calentry.start=(self.calentry.start.to_date.to_s + " " +st).to_datetime unless st.empty?
+  st= /Ende[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s 
+ self.calentry.ende=(self.calentry.ende.to_date.to_s + " " +st).to_datetime unless st.empty?
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/MeetingsController.html b/doc/app/MeetingsController.html new file mode 100644 index 0000000..94e0bc3 --- /dev/null +++ b/doc/app/MeetingsController.html @@ -0,0 +1,853 @@ + + + + + + + Class: MeetingsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MeetingsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ announce() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 20
+def announce
+  m=Meeting.find(params[:id])
+  m.create_announcement(current_user)
+  m.save
+  @meeting=Meeting.find(params[:id])
+ 
+  respond_to do |format|
+    format.html {redirect_to m.parent}
+    format.js {render action: :show}  
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 86
+def create
+  @meeting = Meeting.new(params[:meeting])
+
+  @parent=@meeting.parent
+  #@meeting.assign_attributes(params[:meeting])
+
+  respond_to do |format|
+    if @meeting.save
+     # format.html { redirect_to @meeting, notice: 'Meeting was successfully created.' }
+      #format.json { render json: @meeting, status: :created, location: @meeting }
+      format.js
+    else
+  #    format.html { render action: "new" }
+ #     format.json { render json: @meeting.errors, status: :unprocessable_entity }
+      format.js { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_agenda() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 67
+def create_agenda
+  @meeting = Meeting.find(params[:id])
+  @meeting.create_agenda
+
+
+  respond_to do |format|
+    format.js {render action: :show}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_protocol() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 59
+def create_protocol
+  @meeting = Meeting.find(params[:id])
+  @meeting.create_protocol
+  @meeting.save
+  respond_to do |format|
+    format.js {render action: :show}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 122
+def destroy
+  logger.info("-------------delete------------------")
+  @meeting = Meeting.find(params[:id])
+
+  @parent=@meeting.parent
+  @meeting_id = params[:id]  
+  @meeting.destroy
+  
+  respond_to do |format|
+    #format.html { redirect_to @object}
+    #format.json { head :no_content }
+    format.js 
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 76
+  def edit
+    @meeting = Meeting.find(params[:id])
+
+@parent=@meeting.parent    
+respond_to do |format|
+       format.js
+    end
+
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 4
+def index
+  parent=params[:parent_type].constantize.find(params[:parent_id])
+  unless parent.nil?
+    #authorize! :show, parent
+    if params[:filter]=="upcomming"
+      @meetings=parent.meetings.upcomming
+    else
+      @meetings=parent.meetings
+    end
+    @parent=parent
+  end
+  respond_to do |format|
+    format.html {redirect_to rubriken_path}
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 49
+def new
+  @meeting=Meeting.new
+  @meeting.parent=params[:parent_type].constantize.find(params[:parent_id])
+  @parent=@meeting.parent
+  @meeting.calentry=Calentry.new
+  @meeting.calentry.typ = 2
+  respond_to do |format|
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 31
+  def show
+    m=Meeting.find(params[:id])
+    respond_to do |format|
+      format.html { 
+        if can?(:show, m.parent)
+        redirect_to m.parent
+        else 
+          if can?(:show, m.neuigkeit) && !m.neuigkeit.nil?
+            redirect_to m.neuigkeit
+            else
+            redirect_to m.parent
+          end
+        end
+      }
+      format.js  
+      
+    end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetings_controller.rb, line 105
+def update
+
+  @meeting = Meeting.find(params[:id])
+  @parent=@meeting.parent
+    respond_to do |format|
+    if @meeting.update_attributes(params[:meeting])
+        format.html { redirect_to @meeting, notice: 'Meeting was successfully updated.' }
+        format.json { head :no_content }
+        format.js
+      else
+
+     #   format.html 
+    #    format.json { render json: @meeting.errors, status: :unprocessable_entity }
+        format.js { render action: "edit" }
+      end
+    end
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/MeetingsHelper.html b/doc/app/MeetingsHelper.html new file mode 100644 index 0000000..c0d1744 --- /dev/null +++ b/doc/app/MeetingsHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: MeetingsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MeetingsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Meetingtyp.html b/doc/app/Meetingtyp.html new file mode 100644 index 0000000..7daba63 --- /dev/null +++ b/doc/app/Meetingtyp.html @@ -0,0 +1,438 @@ + + + + + + + Class: Meetingtyp + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Meetingtyp

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ text() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/meetingtyp.rb, line 12
+def text
+  self.name
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/MeetingtypsController.html b/doc/app/MeetingtypsController.html new file mode 100644 index 0000000..95647ca --- /dev/null +++ b/doc/app/MeetingtypsController.html @@ -0,0 +1,726 @@ + + + + + + + Class: MeetingtypsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MeetingtypsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 35
+def create
+  @meetingtyp = Meetingtyp.new(params[:meetingtyp])
+  @meetingtyp.assign_attributes(params[:meetingtyp])
+
+  respond_to do |format|
+    if @meetingtyp.save
+     format.html { redirect_to @meetingtyp, notice: 'Meeting was successfully created.' }
+      #format.json { render json: @meeting, status: :created, location: @meeting }
+      format.js
+    else
+      format.html { render action: "new" }
+ #     format.json { render json: @meeting.errors, status: :unprocessable_entity }
+      format.js { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_protocol_and_agenda() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 15
+def create_protocol_and_agenda
+  @meetingtyp = Meetingtyp.find(params[:id])  
+  if @meetingtyp.agenda.nil?
+    d=Document.new
+    d.typ=11
+    d.name="Agendavorlage"
+    d.save
+    @meetingtyp.agenda=d
+  end
+  if @meetingtyp.protocol.nil?
+    d=Document.new
+    d.typ=10
+    d.name="Protokollvorlage"
+    d.save
+    @meetingtyp.protocol=d
+  end
+  redirect_to action: :index
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 66
+def destroy
+  @meetingtyp = Meeting.find(params[:id])
+  @meetingtyp.destroy
+  respond_to do |format|
+    format.html { redirect_to action: :index}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 9
+def edit
+  @meetingtyp = Meetingtyp.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 3
+def index
+  @meetingtyps=Meetingtyp.all
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 12
+def new
+  @meetingtyp=Meetingtyp.new
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 6
+def show
+  redirect_to action: :index
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/meetingtyps_controller.rb, line 52
+def update
+  @meetingtyp = Meetingtyp.find(params[:id])
+    respond_to do |format|
+    if @meetingtyp.update_attributes(params[:meetingtyp])
+        format.html { redirect_to @meetingtyp, notice: 'Meeting was successfully updated.' }
+     #   format.json { head :no_content }
+        format.js
+      else
+        format.html  { render action: "edit" }
+    #    format.json { render json: @meeting.errors, status: :unprocessable_entity }
+        format.js { render action: "edit" }
+      end
+    end
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/MeetingtypsHelper.html b/doc/app/MeetingtypsHelper.html new file mode 100644 index 0000000..889c3de --- /dev/null +++ b/doc/app/MeetingtypsHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: MeetingtypsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MeetingtypsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Membership.html b/doc/app/Membership.html new file mode 100644 index 0000000..66f5168 --- /dev/null +++ b/doc/app/Membership.html @@ -0,0 +1,420 @@ + + + + + + + Class: Membership + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Membership

+ +
+ +

Schema Information

+ +

Table name: memberships

+ +
id            :integer          not null, primary key
+fetprofile_id :string(255)
+gremium_id    :string(255)
+start         :date
+stop          :date
+typ           :string(255)
+created_at    :datetime         not null
+updated_at    :datetime         not null
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
TYPEN
+ +
+ + +
TYPEN_g
+ +
+ + +
+
+ + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/MembershipsController.html b/doc/app/MembershipsController.html new file mode 100644 index 0000000..632206d --- /dev/null +++ b/doc/app/MembershipsController.html @@ -0,0 +1,610 @@ + + + + + + + Class: MembershipsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MembershipsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /memberships POST /memberships.json

+ + + +
+
+# File app/controllers/memberships_controller.rb, line 21
+def create
+  @membership = Membership.new(params[:membership])
+  @membership.fetprofile= Fetprofile.find(params[:fetprofile_id])
+  respond_to do |format|
+    if @membership.save
+      format.html { redirect_to @membership.fetprofile, notice: 'Membership was successfully created.' }
+      format.json { render json: @membership.fetprofile, status: :created, location: @membership.fetprofile }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @membership.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /memberships/1 DELETE /memberships/1.json

+ + + +
+
+# File app/controllers/memberships_controller.rb, line 53
+def destroy
+  @membership = Membership.find(params[:id])
+  fp = @membership.fetprofile
+  @membership.destroy
+
+  respond_to do |format|
+    format.html { redirect_to fp }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /memberships/1/edit

+ + + +
+
+# File app/controllers/memberships_controller.rb, line 15
+def edit
+  @membership = Membership.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/memberships_controller.rb, line 5
+def new
+  @membership = Membership.new
+      @membership.fetprofile=Fetprofile.find(params[:fetprofile_id])
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @membership }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /memberships/1 PUT /memberships/1.json

+ + + +
+
+# File app/controllers/memberships_controller.rb, line 37
+def update
+  #@membership = Membership.find(params[:id])
+
+  respond_to do |format|
+    if @membership.update_attributes(params[:membership])
+      format.html { redirect_to @membership.fetprofile, notice: 'Membership was successfully updated.' }
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @membership.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/MembershipsHelper.html b/doc/app/MembershipsHelper.html new file mode 100644 index 0000000..5a32708 --- /dev/null +++ b/doc/app/MembershipsHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: MembershipsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MembershipsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Modul.html b/doc/app/Modul.html new file mode 100644 index 0000000..59ad013 --- /dev/null +++ b/doc/app/Modul.html @@ -0,0 +1,478 @@ + + + + + + + Class: Modul + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Modul

+ +
+ +

Schema Information

+ +

Table name: moduls

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+depend     :text
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ update_multiple(hash) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/modul.rb, line 23
+def  self.update_multiple(hash)
+  m= []
+  if hash.is_a? Hash
+  hash.each do |i,h|
+    if i.to_i == 0 
+      unless h["name"].empty?
+        md=Modul.new(:name=>h["name"],:desc=>h["desc"],:depend=>h["depend"])
+        md.modulgruppen=Modulgruppe.where(:id => h["modulgruppe_ids"].map(&:to_i))
+        md.save
+        m << md
+      end
+    else
+      md=Modul.find(h["id"].to_i)
+      md.name=h["name"]
+      md.desc=h["desc"]
+      md.depend=h["depend"]
+      md.modulgruppen=Modulgruppe.where(:id => h["modulgruppe_ids"].map(&:to_i))
+      m << md
+    end
+  end
+  else 
+    hash.each do |h|
+    unless h["name"].empty?
+        md=Modul.new(:name=>h["name"],:desc=>h["desc"],:depend=>h["depend"])
+        md.modulgruppen=Modulgruppe.where(:id => h["modulgruppe_ids"].map(&:to_i))
+        md.save
+        m << md
+      end
+    end  
+end
+  m
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Modulgruppe.html b/doc/app/Modulgruppe.html new file mode 100644 index 0000000..c8a8f08 --- /dev/null +++ b/doc/app/Modulgruppe.html @@ -0,0 +1,486 @@ + + + + + + + Class: Modulgruppe + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Modulgruppe

+ +
+ +

Schema Information

+ +

Table name: modulgruppen

+ +
id         :integer          not null, primary key
+typ        :string(255)
+phase      :integer
+name       :string(255)
+desc       :text
+studium_id :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ long_name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/modulgruppe.rb, line 29
+def long_name
+  name + "(" + self.studium_name + ")"
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ studium_name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/modulgruppe.rb, line 32
+def studium_name
+  self.studium.nil? ? "Kein Studium vorhanden" : self.studium.name
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ModulgruppenController.html b/doc/app/ModulgruppenController.html new file mode 100644 index 0000000..f82c8e5 --- /dev/null +++ b/doc/app/ModulgruppenController.html @@ -0,0 +1,736 @@ + + + + + + + Class: ModulgruppenController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ModulgruppenController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /modulgruppen

+ + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 65
+def create
+  @modulgruppe = Modulgruppe.new(params[:modulgruppe])
+  respond_to do |format|
+    if @modulgruppe.save
+      format.html { redirect_to @modulgruppe.studium, notice: 'Modulgruppe was successfully created.' }
+
+    else
+      format.html { render action: "new" }
+      
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /modulgruppen/1

+ + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 94
+def destroy
+  @modulgruppe = Modulgruppe.find(params[:id])
+  @modulgruppe.destroy
+
+  respond_to do |format|
+    format.html { redirect_to modulgruppen_url }
+
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /modulgruppen/1/edit

+ + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 50
+def edit
+  @studien = Studium.accessible_by(current_ability, :show)
+
+  @modulgruppe = Modulgruppe.find(params[:id])
+  if !params[:studium_id].nil?
+    @studium=Studium.find(params[:studium_id])
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 10
+def index
+  @studien = Studium.accessible_by(current_ability, :show)
+
+  @modulgruppen = Modulgruppe.all
+  if !params[:studium_id].nil?
+    @studium=Studium.find(params[:studium_id])
+  else
+    @studium=Studium.first
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_studien() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 7
+def load_studien
+      @studien = Studium.accessible_by(current_ability, :show)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /modulgruppen/new

+ + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 34
+def new
+  @studien = Studium.accessible_by(current_ability, :show)
+
+  @modulgruppe = Modulgruppe.new
+  if !params[:studium_id].nil?
+    @modulgruppe.studium_id=(params[:studium_id])
+  else
+    @modulgruppe.studium_id=studium_id=Studium.first.id
+  end
+  respond_to do |format|
+    format.html # new.html.erb
+  end
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /modulgruppen/1

+ + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 22
+def show
+  @modulgruppe = Modulgruppe.find(params[:id])
+  @studien = Studium.accessible_by(current_ability, :show)
+
+  @studium = Studium.find(@modulgruppe.studium_id)
+  if !params[:studium_id].nil?
+    @studium=Studium.find(params[:studium_id])
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/modulgruppen_controller.rb, line 79
+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.' }
+      
+    else
+      format.html { render action: "edit" }
+      
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ModulgruppenHelper.html b/doc/app/ModulgruppenHelper.html new file mode 100644 index 0000000..31578d7 --- /dev/null +++ b/doc/app/ModulgruppenHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: ModulgruppenHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ModulgruppenHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ModulsController.html b/doc/app/ModulsController.html new file mode 100644 index 0000000..3464bd6 --- /dev/null +++ b/doc/app/ModulsController.html @@ -0,0 +1,1018 @@ + + + + + + + Class: ModulsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ModulsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /moduls POST /moduls.json

+ + + +
+
+# File app/controllers/moduls_controller.rb, line 145
+def create
+  @modul = Modul.new(params[:modul])
+  respond_to do |format|
+    if @modul.save
+      for i in @modul.lvas
+        i.add_semesters
+      end
+      format.html { redirect_to modulgruppe_path(@modul.modulgruppen.first), notice: 'Modul was successfully created.' }
+    else
+      format.html { render action: "new" }
+    end
+  end
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

PUT /moduls/1 PUT /moduls/1.json DELETE /moduls/1 DELETE /moduls/1.json

+ + + +
+
+# File app/controllers/moduls_controller.rb, line 164
+def destroy
+  @modul = Modul.find(params[:id])
+  modulgruppe=@modul.modulgruppen.first
+  for i in @modul.lvas
+    i.add_semesters
+  end
+  @modul.destroy
+  redirect_to modulgruppe_path(modulgruppe) 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 58
+def edit
+  @modul = Modul.find(params[:id])
+  if !params[:studium_id].nil?
+    @studium=Studium.find(params[:studium_id])
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit_bulk() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 65
+  def edit_bulk
+    unless params[:modulgruppen_id].nil?
+      @moduls=Modulgruppe.find(params[:modulgruppen_id]).moduls
+    else
+        unless params[:studium_id].nil?
+         @moduls=Studium.find(params[:studium_id]).modulgruppen.collect(&:moduls).flatten
+     else
+
+    @moduls=Modul.all
+end
+    end
+      
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit_lvas() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 79
+def edit_lvas
+  @lvas = @modul.lvas
+  @semester =  @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 13
+def index
+  @moduls = Modul.all
+  if @moduls
+    if !params[:studium_id].nil?
+      @studium=Studium.find_by_id(params[:studium_id])
+    end
+    respond_to do |format|
+      format.html # index.html.erb
+    end
+  end
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_studien() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 10
+def load_studien
+      @studien = Studium.accessible_by(current_ability, :show)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_tiss() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 121
+def load_tiss
+  @lvas = @modul.lvas
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /moduls/new GET /moduls/new.json

+ + + +
+
+# File app/controllers/moduls_controller.rb, line 41
+def new
+  @modul = Modul.new
+  modulgruppe=Modulgruppe.find_by_id(params[:modulgruppen_id])
+  if !modulgruppe.nil?
+    @modul.modulgruppen<<modulgruppe #
+  end
+  respond_to do |format|
+    format.html # new.html.erb
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new_bulk() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 52
+def new_bulk
+  @moduls= []
+  @modulgruppe=Modulgruppe.find(params[:modulgruppen_id])
+  10.times {@moduls << Modul.new(:modulgruppen=>[@modulgruppe])}
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /moduls/1 GET /moduls/1.json

+ + + +
+
+# File app/controllers/moduls_controller.rb, line 28
+def show
+  for i in @modul.modulgruppen
+    @tb <<{:text=> i.long_name, :path=>modulgruppe_path(i)} 
+  end
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @modul }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show_tiss() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 125
+def show_tiss
+  @lvas=[];
+  @semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).uniq
+  params["lvas"].to_a.each do |l|
+   unless l.last["lvanr"].empty?
+      l=l.last
+     lva=Lva.new
+      lva.lvanr=l["lvanr"]
+     lva.load_tissdata
+     lva.modul<<@modul
+     @lvas<<lva # 
+    end 
+  end
+  render 'edit_lvas'
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 84
+def update
+
+  respond_to do |format|
+    if @modul.update_attributes(params[:modul])
+      for i in @modul.lvas
+        i.add_semesters
+      end
+      format.html { redirect_to url_for(@modul), notice: 'Modul was successfully updated.' }
+    else
+      format.html { render action: "edit" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_bulk() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 98
+def update_bulk 
+  @moduls=Modul.update_multiple(params[:moduls])
+  if @moduls.map(&:valid?).all?
+    redirect_to @moduls.first.modulgruppen.first, :notice=>"Erfolgreich Module geändert"
+  else
+    render :edit_bulk
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_lvas() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/moduls_controller.rb, line 109
+def update_lvas
+  @semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
+  @newlvas=Lva.update_multiple_with_modul(params["lvas"],@modul)
+  @lvas=@newlvas
+
+  if @newlvas.map(&:valid?).all?
+    redirect_to modul_path(@modul)
+  else
+    render "edit_lvas"
+   end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ModulsHelper.html b/doc/app/ModulsHelper.html new file mode 100644 index 0000000..96b8517 --- /dev/null +++ b/doc/app/ModulsHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: ModulsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ModulsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Neuigkeit.html b/doc/app/Neuigkeit.html new file mode 100644 index 0000000..b8e615e --- /dev/null +++ b/doc/app/Neuigkeit.html @@ -0,0 +1,1221 @@ + + + + + + + Class: Neuigkeit + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Neuigkeit

+ +
+ +

Schema Information

+ +

Table name: neuigkeiten

+ +
id         :integer          not null, primary key
+title      :string(255)
+text       :text
+datum      :datetime
+rubrik_id  :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+author_id  :integer
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
FLAG_CONFIRM
+ +
+ + +
FLAG_ICONS
+ +
+ + +
LINKTYPES
+ +

scope :search, ->(query) {where(“text like ? or title like ?”, +“%#{query}%”, “%#{query}%”)}

+ + +
+
+ + + + +
+

Attributes

+ + +
+ + + + +
+ no_fallbacks[RW] +
+ +
+ + + +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + + +
+ published() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 93
+def self.published
+  where("datum <= ? AND datum IS NOT NULL", Time.now.to_date)
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ datum_nilsave() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 97
+def datum_nilsave
+      self.datum.nil? ? Time.now + 42.years : self.datum
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ globalize_fallbacks(locale) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 54
+def globalize_fallbacks(locale)
+  if self.no_fallbacks
+  [locale]
+  else
+    super
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ has_calentries?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 148
+def has_calentries?
+  !self.calentries.nil? && !self.calentries.empty?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ has_meeting?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 90
+def has_meeting?
+  !self.meeting.nil?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_annoncement?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 87
+def is_annoncement?
+  !self.meeting.nil?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_event?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 151
+def is_event?
+  self.has_calentries?
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ load_from_facebook(link) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 116
+def load_from_facebook(link)
+  event=FbGraph::Event.new(link).fetch(:access_token=>"CAABtfB8SO7kBADyHVHnWHqsxsU1bqqmeDdZCp7V1KF9G4o3oFHcZBq0IB8X3ird4muVIPuWKZB8jL1o9JCON60Lmnvk8rkZA2dyZAuU95dC0SWzOEnhtAEkyzZCN6hkKXdl87o38OloLBivc2kjJYmpUVKzdZAD5ywxKG7Hv5FWxXf6amWA782JSmcxgWsRDH4ZAZBXsUrhpnILNOVoKSBf1mGyfrFiPvA3QZD")
+  self.title=event.name
+  self.text=event.description
+  unless event.start_time.nil?
+    ce=Calentry.new(:start=>event.start_time, :ende=>event.end_time , :typ=>1)
+    ce.ende=ce.start if ce.ende.nil?
+    self.calentries<< ce
+    ce.save
+
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 113
+def name
+  self.title
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ picture_robust() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 71
+def picture_robust
+  unless self.picture.url.nil?
+    return self.picture
+  else
+    if self.has_meeting?
+     return self.meeting.meetingtyp.picture
+    else
+      unless self.title_pic.nil?
+      #  return self.attachments.where(flag_titlepic: true).first.datei
+        return self.title_pic.datei
+      else
+        return self.picture
+      end
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ public?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 100
+def public?
+  self.rubrik.public
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ publish() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 107
+def publish
+  self.datum = Time.now
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ published?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 103
+def published?
+ self.datum_nilsave<=Time.now
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ read_attribute(name,options={}) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 61
+def read_attribute(name,options={})
+  if translated?(name)
+    a=super(name,options)
+    a=self.translation_for(options[:locale] || I18n.locale).read_attribute(name) if self.no_fallbacks
+
+    a
+  else
+    super(name)
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ relevant_calentry() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 154
+def relevant_calentry
+  ce = self.calentries.min_by{|c| c.days_to_today * 1.3 * ((c.is_past?)? 2:1)} if self.is_event?
+  ce= self.meeting.calentry if self.has_meeting?
+  ce
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ reverse_publish() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 110
+def reverse_publish
+  self.datum = nil
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ text_first_words() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 128
+def text_first_words
+  md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
+  words=md[:text].split(" ") unless md.nil?
+  if words.nil? || words.empty?
+    "...."
+  else
+    words[0..100].join(" ")+ " ..." unless  words.nil?
+
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ text_infoscreen_words() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 138
+def text_infoscreen_words
+  md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
+  words=md[:text].split(" ") unless md.nil?
+  if words.nil? || words.empty?
+    "...."
+  else
+    words[0..1000].join(" ")+ " ..." unless  words.nil?
+
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update_cache() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/neuigkeit.rb, line 159
+def update_cache
+  if self.has_meeting? && !self.meeting.calentry.nil?
+    self.update_column(:cache_order, (self.meeting.calentry.start.to_date - Date.today).to_i.abs * 1.3)
+    self.update_column(:cache_relevant_date, self.meeting.calentry.start.to_date)
+    self.touch
+  else
+    if self.is_event?
+      c = self.calentries.min_by{|c| c.days_to_today * 1.3 * ((c.is_past?)? 2:1)}
+      self.update_column(:cache_order,  c.days_to_today * 1.3 * ((c.is_past?)? 2:1))
+      self.update_column(:cache_relevant_date, (c.is_past?) ? c.ende.to_date : c.start.to_date)
+      self.touch
+    else
+      unless self.datum.nil?
+        self.update_column(:cache_order, (((self.datum.to_date - Date.today).to_i)).abs)
+        self.update_column(:cache_relevant_date, self.datum.to_date)
+      else
+        self.update_column(:cache_order,0)
+      end
+    end
+  end
+  unless self.published?
+    self.update_column(:cache_order, self.cache_order-14)
+  end
+  if self.flag_important
+    self.update_column(:cache_order, self.cache_order-10)
+  end
+  self.update_column(:cache_is_published, self.published?)
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/NeuigkeitenController.html b/doc/app/NeuigkeitenController.html new file mode 100644 index 0000000..ce0e5f7 --- /dev/null +++ b/doc/app/NeuigkeitenController.html @@ -0,0 +1,1155 @@ + + + + + + + Class: NeuigkeitenController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

NeuigkeitenController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ add_calentry() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 43
+def add_calentry
+  @neuigkeit=Neuigkeit.find(params[:id])
+  if params[:calentry_id].nil?
+    ce = Calentry.new(:start=>Time.now, :ende=>1.hour.from_now, :typ=>1, :calendar=>@neuigkeit.rubrik.calendar)
+  else
+    ce = Calentry.find(params[:calentry_id])
+  end
+  @calentry=ce 
+  ce.object=@neuigkeit
+  @neuigkeit.calentry=ce
+  @neuigkeit.save
+  
+  render 'edit'
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 189
+def create
+  @neuigkeit = Neuigkeit.new(params[:neuigkeit])
+  @neuigkeit.author=current_user
+  
+  respond_to do |format|
+    if @neuigkeit.save
+      format.html { redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit was successfully created.' }
+    else
+      format.html { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + + + + +
+ + + +
+ default_url_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 10
+  def default_url_options
+    super
+#    super.merge({host: request.host_with_port})
+  end
+
+ +
+ + + + +
+ + + + + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /neuigkeiten/1 DELETE /neuigkeiten/1.json

+ + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 216
+def destroy
+  @neuigkeit = Neuigkeit.find(params[:id])
+  rubrik=@neuigkeit.rubrik
+  @neuigkeit.destroy
+  respond_to do |format|
+    format.html { redirect_to rubrik }
+    
+  end
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 138
+def edit
+  @neuigkeit = Neuigkeit.find(params[:id])
+  @neuigkeit.no_fallbacks=true
+ @rubrik=@neuigkeit.rubrik    
+ 
+  @calentries= @neuigkeit.calentries
+  @calentries<<  Calentry.new 
+
+end
+
+ +
+ + + + +
+ + + + + +
+ + + +
+ mail_preview() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 121
+def mail_preview
+ActionMailer::Base.default_url_options[:host] = request.host_with_port 
+
+  @neuigkeit = Neuigkeit.find(params[:id])
+  @user=current_user
+  @ability=Ability.new(@user)
+  @mail = NewsMailer.neuigkeit_mail("all@fet.at", params[:id])
+
+  authorize! :publish, @neuigkeit
+  render  layout: false
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ mail_to_fet() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 107
+def mail_to_fet
+
+ActionMailer::Base.default_url_options[:host] = request.host_with_port 
+
+  @neuigkeit = Neuigkeit.find(params[:id])
+  authorize! :publish, @neuigkeit
+  unless @neuigkeit.published?
+    redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit muss veröffentlicht sein um sie als Mail zu versenden.'
+  else      
+    NewsMailer.neuigkeit_mail("all@fet.at", params[:id]).deliver
+    redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit versendet'
+
+  end  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 35
+def new
+  @neuigkeit = Neuigkeit.new
+  @rubrik=Rubrik.find(params[:rubrik_id]) unless params[:rubrik_id].nil?
+  @neuigkeit.author=current_user
+  @neuigkeit.rubrik=@rubrik unless @rubrik.nil?
+  @calentries= [Calentry.new] 
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ newsletter_preview() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 132
+ def newsletter_preview
+   authorize! :publish, Neuigkeit
+   @neuigkeiten=Neuigkeit.accessible_by(current_ability).where("cache_order<2")
+   render template: "news_mailer/daily_newsletter", layout: false
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ publish() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 75
+  def publish 
+    @neuigkeit = Neuigkeit.find(params[:id])
+    @neuigkeit.publish
+    @neuigkeit.save
+
+    @questions = @neuigkeit.questions.accessible_by(current_ability,:show)
+  
+   if params[:verwalten] 
+      redirect_to verwalten_rubrik_path(@neuigkeit.rubrik)
+else
+    respond_to do |format|
+      format.html { redirect_to rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit)}
+      format.js { render partial: "show"}
+    end
+end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ publish_to_facebook() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 91
+ def publish_to_facebook
+   @neuigkeit = Neuigkeit.find(params[:id])
+   unless @neuigkeit.picture.url.nil?
+     picture_url=URI(root_url)
+     picture_url.path=@neuigkeit.picture.url(:locale=>nil, :theme=>nil)
+   end
+   unless @neuigkeit.published?
+     redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit muss veröffentlicht sein um sie auf Facebook zu posten.'
+   else
+     page=YAML.load_file("#{::Rails.root.to_s}/config/page.yml")
+    # page.feed!(:access_token=>page.access_token, :message=>@neuigkeit.text_first_words, :name=>@neuigkeit.title, :link=>rubrik_neuigkeit_url(@neuigkeit.rubrik, @neuigkeit)+".html", :picture=>@neuigkeit.picture.url)
+page.feed!(:access_token=>page.access_token, :message=>@neuigkeit.text_first_words, :name=>@neuigkeit.title, :link=>rubrik_neuigkeit_url(@neuigkeit.rubrik, @neuigkeit)+".html")# , :picture=>picture_url)
+    
+     redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit auf Facebook gepostet'
+   end
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 14
+def show
+  @neuigkeit = Neuigkeit.find(params[:id])
+  @rubrik = @neuigkeit.rubrik    
+  @questions = @neuigkeit.questions.accessible_by(current_ability,:show)
+  if can?(:shownonpublic, Rubrik)
+    @rubriken = Rubrik.all
+  else
+    @rubriken = Rubrik.where(:public=>true)
+  end   
+  
+  if  !params[:version].nil? && can?(:showversions, Neuigkeit)
+    @neuigkeit.assign_attributes(@neuigkeit.translation.versions.reverse[params[:version].to_i].reify.attributes.select{|k,v| @neuigkeit.translated_attribute_names.include? k.to_sym })
+  end 
+  @calentries1=@neuigkeit.calentries
+  respond_to do |format|
+    format.html 
+    format.js
+  end
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ unpublish() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 58
+  def unpublish
+    @neuigkeit = Neuigkeit.find(params[:id])
+    @neuigkeit.reverse_publish
+    @neuigkeit.save
+
+    @questions = @neuigkeit.questions.accessible_by(current_ability,:show)
+
+    if params[:verwalten] 
+      redirect_to verwalten_rubrik_path(@neuigkeit.rubrik)
+   else
+    respond_to do |format|
+      format.html { redirect_to rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit)}
+      format.js { render partial: "show"}
+    end
+end
+   
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/neuigkeiten_controller.rb, line 203
+def update
+  @neuigkeit = Neuigkeit.find(params[:id])
+  respond_to do |format|
+    if @neuigkeit.update_attributes(params[:neuigkeit])
+      format.html { redirect_to [@neuigkeit.rubrik,@neuigkeit], notice: 'Neuigkeit was successfully updated.' }
+    else
+      format.html { render action: "edit" }  
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/NewsMailer.html b/doc/app/NewsMailer.html new file mode 100644 index 0000000..8902679 --- /dev/null +++ b/doc/app/NewsMailer.html @@ -0,0 +1,539 @@ + + + + + + + Class: NewsMailer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

NewsMailer

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ daily_newsletter(user_id) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/mailers/news_mailer.rb, line 17
+def daily_newsletter(user_id)
+  user=User.find(user_id)
+  self.message.perform_deliveries = false unless user.flag_getemails
+  ability= Ability.new(user)
+  
+  @neuigkeiten=Neuigkeit.accessible_by(ability).published_scope.where("cache_order<2")
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ daily_reminder(user_id) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/mailers/news_mailer.rb, line 25
+  def daily_reminder(user_id)
+    user=User.find(user_id)
+    @user=user
+    self.message.perform_deliveries = false unless user.flag_getemails
+    @ability = Ability.new(user)
+    @calentries = Calentry.of_month(Date.today).limit(100)
+#    @neuigkeiten=Neuigkeit.accessiblße_by(ability).published_scope.where("cache_order<2")
+    mail(to: user.email,      content_type: "text/html", subject: "sdf")
+    render locals: {c_user: user}
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ neuigkeit_mail(email, neuigkeit_id) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/mailers/news_mailer.rb, line 6
+def neuigkeit_mail(email, neuigkeit_id)
+  @neuigkeit= Neuigkeit.find(neuigkeit_id)
+  @user=User.first
+  @ability=Ability.new(@user)
+  subject =  @neuigkeit.title
+  subject = subject.to_s + " email: " + email.to_s if Rails.env=="development"
+  email = "andis@fet.at" if Rails.env=="development"
+  email="andis@fet.at"
+  mail(to: email, subject: subject)
+  render locals: {current_user: User.first}
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Nlink.html b/doc/app/Nlink.html new file mode 100644 index 0000000..1b44f49 --- /dev/null +++ b/doc/app/Nlink.html @@ -0,0 +1,389 @@ + + + + + + + Class: Nlink + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Nlink

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/PagesHelper.html b/doc/app/PagesHelper.html new file mode 100644 index 0000000..b0e2851 --- /dev/null +++ b/doc/app/PagesHelper.html @@ -0,0 +1,434 @@ + + + + + + + Module: PagesHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

PagesHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + + + + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/PictureUploader.html b/doc/app/PictureUploader.html new file mode 100644 index 0000000..c2a33c0 --- /dev/null +++ b/doc/app/PictureUploader.html @@ -0,0 +1,487 @@ + + + + + + + Class: PictureUploader + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

PictureUploader

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ extension_white_list() + click to toggle source +
+ + +
+ +

Add a white list of extensions which are allowed to be uploaded. For images +you might use something like this:

+ + + +
+
+# File app/uploaders/picture_uploader.rb, line 46
+def extension_white_list
+  %(jpg jpeg gif png)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ store_dir() + click to toggle source +
+ + +
+ +

Override the directory where uploaded files will be stored. This is a +sensible default for uploaders that are meant to be mounted:

+ + + +
+
+# File app/uploaders/picture_uploader.rb, line 14
+def store_dir
+  "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/PluginsHelper.html b/doc/app/PluginsHelper.html new file mode 100644 index 0000000..00bb4d0 --- /dev/null +++ b/doc/app/PluginsHelper.html @@ -0,0 +1,470 @@ + + + + + + + Module: PluginsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

PluginsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ div_tag_for(o,&block) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/plugins_helper.rb, line 9
+def div_tag_for(o,&block)
+  content = capture(&block)
+  content_tag(:div, content, :id=>divid_for(o))
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ divid_for(obj,suffix="") + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/plugins_helper.rb, line 2
+def divid_for(obj,suffix="")
+  if obj.nil?
+    ""
+  else
+    obj.class.to_s.downcase.gsub("::","_")+ "_" + suffix.downcase + "_" + obj.id.to_s
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Role.html b/doc/app/Role.html new file mode 100644 index 0000000..4e49655 --- /dev/null +++ b/doc/app/Role.html @@ -0,0 +1,400 @@ + + + + + + + Class: Role + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Role

+ +
+ +

Schema Information

+ +

Table name: roles

+ +
id            :integer          not null, primary key
+name          :string(255)
+resource_id   :integer
+resource_type :string(255)
+created_at    :datetime         not null
+updated_at    :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Rubrik.html b/doc/app/Rubrik.html new file mode 100644 index 0000000..cd9dee1 --- /dev/null +++ b/doc/app/Rubrik.html @@ -0,0 +1,529 @@ + + + + + + + Class: Rubrik + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Rubrik

+ +
+ +

Schema Information

+ +

Table name: rubriken

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+prio       :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ icon_name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/rubrik.rb, line 23
+def icon_name
+  (ActionController::Base.helpers.content_tag("i","", class: self.icon)) + self.name
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ moderator() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/rubrik.rb, line 26
+def moderator
+  u=User.with_role(:newsmoderator).first
+  if !u.nil? 
+    u.id
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ sanitize() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/rubrik.rb, line 32
+  def sanitize
+    if self.calendar.nil?
+      self.calendar=Calendar.new
+   
+      
+end
+   self.calendar.name=self.name
+self.calendar.public=self.public
+self.calendar.save
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/RubrikenController.html b/doc/app/RubrikenController.html new file mode 100644 index 0000000..e557050 --- /dev/null +++ b/doc/app/RubrikenController.html @@ -0,0 +1,909 @@ + + + + + + + Class: RubrikenController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

RubrikenController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ addmoderator() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 70
+def addmoderator
+  @rubrik = Rubrik.find(params[:id])
+  if can? :addmoderator, @rubrik
+    if params[:moderator].nil?
+      current_user.add_role(:newsmoderator,@rubrik)
+    else
+      User.find(params[:moderator]).add_role(:newsmoderator, @rubrik)
+    end
+    
+    response_notice= I18n.t("rubrik/moderatoradded")
+  else
+    response_notice= I18n.t("rubrik/moderatoraddnorights")
+  end
+  respond_to do |format|
+    format.html { redirect_to @rubrik,:notice => response_notice }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ alle_verwalten() + click to toggle source +
+ + +
+ +

Alle Rubriken verwalten und Sachen einstellen..

+ + + +
+
+# File app/controllers/rubriken_controller.rb, line 122
+def alle_verwalten
+  @rubriken =Rubrik.all
+  @neuigkeiten_unpublished = Neuigkeit.unpublished
+  @neuigkeiten_public_published = Neuigkeit.published.public
+
+  @toolbar_elements << {:text=>I18n.t('common.new'),:path=>new_rubrik_path() ,:icon=>:plus} if can? :new, Rubrik
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 58
+def create
+  @rubrik = Rubrik.new(params[:rubrik])
+
+  respond_to do |format|
+    if @rubrik.save
+      format.html { redirect_to @rubrik, notice: 'Rubrik was successfully created.' }      
+    else
+      format.html { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /rubriken/1 DELETE /rubriken/1.json

+ + + +
+
+# File app/controllers/rubriken_controller.rb, line 133
+def destroy
+  @rubrik = Rubrik.find(params[:id])
+  @rubrik.destroy
+  redirect_to rubriken_url
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 54
+def edit
+  @rubrik = Rubrik.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 4
+def index
+#  if can?(:showintern, Rubrik)
+#    @rubriken = Rubrik.all
+#    @neuigkeiten = Neuigkeit.page(params[:page]).per(3)
+#  else
+#    @rubriken = Rubrik.where(:public=>true)
+#    @neuigkeiten = Neuigkeit.public.published.page(params[:page]).per(3)
+#  end   
+  
+  params[:month]= Date.today.month if params[:month].nil?
+  params[:year]= Date.today.year if params[:year].nil?
+      
+  @rubriken= Rubrik.accessible_by(current_ability, :show)
+  @neuigkeiten = Neuigkeit.accessible_by(current_ability, :list).page(params[:page]).per(3)
+  
+  @calentries= (@rubriken.map {|r| r.calendar.calentries.of_month(Date.new(params[:year].to_i,params[:month].to_i,1))}).flatten.select {|c| c.object !=nil}
+  respond_to do |format|
+    format.html
+    format.js {render action: :show}
+  end
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ intern() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 26
+def intern
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 50
+def new
+  @rubrik = Rubrik.new
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ removemoderator() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 88
+def removemoderator
+  rubrik = Rubrik.find(params[:id])
+  m = User.find(params[:moderator])
+  if m.has_role?(:newsmoderator,rubrik) 
+    m.remove_role(:newsmoderator,rubrik)
+  end
+  redirect_to verwalten_rubrik_path(rubrik)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 29
+def show
+  @rubriken= Rubrik.accessible_by(current_ability, :show)
+  @rubrik = Rubrik.find(params[:id])
+  @moderatoren=User.with_role(:newsmoderator,@rubrik)
+
+  params[:month]= Date.today.month if params[:month].nil?
+  params[:year]= Date.today.year if params[:year].nil?
+      
+  @calentries= @rubrik.calendar.calentries.select {|c| c.object !=nil}
+  @neuigkeiten = @rubrik.neuigkeiten.accessible_by(current_ability, :list).page(params[:page]).per(3)
+
+  @toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'), :path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik
+  @toolbar_elements << {:text=>I18n.t('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik
+    
+  respond_to do |format|
+    format.html
+    format.js
+  end
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 97
+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
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/rubriken_controller.rb, line 111
+  def verwalten
+    @rubrik = Rubrik.find(params[:id])
+    @neuigkeiten_unpublished = @rubrik.neuigkeiten.unpublished
+    @neuigkeiten_published=@rubrik.neuigkeiten.published
+    @moderatoren=User.with_role(:newsmoderator,@rubrik)
+@toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'),:path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik
+
+
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/RubrikenHelper.html b/doc/app/RubrikenHelper.html new file mode 100644 index 0000000..790c58f --- /dev/null +++ b/doc/app/RubrikenHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: RubrikenHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

RubrikenHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Semester.html b/doc/app/Semester.html new file mode 100644 index 0000000..034c6cb --- /dev/null +++ b/doc/app/Semester.html @@ -0,0 +1,493 @@ + + + + + + + Class: Semester + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Semester

+ +
+ +

Schema Information

+ +

Table name: semesters

+ +
id         :integer          not null, primary key
+name       :string(255)
+nummer     :integer
+studium_id :integer
+ssws       :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ name() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/semester.rb, line 21
+def name
+  if self.nummer == 0
+    return I18n.t("ohnezuordnung") + " (" + self.studium.name + ")"
+  else
+    return self.nummer.to_s + "."+I18n.t("semester.semester")+", " + self.studium.name
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ name_kurz() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/semester.rb, line 28
+def name_kurz
+  if self.nummer == 0
+    return I18n.t("ohnezuordnung") + " (" + self.studium.abkuerzung + ")"
+  else
+    return self.nummer.to_s + ". " + self.studium.abkuerzung
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/SemestersController.html b/doc/app/SemestersController.html new file mode 100644 index 0000000..dc28556 --- /dev/null +++ b/doc/app/SemestersController.html @@ -0,0 +1,670 @@ + + + + + + + Class: SemestersController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

SemestersController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/semesters_controller.rb, line 22
+def create
+  @semester = Semester.new(params[:semester])
+  
+
+  respond_to do |format|
+    if @semester.save
+      format.html { redirect_to @semester, notice: 'Semester was successfully created.' }
+    else
+      format.html { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/semesters_controller.rb, line 47
+def destroy
+  @semester = Semester.find(params[:id])
+  @semester.destroy
+  redirect_to semester_url
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/semesters_controller.rb, line 17
+def edit
+  @semester = Semester.find(params[:id])
+  @studium = @semester.studium
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/semesters_controller.rb, line 3
+def index
+  @semesters = Semester.all
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/semesters_controller.rb, line 13
+def new
+  @semester = Semester.new
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/semesters_controller.rb, line 8
+def show
+  @semester = Semester.find(params[:id])
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/semesters_controller.rb, line 35
+def update
+  @semester = Semester.find(params[:id])
+  @studium= @semester.studium
+  respond_to do |format|
+    if @semester.update_attributes(params[:semester])
+      format.html { redirect_to @semester, notice: 'Semester was successfully updated.' } 
+    else
+      format.html { render action: "edit" }     
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/SemestersHelper.html b/doc/app/SemestersHelper.html new file mode 100644 index 0000000..fa97df4 --- /dev/null +++ b/doc/app/SemestersHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: SemestersHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

SemestersHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/StudienController.html b/doc/app/StudienController.html new file mode 100644 index 0000000..69944bc --- /dev/null +++ b/doc/app/StudienController.html @@ -0,0 +1,979 @@ + + + + + + + Class: StudienController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

StudienController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 73
+def create
+  @studium = Studium.new(params[:studium])
+  
+  respond_to do |format|
+    if @studium.save
+      @studium.batch_add_semester
+      format.html { redirect_to url_for(@studium), notice: 'Studium was successfully created.' }
+    else
+      format.html { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ default_url_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 261
+def default_url_options
+ 
+  super.merge({:ansicht=> params[:ansicht],
+    :std_verw=> params[:std_verw],
+    :mg_verw=> params[:mg_verw],
+    :m_verw=>params[:m_verw],
+    :lva_verw=>params[:lva_verw],
+    :b_verw=>params[:b_verw],
+    :lec_verw=>params[:lec_verw]})
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 104
+def destroy
+  @studium = Studium.find(params[:id])
+  @studium.destroy
+  redirect_to studien_url
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 56
+def edit
+  @studien = Studium.accessible_by(current_ability, :show)
+  @studium = Studium.find(params[:id])
+  @toolbar_elements=[{:text => I18n.t('studien.anzeigen') , :path => url_for(@studium) }]
+  @toolbar_elements<<{:text =>I18n.t('studien.allestudien'),:path=>studien_path(@studium)}
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit_lvas() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 63
+def edit_lvas
+  @studien = Studium.accessible_by(current_ability, :show)
+  @studium = Studium.find(params[:id])
+  @lvas=@studium.lvas.uniq
+  @semester=@studium.semester 
+  @toolbar_elements=[{:text => I18n.t('studien.anzeigen') , :path => url_for(@studium) }]
+  @toolbar_elements<<{:text =>I18n.t('studien.allestudien'),:path=>studien_path(@studium)}
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 5
+def index
+  @studien = Studium.accessible_by(current_ability, :show)
+  @topbar_elements=[{:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"),:path=>studien_path}]
+  @topbar_elements<<{:hicon=>'icon-list', :text=>I18n.t("modul.list"),:path=>moduls_path}
+  @topbar_elements<<{:hicon=>'icon-list', :text=>I18n.t("lva.list"),:path=>lvas_path}
+  @toolbar_elements<<{:icon =>:plus, :hicon=>'icon-plus-sign', :text=> I18n.t('studien.new') ,:path=>new_studium_path } if can? :new, Studium
+  # @toolbar_elements<<{:text=> I18n.t('modulgruppe.show.link') ,:path=>modulgruppen_path }
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 51
+def new
+  @studien = Studium.accessible_by(current_ability, :show)
+  @studium = Studium.new
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 14
+  def show
+    @studium= Studium.find(params[:id])
+    @studien = Studium.accessible_by(current_ability, :show)
+    @studienphasen=[]
+    [1, 2 ,3].each do |ph| 
+      modulgruppen_phase=@studium.modulgruppen.where(:phase=>ph)
+      if modulgruppen_phase.count==1 
+        opts={:width=>12, :slice=>1}
+      elsif modulgruppen_phase.count <= 4 
+        opts={:width=>6, :slice=>2}
+      else 
+        opts={:width=>4, :slice=>3}
+      end  
+      modulgruppen =[]
+      modulgruppen_phase.each_slice(opts[:slice]) do |s| 
+        modulgruppen<<s #
+
+      end
+      @studienphasen << {:modulgruppen=>modulgruppen, :phase => ph}.merge(opts)
+    end
+    @toolbar_elements=[]
+    
+    @toolbar_elements<<{:icon=>:pencil, :hicon=>'icon-pencil',:text =>I18n.t('common.edit'),:path => edit_studium_path(@studium)} if can? :edit, Studium
+@toolbar_elements<<{:icon=>:pencil, :hicon=>'icon-pencil',:text =>I18n.t('lva.editlvas'),:path => edit_lvas_studium_path(@studium)} if can? :edit_lvas, Studium
+@toolbar_elements<<{:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => studium_path(@studium), :method=> :delete,:confirm=>'Sure?' } if can? :delete, Studium
+ @toolbar_modulgruppen =[]
+    @toolbar_modulgruppen << {:hicon=>'icon-plus-sign', :text=> I18n.t('modulgruppe.new'), :path=>new_studium_modulgruppe_path(@studium)} if can? :new, Modulgruppe
+    #@toolbar_modulgruppen << {:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path} if can? :index, Modulgruppe
+    case params[:ansicht]
+    when 'semesteransicht'
+    when 'infoansicht'
+    when 'qualifikationsprofil'
+    else
+      params[:ansicht]="modulgruppenansicht"
+    end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 87
+def update
+  @studium = Studium.find(params[:id])
+  @studien = Studium.accessible_by(current_ability, :show)
+  logger.info "params: #{params[:studium].inspect}"
+  if @studium.update_attributes(params[:studium]) 
+    if @studium.lvas.map(&:valid?).all?
+      redirect_to url_for(@studium), notice: 'Studium was successfully updated.' 
+    else
+      render action: "edit" 
+    end
+  else
+    render action: "edit" 
+    
+  end
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/studien_controller.rb, line 110
+def verwalten
+  @new_params={:std_verw=>params[:std_verw], :mg_verw=>params[:mg_verw], :m_verw=>params[:m_verw], :lva_verw=>params[:lva_verw], :b_verw=>params[:b_verw], :lec_verw=>params[:lec_verw]}
+  if @new_params.values.compact.empty?
+
+
+    @modulgruppen=Modulgruppe.all
+    @module=Modul.all
+    @lvas=Lva.all
+    @beispiele=Beispiel.all
+    @lecturers=Lecturer.all
+  else
+
+    if !@new_params[:std_verw].nil?
+      @studien = [Studium.find(@new_params[:std_verw])]
+    else
+      @studien = Studium.all
+    end
+    if !@new_params[:mg_verw].nil?
+      @modulgruppen = [Modulgruppe.find(@new_params[:mg_verw])]
+      temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
+      @studien=@studien.select{|k| temp.include?(k)}
+
+    else
+      @modulgruppen = Modulgruppe.all
+      temp = @studien.map{|x| x.modulgruppen}.flatten.uniq # Studien forcen Modulgruppen
+      @modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
+    end
+    if !@new_params[:m_verw].nil?
+      @module = [Modul.find(@new_params[:m_verw])]
+      temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
+      @modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
+      temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
+      @studien=@studien.select{|k| temp.include?(k)}
+      
+    else
+      @module = Modul.all
+      temp = @modulgruppen.map{|x| x.moduls}.flatten.uniq
+      @module=@module.select{|k| temp.include?(k)}
+    end
+    if !@new_params[:lva_verw].nil?
+      @lvas = [Lva.find(@new_params[:lva_verw])]
+      temp = @lvas.map{|x| x.modul}.flatten.uniq
+      @module=@module.select{|k| temp.include?(k)}
+      temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
+      @modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
+      temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
+      @studien=@studien.select{|k| temp.include?(k)}
+    else
+      @lvas = Lva.all
+      temp = @module.map{|x| x.lvas}.flatten.uniq #Force Module
+      @lvas=@lvas.select{|k| temp.include?(k)}
+    end
+    if !@new_params[:b_verw].nil?
+      @beispiele = [Beispiel.find(@new_params[:b_verw])]
+      temp = @lvas.map{|x| x.beispiele}.flatten.uniq #Force Force Lvas
+      @lvas=@lvas.select{|k| temp.include?(k)}
+      temp = @lva.map{|x| x.moduls}.flatten.uniq #Force Module
+      @module=@module.select{|k| temp.include?(k)}
+      temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
+      @modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
+      temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
+      @studien=@studien.select{|k| temp.include?(k)}
+      
+      
+    else
+      @beispiele = Beispiel.all
+      temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel
+      @beispiele=@beispiele.select{|k| temp.include?(k)}
+    end
+    if !@new_params[:lec_verw].nil?
+        @lecturers=[Lecturer.find(@new_params[:lec_verw])]
+      temp = @lecturers.map{|x| x.lvas}.flatten.uniq #Force Force Lvas
+      @lvas=@lvas.select{|k| temp.include?(k)}
+      temp = @lvas.map{|x| x.modul}.flatten.uniq #Force Force Lvas
+      @module=@module.select{|k| temp.include?(k)}
+              temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
+      @modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
+       temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
+      @studien=@studien.select{|k| temp.include?(k)}
+      temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel
+      @beispiele=@beispiele.select{|k| temp.include?(k)}
+      else
+      @lecturers = @lvas.map{|k| k.lecturers}.flatten.uniq
+      end
+  end
+
+  @messages = []
+  for s in @studien
+
+    if s.valid?
+      @messages << s.name + ' hat keine Modulgruppe' if s.modulgruppen.count == 0
+      
+    else
+      @messages << '<font color="red"><b>'+s.name + ': '
+      @messages << s.errors.full_messages
+      @messages << '</font></b>'
+    end
+  end
+  for mg in @modulgruppen
+    
+    if mg.valid?
+      @messages << mg.name +  ' hat kein Modul' if mg.moduls.count == 0
+    else
+      @messages << '<font color="red"><b>'+mg.name + ': '
+      @messages << mg.errors.full_messages
+      @messages << '</font></b>'
+    end
+  end
+  for m in @module
+    
+    if m.valid?
+      @messages << m.name.to_s + ' hat keine Modulgruppe' if m.modulgruppen.count == 0
+      @messages << m.name.to_s + ' hat keine Lvas' if m.lvas.count == 0
+    else
+      @messages << '<font color="red"><b>'+m.name.to_s + ': '
+      @messages << m.errors.full_messages
+      @messages << '</font></b>'
+    end
+  end
+  for lva in @lvas
+    
+    if lva.valid?
+      @messages << lva.name + ' hat keine Module' if lva.modul.count == 0
+      for s in @studien
+        stu_sem = s.semester.map{|l| l.lvas}.flatten.uniq.index(lva)
+        stu_mod = s.modulgruppen.map{|m| m.moduls}.flatten.map{|l| l.lvas}.flatten.uniq.index(lva)
+        if (stu_sem.nil? && !stu_mod.nil?) 
+          @messages << lva.name + ' erscheint nicht in der Semesteransicht von ' +s.name + ' aber in der Modulgruppenansicht'
+        end
+        if (!stu_sem.nil? && stu_mod.nil?)
+          @messages << lva.name + ' erscheint in der Semesteransicht von ' +s.name + ' aber nicht in der Modulgruppenansicht'
+        end
+      end
+    else
+      @messages << '<font color="red"><b>'+lva.name + ': '
+      @messages << lva.errors.full_messages
+      @messages << '</font></b>'
+    end
+  end
+  for b in @beispiele
+    if b.valid?
+      @messages << b.name + ' hat keine Lva' if b.lva.nil?
+    else
+      @messages << '<font color="red"><b>'+b.name + ': '
+      @messages << b.errors.full_messages
+      @messages << '</font></b>'
+    end
+  end
+  render 'studien/verwalten'
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/StudienHelper.html b/doc/app/StudienHelper.html new file mode 100644 index 0000000..36bedc3 --- /dev/null +++ b/doc/app/StudienHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: StudienHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

StudienHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Studium.html b/doc/app/Studium.html new file mode 100644 index 0000000..4d5c605 --- /dev/null +++ b/doc/app/Studium.html @@ -0,0 +1,580 @@ + + + + + + + Class: Studium + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Studium

+ +
+ +

Schema Information

+ +

Table name: studien

+ +
id         :integer          not null, primary key
+zahl       :string(255)
+name       :string(255)
+shortdesc  :text
+desc       :text
+typ        :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ batch_add_semester() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/studium.rb, line 55
+def batch_add_semester
+  # Semester automatisch zu Studien hinzufügen
+  if self.typ == "Bachelor"
+    length = 6
+  else
+    length = 4
+  end
+  for i in 1..length
+    semester =Semester.new()
+    #semester.name = i.to_s + '. ' + self.name
+    semester.nummer = i
+    semester.ssws = ((i % 2 == 0) ? "SS" : "WS")
+    semester.save
+    self.semester << semester
+  end
+  semester = Semester.new()
+  #semester.name = 'Ohne Zuordnung (' + self.name + ')'
+  semester.nummer = 0
+  semester.ssws = "WS"
+  semester.save
+  self.semester << semester
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ desc_first_words() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/studium.rb, line 78
+ def desc_first_words
+  md = /<p>(?<text>[\w\s,\.!\?]*)/.match self.desc
+   unless md.nil?
+     md[:text].split(" ")[0..100].join(" ")+ " ..." 
+   else
+     ""
+   end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ title() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/studium.rb, line 52
+def title
+  self.name
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ title_context() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/studium.rb, line 47
+def title_context
+  return self.abkuerzung.to_s.strip.empty? ? self.name : self.abkuerzung
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/StudmodsHelper.html b/doc/app/StudmodsHelper.html new file mode 100644 index 0000000..0284d25 --- /dev/null +++ b/doc/app/StudmodsHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: StudmodsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

StudmodsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey.html b/doc/app/Survey.html new file mode 100644 index 0000000..51931d8 --- /dev/null +++ b/doc/app/Survey.html @@ -0,0 +1,454 @@ + + + + + + + Module: Survey + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ table_name_prefix() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey.rb, line 2
+def self.table_name_prefix
+  'survey_'
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/Answer.html b/doc/app/Survey/Answer.html new file mode 100644 index 0000000..5fc33e3 --- /dev/null +++ b/doc/app/Survey/Answer.html @@ -0,0 +1,389 @@ + + + + + + + Class: Survey::Answer + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::Answer

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/AnswersHelper.html b/doc/app/Survey/AnswersHelper.html new file mode 100644 index 0000000..15cad1d --- /dev/null +++ b/doc/app/Survey/AnswersHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: Survey::AnswersHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::AnswersHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/Choice.html b/doc/app/Survey/Choice.html new file mode 100644 index 0000000..dd53cad --- /dev/null +++ b/doc/app/Survey/Choice.html @@ -0,0 +1,557 @@ + + + + + + + Class: Survey::Choice + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::Choice

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ attributes_for_copy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/choice.rb, line 13
+def attributes_for_copy
+  self.attributes.select{|k,v| ["text","sort", "picture", "icon"].include?(k)}
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ copy_from_template() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/choice.rb, line 16
+def copy_from_template
+  cpy = Survey::Choice.new(self.attributes_for_copy)
+  cpy.save
+  cpy
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/choice.rb, line 10
+def html
+  content_tag("i","", class: self.icon ) + self.text
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_s() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/choice.rb, line 7
+def to_s
+  self.text
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/ChoicesController.html b/doc/app/Survey/ChoicesController.html new file mode 100644 index 0000000..52c7fa0 --- /dev/null +++ b/doc/app/Survey/ChoicesController.html @@ -0,0 +1,718 @@ + + + + + + + Class: Survey::ChoicesController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::ChoicesController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/survey/choices_controller.rb, line 53
+def create
+  @survey_choice = Survey::Choice.new(params[:survey_choice])
+  @divid = divid_for(@survey_choice) 
+  
+  respond_to do |format|
+    if @survey_choice.save
+      format.html { redirect_to @survey_choice, notice: 'Choice was successfully created.' }
+      format.json { render json: @survey_choice, status: :created, location: @survey_choice }
+      format.js 
+    else
+      format.html { render action: "new" }
+      format.json { render json: @survey_choice.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /survey/choices/1 DELETE /survey/choices/1.json

+ + + +
+
+# File app/controllers/survey/choices_controller.rb, line 87
+  def destroy
+ @survey_choice = Survey::Choice.find(params[:id])
+      
+ if @survey_choice.answers.count>0
+      redirect_to action: :show
+else
+    @divid = divid_for(@survey_choice) 
+    @survey_choice.destroy
+
+    respond_to do |format|
+      format.html { redirect_to survey_choices_url }
+      format.json { head :no_content }
+      format.js
+end    
+end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /survey/choices/1/edit

+ + + +
+
+# File app/controllers/survey/choices_controller.rb, line 42
+def edit
+  @choice = Survey::Choice.find(params[:id])
+  respond_to do |format|
+    format.html
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/survey/choices_controller.rb, line 6
+def index
+  @survey_choices = Survey::Choice.all
+
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @survey_choices }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /survey/choices/new GET /survey/choices/new.json

+ + + +
+
+# File app/controllers/survey/choices_controller.rb, line 29
+def new
+  @question= Survey::Question.find(params[:question_id])
+
+  @choice=Survey::Choice.new
+  @choice.question=@question
+  respond_to do |format|
+    format.js
+    format.html # new.html.erb
+    format.json { render json: @survey_choice }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /survey/choices/1 GET /survey/choices/1.json

+ + + +
+
+# File app/controllers/survey/choices_controller.rb, line 17
+def show
+  @survey_choice = Survey::Choice.find(params[:id])
+
+  respond_to do |format|
+    format.html {redirect_to @survey_choice.question}
+    format.json { render json: @survey_choice }
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /survey/choices/1 PUT /survey/choices/1.json

+ + + +
+
+# File app/controllers/survey/choices_controller.rb, line 71
+  def update
+    @survey_choice = Survey::Choice.find(params[:id])
+
+    respond_to do |format|
+      if @survey_choice.update_attributes(params[:survey_choice])
+        format.html { redirect_to @survey_choice, notice: 'Choice was successfully updated.' }
+        format.json { head :no_content }
+      else
+        format.html { render action: "edit" }
+        format.json { render json: @survey_choice.errors, status: :unprocessable_entity }
+5      end
+    end
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/ChoicesHelper.html b/doc/app/Survey/ChoicesHelper.html new file mode 100644 index 0000000..5fcc454 --- /dev/null +++ b/doc/app/Survey/ChoicesHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: Survey::ChoicesHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::ChoicesHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/Question.html b/doc/app/Survey/Question.html new file mode 100644 index 0000000..3b1dacc --- /dev/null +++ b/doc/app/Survey/Question.html @@ -0,0 +1,605 @@ + + + + + + + Class: Survey::Question + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::Question

+ +
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
FLAG_CONFIRM
+ +
+ + +
FLAG_ICONS
+ +
+ + +
+
+ + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ add_yesno_choices() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/question.rb, line 30
+def add_yesno_choices
+  c=Survey::Choice.new(title: "Ja")
+  c.save
+  this.choices << c
+  c=Survey::Choice.new(title: "Nein")
+  c.save
+  this.choices << c
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ attributes_for_copy() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/question.rb, line 26
+def attributes_for_copy
+  self.attributes.select{|k,v| ["title","text","typ"].include?(k)}
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ copy_from_template_for(parent) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/question.rb, line 12
+def copy_from_template_for(parent)
+  unless self.flag_template
+    return nil
+  else
+    cpy = Survey::Question.new(self.attributes_for_copy)
+    cpy.parent=parent
+    cpy.save
+    self.choices.each do |c|
+      cpy.choices << c.copy_from_template
+    end
+    cpy
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ do_answer(choice_ids, user) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/survey/question.rb, line 39
+def do_answer(choice_ids, user)
+  unless (user.nil? || choice_ids.nil? || choice_ids.empty?)
+    cid=choice_ids.map{|c|c.to_i}
+    if (Survey::Answer.where(user_id: user.id, choice_id: cid).count > 0 )
+      found_ids=Survey::Answer.where(user_id: user.id, choice_id: cid).includes(:choice).pluck(:choice_id)
+      cid= cid - found_ids
+      Survey::Answer.where(user_id: user.id, choice_id: found_ids).delete_all
+    else
+      if self.typ == 0 
+      Survey::Answer.where(user_id: user.id, choice_id: self.choice_ids).delete_all
+      end
+    end
+    cid.each do |c|
+      if self.choice_ids.include?(c)
+        a=Survey::Answer.new(user_id: user.id, choice_id: c.to_i)
+        a.save
+      end
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/QuestionsController.html b/doc/app/Survey/QuestionsController.html new file mode 100644 index 0000000..0bea667 --- /dev/null +++ b/doc/app/Survey/QuestionsController.html @@ -0,0 +1,771 @@ + + + + + + + Class: Survey::QuestionsController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::QuestionsController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ answer() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/survey/questions_controller.rb, line 13
+def answer
+  @survey_question = Survey::Question.find(params[:id])    
+  if (params[:key].nil? || params[:key].empty?) 
+    user = current_user
+  else
+    k=Key.find_by_uuid(params[:key]  )
+    if k.is_valid && k.typ==3 && k.parent == @survey_question
+      user = k.user
+    end
+  end
+  
+  @survey_question.do_answer(params[:survey_question][:selected],user)
+  respond_to do |format|
+    format.html { redirect_to action: :show}
+    format.js { render action: :show}
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /survey/questions POST /survey/questions.json

+ + + +
+
+# File app/controllers/survey/questions_controller.rb, line 66
+def create
+  @survey_question = Survey::Question.new(params[:survey_question])
+  @survey_question.user=current_user
+  respond_to do |format|
+    if @survey_question.save
+      format.html { redirect_to @survey_question, notice: 'Question was successfully created.' }
+    else
+      format.html { render action: "new" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create_from_template() + click to toggle source +
+ + +
+ +

GET /survey/questions/1 GET /survey/questions/1.json

+ + + +
+
+# File app/controllers/survey/questions_controller.rb, line 32
+def create_from_template
+  @template = Survey::Question.find(params[:id])
+  parent= params[:parent_type].constantize.find(params[:parent_id])
+  @survey_question = @template.copy_from_template_for(parent)
+  @survey_question.user=current_user
+  render action: :show
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /survey/questions/1 DELETE /survey/questions/1.json

+ + + +
+
+# File app/controllers/survey/questions_controller.rb, line 95
+def destroy
+  @survey_question = Survey::Question.find(params[:id])
+  @survey_question.destroy
+
+  respond_to do |format|
+    format.html { redirect_to survey_questions_url }
+
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /survey/questions/1/edit

+ + + +
+
+# File app/controllers/survey/questions_controller.rb, line 60
+def edit
+  @survey_question = Survey::Question.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/survey/questions_controller.rb, line 6
+def index
+  @survey_questions = Survey::Question.all
+  respond_to do |format|
+    format.html # index.html.erb
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /survey/questions/new GET /survey/questions/new.json

+ + + +
+
+# File app/controllers/survey/questions_controller.rb, line 50
+def new
+  @survey_question = Survey::Question.new
+  @parent=params[:parent_type].constantize.find(params[:parent_id])
+  @survey_question.parent=@parent
+  respond_to do |format|
+    format.html # new.html.erb
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/survey/questions_controller.rb, line 40
+def show
+  @survey_question = Survey::Question.find(params[:id])
+
+  respond_to do |format|
+    format.html # show.html.erb
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /survey/questions/1 PUT /survey/questions/1.json

+ + + +
+
+# File app/controllers/survey/questions_controller.rb, line 80
+def update
+  @survey_question = Survey::Question.find(params[:id])
+  @survey_question.user=current_user
+  @survey_question.save
+  respond_to do |format|
+    if @survey_question.update_attributes(params[:survey_question])
+      format.html { redirect_to @survey_question, notice: 'Question was successfully updated.' }
+    else
+      format.html { render action: "edit" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Survey/QuestionsHelper.html b/doc/app/Survey/QuestionsHelper.html new file mode 100644 index 0000000..114839f --- /dev/null +++ b/doc/app/Survey/QuestionsHelper.html @@ -0,0 +1,430 @@ + + + + + + + Module: Survey::QuestionsHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Survey::QuestionsHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ new_question_for(obj,t="Neue Frage") + click to toggle source +
+ + +
+ + + + + +
+
+# File app/helpers/survey/questions_helper.rb, line 2
+def new_question_for(obj,t="Neue Frage")
+  render partial: "survey/questions/new_question", locals: {question_templates: Survey::Question.templates, parent: obj, text: t}
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Thema.html b/doc/app/Thema.html new file mode 100644 index 0000000..1c1c197 --- /dev/null +++ b/doc/app/Thema.html @@ -0,0 +1,533 @@ + + + + + + + Class: Thema + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + + +
+

Included Modules

+ +
+ +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Thema

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + + + + +
+ + + +
+ is_outdated?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/thema.rb, line 57
+def is_outdated?
+  unless translation.try(:updated_at).nil?
+    translation.updated_at < 7.month.ago
+  else
+    false
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ text_first_words() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/thema.rb, line 65
+def text_first_words
+  md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
+  words=md[:text].split(" ") unless md.nil?
+  if words.nil? || words.empty?
+    "...."
+  else
+    words[0..100].join(" ")+ " ..." unless  words.nil?
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ThemenController.html b/doc/app/ThemenController.html new file mode 100644 index 0000000..e35c10e --- /dev/null +++ b/doc/app/ThemenController.html @@ -0,0 +1,1004 @@ + + + + + + + Class: ThemenController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ThemenController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ attachments() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 126
+def attachments
+ @thema = Thema.find(params[:id])
+ @attachments=@thema.attachments
+ @attachment=Attachment.new
+ respond_to do |format|
+   format.js
+ end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /themen POST /themen.json

+ + + +
+
+# File app/controllers/themen_controller.rb, line 88
+def create
+  @thema = Thema.new(params[:thema])
+  @themen = @thema.themengruppe.themen.order(:priority).reverse
+     
+  respond_to do |format|
+    if @thema.save
+      @themen = @thema.themengruppe.themen.order(:priority).reverse
+      format.html { redirect_to @thema, notice: I18n.t("thema.created") }
+      format.json { render json: @thema, status: :created, location: @thema }
+      format.js   {render action: "update"}
+    else
+      @themen = @thema.themengruppe.themen.order(:priority).reverse
+      format.html { render action: "new" }
+      format.json { render json: @thema.errors, status: :unprocessable_entity }
+    format.js   { render action: "edit" }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /themen/1 DELETE /themen/1.json

+ + + +
+
+# File app/controllers/themen_controller.rb, line 163
+def destroy
+  @thema = Thema.find(params[:id])
+  @thema.destroy
+  @themen = @thema.themengruppe.themen.order(:priority).reverse
+  respond_to do |format|
+    format.html { redirect_to themengruppe_path(@thema.themengruppe) }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ documents() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 119
+def documents
+  @thema = Thema.find(params[:id])
+  @documents=@thema.documents
+  respond_to do |format|
+    format.js
+  end 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /themen/1/edit

+ + + +
+
+# File app/controllers/themen_controller.rb, line 76
+def edit
+  @thema = Thema.find(params[:id])
+
+ 
+  respond_to do |format|
+    format.html
+    format.js { @themen= @thema.themengruppe.themen }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fragen() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 112
+def fragen
+  @thema = Thema.find(params[:id])
+  @fragen=@thema.fragen
+  respond_to do |format|
+    format.js
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 6
+def index
+  @themen = Thema.accessible_by(current_ability,:show).where(:isdraft=>false)
+  @themen_drafts = Thema.accessible_by(current_ability,:show).where(:isdraft=>true)
+  @themen_outdated =Thema.accessible_by(current_ability,:show).outdated
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ is_updated() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 106
+def is_updated
+  @thema = Thema.find(params[:id])
+  @thema.translation.touch
+ 
+  redirect_to @thema
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /themen/new GET /themen/new.json

+ + + +
+
+# File app/controllers/themen_controller.rb, line 65
+def new
+  @thema = Thema.new
+  @thema.themengruppe = Themengruppe.find(params[:themengruppe_id]) unless params[:themengruppe_id].nil?
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @thema }
+    format.js { render action: "edit" }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ sanitize() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 26
+def sanitize
+  require 'sanitize'
+  @thema = Thema.find(params[:id])
+  @fragen = @thema.fragen
+  trans_icons= lambda do |env|
+    node=env[:node]
+    node_name=env[:node_name]
+    return if env[:is_whitelisted] || !node.element?
+    return unless node_name == 'span'
+   # return unless node["class"] =~ /.*ffi.*/
+    Sanitize.node!(node,{:elements=>["span"],:attributes=>{"span"=>["class","style"]},:css=>{:properties=>["color"]}})
+    {:node_whitelist=>[node]}
+  end
+  @thema.text = Sanitize.fragment(@thema.text, {:elements=>['table','tr','td','p','h1','h2','h3','h4','h5','a','th','img','ul','li','i','b','em','pre','code'],:attributes=>{'p'=>['class'],'table'=>['class'],'a'=>['href','data'],'img'=>['src','width','height'],:all=>['class']},:css=>{:properties=>['float']},:transformers=>[trans_icons]})
+  # # #
+  # #
+  # # 
+  #
+  # @thema.text = @thema.text.sanitize
+  render :edit
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 11
+  def show
+    @thema = Thema.find(params[:id])
+    @fragen=@thema.fragen
+
+    @toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("thema.manage"), :path=>verwalten_thema_path(@thema)}]
+    @toolbar_elements << [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>edit_thema_path(@thema)}]
+    @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('thema.remove'), :path=>thema_path(@thema), :method=>:delete, :confirm=>I18n.t('thema.sure')}
+    
+    respond_to do |format|
+      format.html {
+#        redirect_to :controller=>'themengruppen', :id=>@thema.themengruppe.id, :action=>:show, :anchor=> "thema_"+params[:id].to_s     
+      }
+      format.js
+    end
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /themen/1 PUT /themen/1.json

+ + + +
+
+# File app/controllers/themen_controller.rb, line 136
+ def update
+   @thema = Thema.find(params[:id])
+   @themen = @thema.themengruppe.themen.order(:priority).reverse
+   @thema.assign_attributes(params[:thema])
+#   @thema.fix_links(request.host_with_port)
+  
+   respond_to do |format|
+     if @thema.save
+       format.html { 
+         if params["button"]=="continue"
+             render action: "edit", notice: I18n.t("thema.updated") 
+         else
+           redirect_to @thema, notice: I18n.t("thema.updated") 
+         end
+       }
+       format.json { head :no_content }
+       format.js   
+     else
+       format.html { render action: "edit" }
+       format.json { render json: @thema.errors, status: :unprocessable_entity }
+       format.js   { render action: "edit" }
+     end
+   end
+ end
+
+ +
+ + + + +
+ + +
+ + + +
+ version() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 47
+def version 
+  @thema = Thema.find(params[:id])
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themen_controller.rb, line 52
+def verwalten
+  @thema = Thema.find(params[:id])
+  @attachment=Attachment.new
+  @fragen=@thema.fragen
+
+  @toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>edit_thema_path(@thema)}]
+  @toolbar_elements <<{ :hicon=>'icon-leaf', :text=>"Sanitize", :path=>sanitize_thema_path(@thema)}
+
+  @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('thema.remove'), :path=>thema_path(@thema), :method=>:delete, :confirm=>I18n.t('thema.sure')}
+  
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ThemenHelper.html b/doc/app/ThemenHelper.html new file mode 100644 index 0000000..bbdbdb4 --- /dev/null +++ b/doc/app/ThemenHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: ThemenHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ThemenHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Themengruppe.html b/doc/app/Themengruppe.html new file mode 100644 index 0000000..185e84c --- /dev/null +++ b/doc/app/Themengruppe.html @@ -0,0 +1,539 @@ + + + + + + + Class: Themengruppe + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Themengruppe

+ +
+ +

Schema Information

+ +

Table name: themengruppen

+ +
id         :integer          not null, primary key
+title      :string(255)
+text       :text
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ + + + +
+ + + + + + +
+

Constants

+
+ +
WORD_COUNT
+ +
+ + +
+
+ + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ find_wiki_default() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/themengruppe.rb, line 29
+def self.find_wiki_default
+  where(:wiki_default=>true).first
+end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ intern() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/themengruppe.rb, line 32
+  def intern
+    ! self.public
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ make_wiki_default() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/themengruppe.rb, line 35
+def make_wiki_default
+  Themengruppe.where(:wiki_default=>:true).update_all(:wiki_default=>:false)
+  self.wiki_default=true;
+  self.save;
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ThemengruppenController.html b/doc/app/ThemengruppenController.html new file mode 100644 index 0000000..9cb1a4e --- /dev/null +++ b/doc/app/ThemengruppenController.html @@ -0,0 +1,903 @@ + + + + + + + Class: ThemengruppenController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ThemengruppenController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ create() + click to toggle source +
+ + +
+ +

POST /themengruppen POST /themengruppen.json

+ + + +
+
+# File app/controllers/themengruppen_controller.rb, line 99
+def create
+  @themengruppe = Themengruppe.new(params[:themengruppe])
+
+  respond_to do |format|
+    if @themengruppe.save
+      format.html { redirect_to @themengruppe, notice: 'Themengruppe was successfully created.' }
+      format.json { render json: @themengruppe, status: :created, location: @themengruppe }
+    else
+      format.html { render action: "new" }
+      format.json { render json: @themengruppe.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ destroy() + click to toggle source +
+ + +
+ +

DELETE /themengruppen/1.json

+ + + +
+
+# File app/controllers/themengruppen_controller.rb, line 129
+def destroy
+  @themengruppe = Themengruppe.find(params[:id])
+  @themengruppe.destroy
+
+  respond_to do |format|
+    format.html { redirect_to themengruppen_url }
+    format.json { head :no_content }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ edit() + click to toggle source +
+ + +
+ +

GET /themengruppen/1/edit

+ + + +
+
+# File app/controllers/themengruppen_controller.rb, line 48
+def edit
+  @themengruppe = Themengruppe.find(params[:id])
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ faqs() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themengruppen_controller.rb, line 16
+def faqs
+  @themengruppen = Themengruppe.accessible_by(current_ability, :show).order("themengruppen.priority").includes(:themen,{themen: :fragen}).order("themen.priority")
+  
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themengruppen_controller.rb, line 5
+def index
+  @themengruppen = Themengruppe.accessible_by(current_ability, :show).public.includes(:themen)
+  @toolbar_elements = []
+  @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.new'), :path=>new_themengruppe_path()} if can? :new, Themengruppe
+  @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.manage_all'), :path=>verwalten_all_themengruppen_path()} if can? :verwalten_all, Themengruppe
+  
+  respond_to do |format|
+    format.html # index.html.erb
+    format.json { render json: @themengruppen }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new() + click to toggle source +
+ + +
+ +

GET /themengruppen/new GET /themengruppen/new.json

+ + + +
+
+# File app/controllers/themengruppen_controller.rb, line 38
+def new
+  @themengruppe = Themengruppe.new
+
+  respond_to do |format|
+    format.html # new.html.erb
+    format.json { render json: @themengruppe }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ +

GET /themengruppen/1 GET /themengruppen/1.json

+ + + +
+
+# File app/controllers/themengruppen_controller.rb, line 23
+def show
+  @themengruppe = Themengruppe.find(params[:id])
+  @themen=@themengruppe.themen.accessible_by(current_ability, :show)
+ 
+  @toolbar_elements = []
+  @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.manage"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe
+
+  respond_to do |format|
+    format.html # show.html.erb
+    format.json { render json: @themengruppe }
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ sort_themen() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themengruppen_controller.rb, line 83
+def sort_themen
+  @params=params
+  i=1
+  params['themen'].reverse.each do |themaid|
+    thema=Thema.find(themaid)
+    thema.priority=i
+    thema.save
+    i=i+1
+  end
+  respond_to do |format|
+    format.js
+  end 
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ sort_themengruppen() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themengruppen_controller.rb, line 68
+def sort_themengruppen
+  @params=params
+  i=1
+  params['themengruppen'].reverse.each do |themengruppeid|
+    themengruppe=Themengruppe.find(themengruppeid)
+    themengruppe.priority=i
+    themengruppe.save
+    i=i+1
+  end
+  respond_to do |format|
+    format.js
+  end 
+
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ update() + click to toggle source +
+ + +
+ +

PUT /themengruppen/1 PUT /themengruppen/1.json

+ + + +
+
+# File app/controllers/themengruppen_controller.rb, line 115
+def update
+  @themengruppe = Themengruppe.find(params[:id])
+
+  respond_to do |format|
+    if @themengruppe.update_attributes(params[:themengruppe])
+      format.html { redirect_to @themengruppe, notice: 'Themengruppe was successfully updated.' }
+      format.json { head :no_content }
+    else
+      format.html { render action: "edit" }
+      format.json { render json: @themengruppe.errors, status: :unprocessable_entity }
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themengruppen_controller.rb, line 57
+def verwalten 
+  @themengruppe = Themengruppe.find(params[:themengruppe_id])
+  @themen = @themengruppe.themen
+  
+  @toolbar_elements =[]
+  @toolbar_elements << {:text=>I18n.t('themengruppe.show'), :path=>themengruppe_path(@themengruppe)} if can? :show, @themengruppe
+  @toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('themengruppe.edit'), :path=>edit_themengruppe_path(@themengruppe)} if can? :edit, @themengruppe
+  @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('thema.add'), :path=>new_themengruppe_thema_path(@themengruppe), :remote=>true} if can? :new, Thema
+  @toolbar_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('themengruppe.remove'), :path=>themengruppe_path(@themengruppe), :method=>:delete,:confirm=>I18n.t('themengruppe.sure')} if can? :delete, @themengruppe
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ verwalten_all() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/themengruppen_controller.rb, line 51
+def verwalten_all
+  @themengruppen =Themengruppe.public.order(:priority).reverse
+  @themengruppen_intern =Themengruppe.intern.order(:priority).reverse
+  @toolbar_elements = [{:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.new'), :path=>new_themengruppe_path()}]
+ 
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/ThemengruppenHelper.html b/doc/app/ThemengruppenHelper.html new file mode 100644 index 0000000..09a0881 --- /dev/null +++ b/doc/app/ThemengruppenHelper.html @@ -0,0 +1,381 @@ + + + + + + + Module: ThemengruppenHelper + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

ThemengruppenHelper

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/TinymceTextInput.html b/doc/app/TinymceTextInput.html new file mode 100644 index 0000000..f687774 --- /dev/null +++ b/doc/app/TinymceTextInput.html @@ -0,0 +1,438 @@ + + + + + + + Class: TinymceTextInput + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

TinymceTextInput

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ input_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/tinymce_text_input.rb, line 2
+def input_html_options
+        super.merge(:class => "tinymce")
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/UploaderInput.html b/doc/app/UploaderInput.html new file mode 100644 index 0000000..5187bab --- /dev/null +++ b/doc/app/UploaderInput.html @@ -0,0 +1,1097 @@ + + + + + + + Class: UploaderInput + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

UploaderInput

+ +
+ +

A formtastic input which incorporates carrierwave uploader functionality.

+ +

Intelligently adds the cache field, displays and links to the current value +if there is one, adds a class to the wrapper when replacing an existing +value, allows removing an existing value with the checkbox taking into +account validation requirements.

+ +

There are several options:

+ +
* Toggle the replacement field with `replaceable: true/false`.
+* The replace file label is translatable as `replace_label` or using option `replace_label: "value"` (like `label`).
+* Toggle the remove checkbox with `removable: true/false` (`true` overrides `required`).
+* The remove checkbox label is translatable as `remove_label` or using option `remove_label: "value"` (like `label`).
+* Override existing file display and links using `existing_html` and `existing_link_html` (like `wrapper_html`).
+ +

Example: `form.input :file, as: “uploader”`

+ +

Copyright © Samuel Cochran 2012, under the [MIT license](www.opensource.org/licenses/mit-license).

+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ cache_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 66
+def cache_html
+  if method_changed?
+    builder.hidden_field("#{method}_cache")
+  end or "".html_safe
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ existing_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 88
+def existing_html
+  if method_present?
+    # TODO: Add classes based on mime type for icons, etc.
+    existing = template.content_tag(:span, template.image_tag( object.send(method).thumb), existing_html_options)
+    template.link_to_if linkable?, existing, object.send(method).url, existing_link_html_options
+  end or "".html_safe
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ existing_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 76
+def existing_html_options
+  expand_html_options(options[:existing_html]) do |opts|
+    opts[:class] << "existing"
+  end
+end
+
+ +
+ + + + +
+ + + + + +
+ + + +
+ file_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 72
+def file_html
+  builder.file_field(method, input_html_options)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ linkable?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 20
+def linkable?
+  options[:linkable] != false
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ method_changed?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 40
+def method_changed?
+  if object.respond_to? "#{method}_changed?"
+    object.send "#{method}_changed?"
+  else
+    false
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ method_present?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 32
+def method_present?
+  if object.respond_to?("#{method}?")
+    object.send("#{method}?")
+  else
+    object.send(method).present?
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ method_was_present?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 48
+def method_was_present?
+  if not method_changed?
+    method_present?
+  else
+    object.send("#{method}_was").present?
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ removable?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 28
+def removable?
+  options[:removable] != false and (options[:removable] == true or not required?)
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ remove_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 109
+def remove_html
+  if removable?
+    template.content_tag(:label, class: "remove_label") do
+      template.check_box_tag("#{object_name}[remove_#{method}]", "1", false, id: "#{sanitized_object_name}_remove_#{sanitized_method_name}") <<
+      # XXX: There are probably better ways to do these translations using defaults.
+      template.content_tag(:span, localized_string(method, "Remove #{method.to_s.titleize}", :remove_label))
+    end
+  end or "".html_safe
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ replace_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 102
+def replace_html
+  if replaceable?
+    replace_label_html <<
+    file_html
+  end or "".html_safe
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ replace_label_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 96
+def replace_label_html
+  template.content_tag(:label, class: "replace_label") do
+    template.content_tag(:span, localized_string(method, "Replace #{method.to_s.titleize}", :replace_label))
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ replaceable?() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 24
+def replaceable?
+  options[:replaceable] != false
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ to_html() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 119
+def to_html
+  input_wrapping do
+    label_html <<
+    cache_html <<
+    if method_was_present?
+      existing_html <<
+      replace_html <<
+      remove_html
+    else
+      existing_html <<
+      file_html
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ wrapper_html_options() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 56
+def wrapper_html_options
+  super.tap do |options|
+    options[:class] << " replaceable" if replaceable?
+    options[:class] << " removable" if removable?
+    options[:class] << " present" if method_present?
+    options[:class] << " changed" if method_changed?
+    options[:class] << " was_present" if method_was_present?
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+

Protected Instance Methods

+ + +
+ + + +
+ expand_html_options(opts) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/inputs/uploader_input.rb, line 136
+def expand_html_options opts
+  (opts || {}).dup.tap do |opts|
+    opts[:class] =
+      case opts[:class]
+      when Array
+        opts[:class].dup
+      when nil
+        []
+      else
+        [opts[:class].to_s]
+      end
+    opts[:data] =
+      case opts[:data]
+      when Hash
+        opts[:data].dup
+      when nil
+        {}
+      else
+        {"" => opts[:data].to_s}
+      end
+
+    yield opts if block_given?
+
+    opts[:class] = opts[:class].join(' ')
+  end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/User.html b/doc/app/User.html new file mode 100644 index 0000000..6bc993d --- /dev/null +++ b/doc/app/User.html @@ -0,0 +1,607 @@ + + + + + + + Class: User + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+ +
+
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

User

+ +
+ +

Schema Information

+ +

Table name: users

+ +
id                     :integer          not null, primary key
+email                  :string(255)      default(""), not null
+encrypted_password     :string(255)      default(""), not null
+reset_password_token   :string(255)
+reset_password_sent_at :datetime
+remember_created_at    :datetime
+sign_in_count          :integer          default(0)
+current_sign_in_at     :datetime
+last_sign_in_at        :datetime
+current_sign_in_ip     :string(255)
+last_sign_in_ip        :string(255)
+confirmation_token     :string(255)
+confirmed_at           :datetime
+confirmation_sent_at   :datetime
+unconfirmed_email      :string(255)
+failed_attempts        :integer          default(0)
+unlock_token           :string(255)
+locked_at              :datetime
+created_at             :datetime         not null
+updated_at             :datetime         not null
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Class Methods

+ + +
+ + + +
+ find_for_facebook_oauth(auth, signed_in_resource=nil) + click to toggle source +
+ + +
+ +

attr_accessible :title, :body

+ + + +
+
+# File app/models/user.rb, line 38
+  def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
+logger.debug auth.to_s
+    logger.debug "DDD Username= #{auth.username}"
+    user = User.where(:provider => auth.provider, :uid => auth.uid).first
+    unless user
+      user = User.create(name: auth.uid,
+                         provider:auth.provider,
+                         uid: auth.uid,
+                         email:auth.info.email,
+                         password:Devise.friendly_token[0,20]
+                         )
+    end
+
+    
+    user
+  end
+
+ +
+ + + + +
+ + +
+ + + +
+ find_for_ldap_oauth(auth,signed_in_resource=nil) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/user.rb, line 54
+ def self.find_for_ldap_oauth(auth,signed_in_resource=nil)
+   # debug "sdfg"
+
+   user= User.where(:provider=>auth.provider,:uid=>auth.extra.raw_info.uid).first
+   unless user
+     user= User.create(name:auth.extra.raw_info.uid.first,
+                       provider:auth.provider,
+                       uid:auth.extra.raw_info.uid.first,
+                       email:auth.extra.raw_info.mail.first.to_s,
+                       password:Devise.friendly_token[0,20])
+     user.add_role("fetuser")
+     logger.debug(auth.extra.raw_info.to_s)
+   end
+  user
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ new_with_session(params, session) + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/user.rb, line 70
+def self.new_with_session(params, session)
+  super.tap do |user|
+    if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"]
+      user.email = data["email"] if user.email.blank?
+    end
+   end
+ end
+
+ +
+ + + + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + + +
+ text() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/models/user.rb, line 77
+ def text
+   if self.fetprofile.nil? 
+     self.email
+   else
+     self.fetprofile.name
+   end
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Users.html b/doc/app/Users.html new file mode 100644 index 0000000..c1f17e3 --- /dev/null +++ b/doc/app/Users.html @@ -0,0 +1,388 @@ + + + + + + + Module: Users + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+
+
    + +
+
+
+ + +
+ +
+ + + + + + +
+

Namespace

+ +
+ + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Users

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/Users/OmniauthCallbacksController.html b/doc/app/Users/OmniauthCallbacksController.html new file mode 100644 index 0000000..51bb273 --- /dev/null +++ b/doc/app/Users/OmniauthCallbacksController.html @@ -0,0 +1,539 @@ + + + + + + + Class: Users::OmniauthCallbacksController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + +
+

Methods

+ +
+ + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

Users::OmniauthCallbacksController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ facebook() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users/omniauth_callbacks_controller.rb, line 10
+def facebook
+  # You need to implement the method below in your model (e.g. app/models/user.rb)
+  @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)
+  data=request.env["omniauth.auth"]
+  session[:fbuser_access_token]=data.credentials.token
+
+  if @user
+    sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
+    set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
+  else
+    session["devise.facebook_data"] = request.env["omniauth.auth"]
+    redirect_to new_user_registration_url
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ failure() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users/omniauth_callbacks_controller.rb, line 4
+def failure
+  
+  # flash[:notice] = "Failure #{Hash.new(request.env)} #{Hash.new(params)}"
+  #redirect_to new_user_registration_url , :notice=>"Omniauth Login failed" 
+  super
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ ldap() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users/omniauth_callbacks_controller.rb, line 25
+  def ldap
+logger.debug current_user.to_s
+    @user=User.find_for_ldap_oauth(request.env["omniauth.auth"],current_user) 
+ #  @user=User.find_for_ldap_oauth(session["devise.ldap_data"],current_user)
+   # @user=User.first
+#    flash[:notice]="#{request.env}"
+    #  sign_in_and_redirect @user, :event=>:authentication
+# debug @user
+#debug 
+ #   logger.info "Request  attributes hash: #{request.env}"
+    if @user
+      sign_in_and_redirect @user, :event => :authentication
+      set_flash_message(:notice,:success,:kind=>"Ldap") if is_navigational_format?
+    else
+      session["devise.ldap_data"]=request.env["omniauth.auth"]
+      # set_flash_message(:notice, "sdfsdf")
+      flash[:notice]=flash[:notice] + "Still not logged in "
+     redirect_to new_user_registration_url
+    end
+  end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/UsersController.html b/doc/app/UsersController.html new file mode 100644 index 0000000..474caad --- /dev/null +++ b/doc/app/UsersController.html @@ -0,0 +1,683 @@ + + + + + + + Class: UsersController + + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+
+

In Files

+ +
+ + +
+ +
+ + +
+

Parent

+ + + +
+ + + + + + + + + + + + +
+ +
+ + +
+

Files

+ +
+ + +
+

Class/Module Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

UsersController

+ +
+ +
+ + + + +
+ + + + + + + + + + +
+

Public Instance Methods

+ + +
+ + + +
+ add_role() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users_controller.rb, line 18
+def add_role
+  authorize!(:add_role, User)
+  @user= User.find(params[:id])
+  if (params[:role]=="fetuser" && can?(:addfetuser,User))
+    @user.add_role(params[:role])
+  end
+  if (params[:role]=="fetadmin" && can?(:addfetadmin,User))
+    @user.add_role(params[:role])
+  end
+  redirect_to users_url
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ all_update() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users_controller.rb, line 45
+def all_update
+  authorize! :doadmin,User
+  params[:users].each do |id,u| 
+    user=User.find(id) 
+    user.fetprofile = Fetprofile.find(u[:fetprofile_id].to_i) if u[:fetprofile_id].to_i>0 
+    user.save if can? :edit, User
+  end
+  redirect_to users_url
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ do_confirm() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users_controller.rb, line 55
+def do_confirm
+  @user= User.find(params[:id])
+  @user.confirm!
+  redirect_to users_url
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ fb_set_default_publish_page() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users_controller.rb, line 29
+def fb_set_default_publish_page
+  authorize!(:doadmin, User)
+
+  if Fetsite::Application.config.facebookconfig_enabled
+    if params["page"].nil? || !(current_user.provider=="facebook")
+      redirect_to intern_home_index_path
+    else
+      @fbu=FbGraph::User.new(current_user.uid.to_s).fetch(:access_token=>session["fbuser_access_token"])
+      File.open("config/page.yml",'w'){|f|  f.write(@fbu.accounts(:access_token=>session["fbuser_access_token"]).select { |p| p.name == params["page"] }.first.to_yaml)}
+      logger.info @fbu.to_s
+      logger.info "FbGraph Access" + session["fbuser_access_token"]
+      redirect_to admin_home_index_path
+    end
+  end
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ index() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users_controller.rb, line 2
+def index 
+  authorize!(:index,User)
+  @users = User.all
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ set_preferred_theme() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users_controller.rb, line 11
+def set_preferred_theme
+  @user=User.find(params[:id])
+  authorize!(:set_preferred_theme, @user)    
+  @user.preferredtheme=params[:theme]
+  @user.save
+  redirect_to root_url
+end
+
+ +
+ + + + +
+ + +
+ + + +
+ show() + click to toggle source +
+ + +
+ + + + + +
+
+# File app/controllers/users_controller.rb, line 6
+def show
+  @user=User.find(params[:id])
+  authorize!(:show, @user)    
+
+end
+
+ +
+ + + + +
+ + +
+ +
+ + +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + + diff --git a/doc/app/app/controllers/application_controller_rb.html b/doc/app/app/controllers/application_controller_rb.html new file mode 100644 index 0000000..f6031e7 --- /dev/null +++ b/doc/app/app/controllers/application_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: application_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/attachments_controller_rb.html b/doc/app/app/controllers/attachments_controller_rb.html new file mode 100644 index 0000000..7d004f5 --- /dev/null +++ b/doc/app/app/controllers/attachments_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: attachments_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/beispiele_controller_rb.html b/doc/app/app/controllers/beispiele_controller_rb.html new file mode 100644 index 0000000..81c12a8 --- /dev/null +++ b/doc/app/app/controllers/beispiele_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: beispiele_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/calendars_controller_rb.html b/doc/app/app/controllers/calendars_controller_rb.html new file mode 100644 index 0000000..d0a0cd8 --- /dev/null +++ b/doc/app/app/controllers/calendars_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: calendars_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/calentries_controller_rb.html b/doc/app/app/controllers/calentries_controller_rb.html new file mode 100644 index 0000000..f0fd511 --- /dev/null +++ b/doc/app/app/controllers/calentries_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: calentries_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/comments_controller_rb.html b/doc/app/app/controllers/comments_controller_rb.html new file mode 100644 index 0000000..6b84c14 --- /dev/null +++ b/doc/app/app/controllers/comments_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: comments_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/config_controller_rb.html b/doc/app/app/controllers/config_controller_rb.html new file mode 100644 index 0000000..013b355 --- /dev/null +++ b/doc/app/app/controllers/config_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: config_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/crawler_controller_rb.html b/doc/app/app/controllers/crawler_controller_rb.html new file mode 100644 index 0000000..6e98f96 --- /dev/null +++ b/doc/app/app/controllers/crawler_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: crawler_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/documents_controller_rb.html b/doc/app/app/controllers/documents_controller_rb.html new file mode 100644 index 0000000..fb4ee55 --- /dev/null +++ b/doc/app/app/controllers/documents_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: documents_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/emails_controller_rb.html b/doc/app/app/controllers/emails_controller_rb.html new file mode 100644 index 0000000..5663ab5 --- /dev/null +++ b/doc/app/app/controllers/emails_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: emails_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/fetprofiles_controller_rb.html b/doc/app/app/controllers/fetprofiles_controller_rb.html new file mode 100644 index 0000000..f6daa65 --- /dev/null +++ b/doc/app/app/controllers/fetprofiles_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fetprofiles_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/fetzneditions_controller_rb.html b/doc/app/app/controllers/fetzneditions_controller_rb.html new file mode 100644 index 0000000..f9356fb --- /dev/null +++ b/doc/app/app/controllers/fetzneditions_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fetzneditions_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/fotos_controller_rb.html b/doc/app/app/controllers/fotos_controller_rb.html new file mode 100644 index 0000000..466a195 --- /dev/null +++ b/doc/app/app/controllers/fotos_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fotos_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/fragen_controller_rb.html b/doc/app/app/controllers/fragen_controller_rb.html new file mode 100644 index 0000000..6f00c69 --- /dev/null +++ b/doc/app/app/controllers/fragen_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fragen_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/galleries_controller_rb.html b/doc/app/app/controllers/galleries_controller_rb.html new file mode 100644 index 0000000..8ce3beb --- /dev/null +++ b/doc/app/app/controllers/galleries_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: galleries_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/gremien_controller_rb.html b/doc/app/app/controllers/gremien_controller_rb.html new file mode 100644 index 0000000..f2d5fed --- /dev/null +++ b/doc/app/app/controllers/gremien_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: gremien_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/home_controller_rb.html b/doc/app/app/controllers/home_controller_rb.html new file mode 100644 index 0000000..3257eb7 --- /dev/null +++ b/doc/app/app/controllers/home_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: home_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/lecturers_controller_rb.html b/doc/app/app/controllers/lecturers_controller_rb.html new file mode 100644 index 0000000..da22d3f --- /dev/null +++ b/doc/app/app/controllers/lecturers_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: lecturers_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/lvas_controller_rb.html b/doc/app/app/controllers/lvas_controller_rb.html new file mode 100644 index 0000000..336b556 --- /dev/null +++ b/doc/app/app/controllers/lvas_controller_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: lvas_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
  • zip
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/meetings_controller_rb.html b/doc/app/app/controllers/meetings_controller_rb.html new file mode 100644 index 0000000..072bdf8 --- /dev/null +++ b/doc/app/app/controllers/meetings_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: meetings_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/meetingtyps_controller_rb.html b/doc/app/app/controllers/meetingtyps_controller_rb.html new file mode 100644 index 0000000..c25e743 --- /dev/null +++ b/doc/app/app/controllers/meetingtyps_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: meetingtyps_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/memberships_controller_rb.html b/doc/app/app/controllers/memberships_controller_rb.html new file mode 100644 index 0000000..6c7707b --- /dev/null +++ b/doc/app/app/controllers/memberships_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: memberships_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/modulgruppen_controller_rb.html b/doc/app/app/controllers/modulgruppen_controller_rb.html new file mode 100644 index 0000000..86a84be --- /dev/null +++ b/doc/app/app/controllers/modulgruppen_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: modulgruppen_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/moduls_controller_rb.html b/doc/app/app/controllers/moduls_controller_rb.html new file mode 100644 index 0000000..822003f --- /dev/null +++ b/doc/app/app/controllers/moduls_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: moduls_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/neuigkeiten_controller_rb.html b/doc/app/app/controllers/neuigkeiten_controller_rb.html new file mode 100644 index 0000000..b34a2e9 --- /dev/null +++ b/doc/app/app/controllers/neuigkeiten_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: neuigkeiten_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/rubriken_controller_rb.html b/doc/app/app/controllers/rubriken_controller_rb.html new file mode 100644 index 0000000..97a74b4 --- /dev/null +++ b/doc/app/app/controllers/rubriken_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: rubriken_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/semesters_controller_rb.html b/doc/app/app/controllers/semesters_controller_rb.html new file mode 100644 index 0000000..ca3f181 --- /dev/null +++ b/doc/app/app/controllers/semesters_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: semesters_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/studien_controller_rb.html b/doc/app/app/controllers/studien_controller_rb.html new file mode 100644 index 0000000..4d5336e --- /dev/null +++ b/doc/app/app/controllers/studien_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: studien_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/survey/choices_controller_rb.html b/doc/app/app/controllers/survey/choices_controller_rb.html new file mode 100644 index 0000000..fecab1c --- /dev/null +++ b/doc/app/app/controllers/survey/choices_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: choices_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/survey/questions_controller_rb.html b/doc/app/app/controllers/survey/questions_controller_rb.html new file mode 100644 index 0000000..56e9a99 --- /dev/null +++ b/doc/app/app/controllers/survey/questions_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: questions_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/themen_controller_rb.html b/doc/app/app/controllers/themen_controller_rb.html new file mode 100644 index 0000000..fbc6cbb --- /dev/null +++ b/doc/app/app/controllers/themen_controller_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: themen_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
  • sanitize
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/themengruppen_controller_rb.html b/doc/app/app/controllers/themengruppen_controller_rb.html new file mode 100644 index 0000000..0c81f1e --- /dev/null +++ b/doc/app/app/controllers/themengruppen_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: themengruppen_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/users/omniauth_callbacks_controller_rb.html b/doc/app/app/controllers/users/omniauth_callbacks_controller_rb.html new file mode 100644 index 0000000..155711b --- /dev/null +++ b/doc/app/app/controllers/users/omniauth_callbacks_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: omniauth_callbacks_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-30 09:25:13 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/controllers/users_controller_rb.html b/doc/app/app/controllers/users_controller_rb.html new file mode 100644 index 0000000..fd24fbb --- /dev/null +++ b/doc/app/app/controllers/users_controller_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: users_controller.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/application_helper_rb.html b/doc/app/app/helpers/application_helper_rb.html new file mode 100644 index 0000000..3a08176 --- /dev/null +++ b/doc/app/app/helpers/application_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: application_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2019-01-01 18:59:32 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/attachments_helper_rb.html b/doc/app/app/helpers/attachments_helper_rb.html new file mode 100644 index 0000000..af4d6de --- /dev/null +++ b/doc/app/app/helpers/attachments_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: attachments_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/beispiele_helper_rb.html b/doc/app/app/helpers/beispiele_helper_rb.html new file mode 100644 index 0000000..98d2222 --- /dev/null +++ b/doc/app/app/helpers/beispiele_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: beispiele_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/calendars_helper_rb.html b/doc/app/app/helpers/calendars_helper_rb.html new file mode 100644 index 0000000..62ea649 --- /dev/null +++ b/doc/app/app/helpers/calendars_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: calendars_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/calentries_helper_rb.html b/doc/app/app/helpers/calentries_helper_rb.html new file mode 100644 index 0000000..ce4c477 --- /dev/null +++ b/doc/app/app/helpers/calentries_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: calentries_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/comments_helper_rb.html b/doc/app/app/helpers/comments_helper_rb.html new file mode 100644 index 0000000..f803060 --- /dev/null +++ b/doc/app/app/helpers/comments_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: comments_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/crawlobject_helper_rb.html b/doc/app/app/helpers/crawlobject_helper_rb.html new file mode 100644 index 0000000..dacf0de --- /dev/null +++ b/doc/app/app/helpers/crawlobject_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: crawlobject_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/fetprofiles_helper_rb.html b/doc/app/app/helpers/fetprofiles_helper_rb.html new file mode 100644 index 0000000..4a1c734 --- /dev/null +++ b/doc/app/app/helpers/fetprofiles_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fetprofiles_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/fetzneditions_helper_rb.html b/doc/app/app/helpers/fetzneditions_helper_rb.html new file mode 100644 index 0000000..f36fc3d --- /dev/null +++ b/doc/app/app/helpers/fetzneditions_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fetzneditions_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/fotos_helper_rb.html b/doc/app/app/helpers/fotos_helper_rb.html new file mode 100644 index 0000000..4b13854 --- /dev/null +++ b/doc/app/app/helpers/fotos_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fotos_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/fragen_helper_rb.html b/doc/app/app/helpers/fragen_helper_rb.html new file mode 100644 index 0000000..b3a7ed9 --- /dev/null +++ b/doc/app/app/helpers/fragen_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: fragen_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/galleries_helper_rb.html b/doc/app/app/helpers/galleries_helper_rb.html new file mode 100644 index 0000000..bde8d5d --- /dev/null +++ b/doc/app/app/helpers/galleries_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: galleries_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/gremien_helper_rb.html b/doc/app/app/helpers/gremien_helper_rb.html new file mode 100644 index 0000000..7995c79 --- /dev/null +++ b/doc/app/app/helpers/gremien_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: gremien_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/lecturers_helper_rb.html b/doc/app/app/helpers/lecturers_helper_rb.html new file mode 100644 index 0000000..d388e54 --- /dev/null +++ b/doc/app/app/helpers/lecturers_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: lecturers_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/lvas_helper_rb.html b/doc/app/app/helpers/lvas_helper_rb.html new file mode 100644 index 0000000..201237a --- /dev/null +++ b/doc/app/app/helpers/lvas_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: lvas_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/mailer_helper_rb.html b/doc/app/app/helpers/mailer_helper_rb.html new file mode 100644 index 0000000..d3af353 --- /dev/null +++ b/doc/app/app/helpers/mailer_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: mailer_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/meetings_helper_rb.html b/doc/app/app/helpers/meetings_helper_rb.html new file mode 100644 index 0000000..93c7cc6 --- /dev/null +++ b/doc/app/app/helpers/meetings_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: meetings_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/meetingtyps_helper_rb.html b/doc/app/app/helpers/meetingtyps_helper_rb.html new file mode 100644 index 0000000..53a2b84 --- /dev/null +++ b/doc/app/app/helpers/meetingtyps_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: meetingtyps_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/memberships_helper_rb.html b/doc/app/app/helpers/memberships_helper_rb.html new file mode 100644 index 0000000..7df8847 --- /dev/null +++ b/doc/app/app/helpers/memberships_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: memberships_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/modulgruppen_helper_rb.html b/doc/app/app/helpers/modulgruppen_helper_rb.html new file mode 100644 index 0000000..85caaf0 --- /dev/null +++ b/doc/app/app/helpers/modulgruppen_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: modulgruppen_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/moduls_helper_rb.html b/doc/app/app/helpers/moduls_helper_rb.html new file mode 100644 index 0000000..1a8f174 --- /dev/null +++ b/doc/app/app/helpers/moduls_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: moduls_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/neuigkeiten_helper_rb.html b/doc/app/app/helpers/neuigkeiten_helper_rb.html new file mode 100644 index 0000000..7113285 --- /dev/null +++ b/doc/app/app/helpers/neuigkeiten_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: neuigkeiten_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/pages_helper_rb.html b/doc/app/app/helpers/pages_helper_rb.html new file mode 100644 index 0000000..3b948a3 --- /dev/null +++ b/doc/app/app/helpers/pages_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: pages_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/plugins_helper_rb.html b/doc/app/app/helpers/plugins_helper_rb.html new file mode 100644 index 0000000..da99013 --- /dev/null +++ b/doc/app/app/helpers/plugins_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: plugins_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/rubriken_helper_rb.html b/doc/app/app/helpers/rubriken_helper_rb.html new file mode 100644 index 0000000..be14cc6 --- /dev/null +++ b/doc/app/app/helpers/rubriken_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: rubriken_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/semesters_helper_rb.html b/doc/app/app/helpers/semesters_helper_rb.html new file mode 100644 index 0000000..7ec8032 --- /dev/null +++ b/doc/app/app/helpers/semesters_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: semesters_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/studien_helper_rb.html b/doc/app/app/helpers/studien_helper_rb.html new file mode 100644 index 0000000..3a7bc71 --- /dev/null +++ b/doc/app/app/helpers/studien_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: studien_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/studmods_helper_rb.html b/doc/app/app/helpers/studmods_helper_rb.html new file mode 100644 index 0000000..f66f996 --- /dev/null +++ b/doc/app/app/helpers/studmods_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: studmods_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/survey/answers_helper_rb.html b/doc/app/app/helpers/survey/answers_helper_rb.html new file mode 100644 index 0000000..b36002c --- /dev/null +++ b/doc/app/app/helpers/survey/answers_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: answers_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/survey/choices_helper_rb.html b/doc/app/app/helpers/survey/choices_helper_rb.html new file mode 100644 index 0000000..60649e6 --- /dev/null +++ b/doc/app/app/helpers/survey/choices_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: choices_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/survey/questions_helper_rb.html b/doc/app/app/helpers/survey/questions_helper_rb.html new file mode 100644 index 0000000..d6edf9d --- /dev/null +++ b/doc/app/app/helpers/survey/questions_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: questions_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/themen_helper_rb.html b/doc/app/app/helpers/themen_helper_rb.html new file mode 100644 index 0000000..3c8a3c6 --- /dev/null +++ b/doc/app/app/helpers/themen_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: themen_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/helpers/themengruppen_helper_rb.html b/doc/app/app/helpers/themengruppen_helper_rb.html new file mode 100644 index 0000000..094798b --- /dev/null +++ b/doc/app/app/helpers/themengruppen_helper_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: themengruppen_helper.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/inputs/checkbox_autocomplete_input_rb.html b/doc/app/app/inputs/checkbox_autocomplete_input_rb.html new file mode 100644 index 0000000..725ee36 --- /dev/null +++ b/doc/app/app/inputs/checkbox_autocomplete_input_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: checkbox_autocomplete_input.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/inputs/date_string_input_rb.html b/doc/app/app/inputs/date_string_input_rb.html new file mode 100644 index 0000000..10a5158 --- /dev/null +++ b/doc/app/app/inputs/date_string_input_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: date_string_input.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/inputs/datepicker_input_rb.html b/doc/app/app/inputs/datepicker_input_rb.html new file mode 100644 index 0000000..6568ee7 --- /dev/null +++ b/doc/app/app/inputs/datepicker_input_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: datepicker_input.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/inputs/datetimepicker_input_rb.html b/doc/app/app/inputs/datetimepicker_input_rb.html new file mode 100644 index 0000000..d93f192 --- /dev/null +++ b/doc/app/app/inputs/datetimepicker_input_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: datetimepicker_input.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/inputs/tinymce_text_input_rb.html b/doc/app/app/inputs/tinymce_text_input_rb.html new file mode 100644 index 0000000..cb9f058 --- /dev/null +++ b/doc/app/app/inputs/tinymce_text_input_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: tinymce_text_input.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/inputs/uploader_input_rb.html b/doc/app/app/inputs/uploader_input_rb.html new file mode 100644 index 0000000..b381a18 --- /dev/null +++ b/doc/app/app/inputs/uploader_input_rb.html @@ -0,0 +1,72 @@ + + + + + + + + File: uploader_input.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

A formtastic input which incorporates carrierwave uploader functionality.

+ +

Intelligently adds the cache field, displays and links to the current value +if there is one, adds a class to the wrapper when replacing an existing +value, allows removing an existing value with the checkbox taking into +account validation requirements.

+ +

There are several options:

+ +
* Toggle the replacement field with `replaceable: true/false`.
+* The replace file label is translatable as `replace_label` or using option `replace_label: "value"` (like `label`).
+* Toggle the remove checkbox with `removable: true/false` (`true` overrides `required`).
+* The remove checkbox label is translatable as `remove_label` or using option `remove_label: "value"` (like `label`).
+* Override existing file display and links using `existing_html` and `existing_link_html` (like `wrapper_html`).
+ +

Example: `form.input :file, as: “uploader”`

+ +

Copyright © Samuel Cochran 2012, under the [MIT license](www.opensource.org/licenses/mit-license).

+ +
+ +
+ + + diff --git a/doc/app/app/mailers/confirmmailer_rb.html b/doc/app/app/mailers/confirmmailer_rb.html new file mode 100644 index 0000000..806a5b6 --- /dev/null +++ b/doc/app/app/mailers/confirmmailer_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: confirmmailer.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/mailers/news_mailer_rb.html b/doc/app/app/mailers/news_mailer_rb.html new file mode 100644 index 0000000..72ca8cf --- /dev/null +++ b/doc/app/app/mailers/news_mailer_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: news_mailer.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/ability_rb.html b/doc/app/app/models/ability_rb.html new file mode 100644 index 0000000..ae02761 --- /dev/null +++ b/doc/app/app/models/ability_rb.html @@ -0,0 +1,54 @@ + + + + + + + + File: ability.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
  • ipaddr
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/attachment_rb.html b/doc/app/app/models/attachment_rb.html new file mode 100644 index 0000000..571b19a --- /dev/null +++ b/doc/app/app/models/attachment_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: attachment.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: attachments

+ +
id         :integer          not null, primary key
+name       :string(255)
+datei      :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+thema_id   :integer
+ +
+ +
+ + + diff --git a/doc/app/app/models/beispiel_rb.html b/doc/app/app/models/beispiel_rb.html new file mode 100644 index 0000000..20dd03d --- /dev/null +++ b/doc/app/app/models/beispiel_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: beispiel.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: beispiele

+ +
id            :integer          not null, primary key
+name          :string(255)
+desc          :text
+lva_id        :integer
+created_at    :datetime         not null
+updated_at    :datetime         not null
+beispieldatei :string(255)
+ +
+ +
+ + + diff --git a/doc/app/app/models/calendar_rb.html b/doc/app/app/models/calendar_rb.html new file mode 100644 index 0000000..7045a91 --- /dev/null +++ b/doc/app/app/models/calendar_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: calendar.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: calendars

+ +
id         :integer          not null, primary key
+name       :string(255)
+public     :boolean
+created_at :datetime         not null
+updated_at :datetime         not null
+picture    :string(255)
+ +
+ +
+ + + diff --git a/doc/app/app/models/calentry_rb.html b/doc/app/app/models/calentry_rb.html new file mode 100644 index 0000000..0908b07 --- /dev/null +++ b/doc/app/app/models/calentry_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: calentry.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: calentries

+ +
id         :integer          not null, primary key
+start      :datetime
+ende       :datetime
+summary    :string(255)
+typ        :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/comment_rb.html b/doc/app/app/models/comment_rb.html new file mode 100644 index 0000000..967a6b4 --- /dev/null +++ b/doc/app/app/models/comment_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: comment.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/crawlobject_rb.html b/doc/app/app/models/crawlobject_rb.html new file mode 100644 index 0000000..8f32e70 --- /dev/null +++ b/doc/app/app/models/crawlobject_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: crawlobject.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/document_rb.html b/doc/app/app/models/document_rb.html new file mode 100644 index 0000000..7d9b1f1 --- /dev/null +++ b/doc/app/app/models/document_rb.html @@ -0,0 +1,58 @@ + + + + + + + + File: document.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-30 09:25:13 +0100
+ + +
Requires
+
+
    + +
  • open3
  • + +
  • open3
  • + +
  • json
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/fetprofile_rb.html b/doc/app/app/models/fetprofile_rb.html new file mode 100644 index 0000000..a9e6a9d --- /dev/null +++ b/doc/app/app/models/fetprofile_rb.html @@ -0,0 +1,67 @@ + + + + + + + + File: fetprofile.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: fetprofiles

+ +
id           :integer          not null, primary key
+vorname      :string(255)
+nachname     :string(255)
+short        :string(255)
+fetmailalias :string(255)
+desc         :text
+picture      :string(255)
+active       :boolean
+created_at   :datetime         not null
+updated_at   :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/fetznedition_rb.html b/doc/app/app/models/fetznedition_rb.html new file mode 100644 index 0000000..8af75de --- /dev/null +++ b/doc/app/app/models/fetznedition_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: fetznedition.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: fetzneditions

+ +
id         :integer          not null, primary key
+title      :string(255)
+desc       :text
+datum      :date
+datei      :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/foto_rb.html b/doc/app/app/models/foto_rb.html new file mode 100644 index 0000000..17618b2 --- /dev/null +++ b/doc/app/app/models/foto_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: foto.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: fotos

+ +
id         :integer          not null, primary key
+title      :string(255)
+desc       :text
+gallery_id :integer
+datei      :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/frage_rb.html b/doc/app/app/models/frage_rb.html new file mode 100644 index 0000000..d158d5b --- /dev/null +++ b/doc/app/app/models/frage_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: frage.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: fragen

+ +
id         :integer          not null, primary key
+title      :string(255)
+text       :text
+created_at :datetime         not null
+updated_at :datetime         not null
+thema_id   :integer
+ +
+ +
+ + + diff --git a/doc/app/app/models/gallery_rb.html b/doc/app/app/models/gallery_rb.html new file mode 100644 index 0000000..2cee35a --- /dev/null +++ b/doc/app/app/models/gallery_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: gallery.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: galleries

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+datum      :date
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/gremium_rb.html b/doc/app/app/models/gremium_rb.html new file mode 100644 index 0000000..5148d22 --- /dev/null +++ b/doc/app/app/models/gremium_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: gremium.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: gremien

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+typ        :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/key_rb.html b/doc/app/app/models/key_rb.html new file mode 100644 index 0000000..81c8511 --- /dev/null +++ b/doc/app/app/models/key_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: key.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/lecturer_rb.html b/doc/app/app/models/lecturer_rb.html new file mode 100644 index 0000000..cb2454d --- /dev/null +++ b/doc/app/app/models/lecturer_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: lecturer.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: lecturers

+ +
id         :integer          not null, primary key
+name       :string(255)
+email      :string(255)
+oid        :integer
+picture    :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/lva_rb.html b/doc/app/app/models/lva_rb.html new file mode 100644 index 0000000..8068a91 --- /dev/null +++ b/doc/app/app/models/lva_rb.html @@ -0,0 +1,70 @@ + + + + + + + + File: lva.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: lvas

+ +
id                   :integer          not null, primary key
+name                 :string(255)
+desc                 :text
+ects                 :decimal(, )
+lvanr                :string(255)
+stunden              :decimal(, )
+created_at           :datetime         not null
+updated_at           :datetime         not null
+modul_id             :integer
+semester_id          :integer
+pruefungsinformation :text
+lernaufwand          :text
+typ                  :string(255)
+ +
+ +
+ + + diff --git a/doc/app/app/models/meeting_rb.html b/doc/app/app/models/meeting_rb.html new file mode 100644 index 0000000..2e8a975 --- /dev/null +++ b/doc/app/app/models/meeting_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: meeting.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/meetingtyp_rb.html b/doc/app/app/models/meetingtyp_rb.html new file mode 100644 index 0000000..560fc6c --- /dev/null +++ b/doc/app/app/models/meetingtyp_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: meetingtyp.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/membership_rb.html b/doc/app/app/models/membership_rb.html new file mode 100644 index 0000000..65bc61b --- /dev/null +++ b/doc/app/app/models/membership_rb.html @@ -0,0 +1,65 @@ + + + + + + + + File: membership.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: memberships

+ +
id            :integer          not null, primary key
+fetprofile_id :string(255)
+gremium_id    :string(255)
+start         :date
+stop          :date
+typ           :string(255)
+created_at    :datetime         not null
+updated_at    :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/modul_rb.html b/doc/app/app/models/modul_rb.html new file mode 100644 index 0000000..f480ba6 --- /dev/null +++ b/doc/app/app/models/modul_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: modul.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: moduls

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+depend     :text
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/modulgruppe_rb.html b/doc/app/app/models/modulgruppe_rb.html new file mode 100644 index 0000000..f789acb --- /dev/null +++ b/doc/app/app/models/modulgruppe_rb.html @@ -0,0 +1,65 @@ + + + + + + + + File: modulgruppe.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: modulgruppen

+ +
id         :integer          not null, primary key
+typ        :string(255)
+phase      :integer
+name       :string(255)
+desc       :text
+studium_id :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/neuigkeit_rb.html b/doc/app/app/models/neuigkeit_rb.html new file mode 100644 index 0000000..6c5227b --- /dev/null +++ b/doc/app/app/models/neuigkeit_rb.html @@ -0,0 +1,65 @@ + + + + + + + + File: neuigkeit.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: neuigkeiten

+ +
id         :integer          not null, primary key
+title      :string(255)
+text       :text
+datum      :datetime
+rubrik_id  :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+author_id  :integer
+ +
+ +
+ + + diff --git a/doc/app/app/models/nlink_rb.html b/doc/app/app/models/nlink_rb.html new file mode 100644 index 0000000..6096217 --- /dev/null +++ b/doc/app/app/models/nlink_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: nlink.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/role_rb.html b/doc/app/app/models/role_rb.html new file mode 100644 index 0000000..587598c --- /dev/null +++ b/doc/app/app/models/role_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: role.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: roles

+ +
id            :integer          not null, primary key
+name          :string(255)
+resource_id   :integer
+resource_type :string(255)
+created_at    :datetime         not null
+updated_at    :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/rubrik_rb.html b/doc/app/app/models/rubrik_rb.html new file mode 100644 index 0000000..79c1bac --- /dev/null +++ b/doc/app/app/models/rubrik_rb.html @@ -0,0 +1,63 @@ + + + + + + + + File: rubrik.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: rubriken

+ +
id         :integer          not null, primary key
+name       :string(255)
+desc       :text
+prio       :integer
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/semester_rb.html b/doc/app/app/models/semester_rb.html new file mode 100644 index 0000000..1d55381 --- /dev/null +++ b/doc/app/app/models/semester_rb.html @@ -0,0 +1,64 @@ + + + + + + + + File: semester.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: semesters

+ +
id         :integer          not null, primary key
+name       :string(255)
+nummer     :integer
+studium_id :integer
+ssws       :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/studium_rb.html b/doc/app/app/models/studium_rb.html new file mode 100644 index 0000000..5fe97cb --- /dev/null +++ b/doc/app/app/models/studium_rb.html @@ -0,0 +1,66 @@ + + + + + + + + File: studium.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: studien

+ +
id         :integer          not null, primary key
+zahl       :string(255)
+name       :string(255)
+shortdesc  :text
+desc       :text
+typ        :string(255)
+created_at :datetime         not null
+updated_at :datetime         not null
+abkuerzung :string(255)
+ +
+ +
+ + + diff --git a/doc/app/app/models/survey/answer_rb.html b/doc/app/app/models/survey/answer_rb.html new file mode 100644 index 0000000..95e10d7 --- /dev/null +++ b/doc/app/app/models/survey/answer_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: answer.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/survey/choice_rb.html b/doc/app/app/models/survey/choice_rb.html new file mode 100644 index 0000000..19e935f --- /dev/null +++ b/doc/app/app/models/survey/choice_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: choice.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/survey/question_rb.html b/doc/app/app/models/survey/question_rb.html new file mode 100644 index 0000000..09c439b --- /dev/null +++ b/doc/app/app/models/survey/question_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: question.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/survey_rb.html b/doc/app/app/models/survey_rb.html new file mode 100644 index 0000000..bd9e15a --- /dev/null +++ b/doc/app/app/models/survey_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: survey.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/models/thema_rb.html b/doc/app/app/models/thema_rb.html new file mode 100644 index 0000000..f0c4f14 --- /dev/null +++ b/doc/app/app/models/thema_rb.html @@ -0,0 +1,70 @@ + + + + + + + + File: thema.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
  • uri
  • + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: themen

+ +
id               :integer          not null, primary key
+title            :string(255)
+text             :text
+created_at       :datetime         not null
+updated_at       :datetime         not null
+themengruppe_id  :integer          ID of themengruppe
+isdraft          :boolean          True if this topic is only a draft an should not be visible to public
+ hidelink        :boolean          true if link to this topic should not be visible in the list
+hideattachment   :boolean          hide the attachment table in the view - doesnt hide attachments that are linked and doesn't protect them
+sticky_startpage :boolean          if true topic is sticked on the start page
+sticky_intern    : boolean         if true this topic is sticked at the intern page
+ +
+ +
+ + + diff --git a/doc/app/app/models/themengruppe_rb.html b/doc/app/app/models/themengruppe_rb.html new file mode 100644 index 0000000..f3c7bd4 --- /dev/null +++ b/doc/app/app/models/themengruppe_rb.html @@ -0,0 +1,62 @@ + + + + + + + + File: themengruppe.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: themengruppen

+ +
id         :integer          not null, primary key
+title      :string(255)
+text       :text
+created_at :datetime         not null
+updated_at :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/models/user_rb.html b/doc/app/app/models/user_rb.html new file mode 100644 index 0000000..3f60d05 --- /dev/null +++ b/doc/app/app/models/user_rb.html @@ -0,0 +1,77 @@ + + + + + + + + File: user.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-30 09:25:13 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +

Schema Information

+ +

Table name: users

+ +
id                     :integer          not null, primary key
+email                  :string(255)      default(""), not null
+encrypted_password     :string(255)      default(""), not null
+reset_password_token   :string(255)
+reset_password_sent_at :datetime
+remember_created_at    :datetime
+sign_in_count          :integer          default(0)
+current_sign_in_at     :datetime
+last_sign_in_at        :datetime
+current_sign_in_ip     :string(255)
+last_sign_in_ip        :string(255)
+confirmation_token     :string(255)
+confirmed_at           :datetime
+confirmation_sent_at   :datetime
+unconfirmed_email      :string(255)
+failed_attempts        :integer          default(0)
+unlock_token           :string(255)
+locked_at              :datetime
+created_at             :datetime         not null
+updated_at             :datetime         not null
+ +
+ +
+ + + diff --git a/doc/app/app/uploaders/attachment_uploader_rb.html b/doc/app/app/uploaders/attachment_uploader_rb.html new file mode 100644 index 0000000..5595f74 --- /dev/null +++ b/doc/app/app/uploaders/attachment_uploader_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: attachment_uploader.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/uploaders/beispieldatei_uploader_rb.html b/doc/app/app/uploaders/beispieldatei_uploader_rb.html new file mode 100644 index 0000000..aad95ff --- /dev/null +++ b/doc/app/app/uploaders/beispieldatei_uploader_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: beispieldatei_uploader.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/uploaders/foto_uploader_rb.html b/doc/app/app/uploaders/foto_uploader_rb.html new file mode 100644 index 0000000..223c0ba --- /dev/null +++ b/doc/app/app/uploaders/foto_uploader_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: foto_uploader.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/app/uploaders/picture_uploader_rb.html b/doc/app/app/uploaders/picture_uploader_rb.html new file mode 100644 index 0000000..69d2b99 --- /dev/null +++ b/doc/app/app/uploaders/picture_uploader_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: picture_uploader.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/created.rid b/doc/app/created.rid new file mode 100644 index 0000000..31480b1 --- /dev/null +++ b/doc/app/created.rid @@ -0,0 +1,119 @@ +Tue, 01 Jan 2019 18:59:48 +0100 +doc/README_FOR_APP Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/application_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/attachments_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/beispiele_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/calendars_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/calentries_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/comments_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/config_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/crawler_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/documents_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/emails_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/fetprofiles_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/fetzneditions_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/fotos_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/fragen_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/galleries_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/gremien_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/home_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/lecturers_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/lvas_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/meetings_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/meetingtyps_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/memberships_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/modulgruppen_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/moduls_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/neuigkeiten_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/rubriken_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/semesters_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/studien_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/survey/choices_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/survey/questions_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/themen_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/themengruppen_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/controllers/users/omniauth_callbacks_controller.rb Sun, 30 Dec 2018 09:25:13 +0100 +app/controllers/users_controller.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/application_helper.rb Tue, 01 Jan 2019 18:59:32 +0100 +app/helpers/attachments_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/beispiele_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/calendars_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/calentries_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/comments_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/crawlobject_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/fetprofiles_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/fetzneditions_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/fotos_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/fragen_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/galleries_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/gremien_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/lecturers_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/lvas_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/mailer_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/meetings_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/meetingtyps_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/memberships_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/modulgruppen_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/moduls_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/neuigkeiten_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/pages_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/plugins_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/rubriken_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/semesters_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/studien_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/studmods_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/survey/answers_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/survey/choices_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/survey/questions_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/themen_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/helpers/themengruppen_helper.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/inputs/checkbox_autocomplete_input.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/inputs/date_string_input.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/inputs/datepicker_input.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/inputs/datetimepicker_input.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/inputs/tinymce_text_input.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/inputs/uploader_input.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/mailers/confirmmailer.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/mailers/news_mailer.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/ability.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/attachment.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/beispiel.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/calendar.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/calentry.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/comment.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/crawlobject.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/document.rb Sun, 30 Dec 2018 09:25:13 +0100 +app/models/fetprofile.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/fetznedition.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/foto.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/frage.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/gallery.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/gremium.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/key.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/lecturer.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/lva.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/meeting.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/meetingtyp.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/membership.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/modul.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/modulgruppe.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/neuigkeit.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/nlink.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/role.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/rubrik.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/semester.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/studium.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/survey.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/survey/answer.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/survey/choice.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/survey/question.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/thema.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/themengruppe.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/models/user.rb Sun, 30 Dec 2018 09:25:13 +0100 +app/uploaders/attachment_uploader.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/uploaders/beispieldatei_uploader.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/uploaders/foto_uploader.rb Fri, 28 Dec 2018 23:46:15 +0100 +app/uploaders/picture_uploader.rb Fri, 28 Dec 2018 23:46:15 +0100 +lib/flagable.rb Tue, 01 Jan 2019 18:55:20 +0100 +lib/is_commentable.rb Fri, 28 Dec 2018 23:46:15 +0100 +lib/like_voteable.rb Fri, 28 Dec 2018 23:46:15 +0100 diff --git a/doc/app/doc/README_FOR_APP.html b/doc/app/doc/README_FOR_APP.html new file mode 100644 index 0000000..b13fe31 --- /dev/null +++ b/doc/app/doc/README_FOR_APP.html @@ -0,0 +1,338 @@ + + + + + + + + File: README_FOR_APP [Rails Application Documentation] + + + + + + + + + + +
+
+
+

+ Home + Classes + Methods +

+
+
+ +
+ + +
+

Files

+ +
+ + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+ +

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.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + + diff --git a/doc/app/images/brick.png b/doc/app/images/brick.png new file mode 100644 index 0000000000000000000000000000000000000000..7851cf34c946e5667221e3478668503eb1cd733f GIT binary patch literal 452 zcmV;#0XzPQP)Pdwe5?6tW?r-ok|b$oDQj8FV%kZPq;(MWOV8?8;<)(iP}>hNMU> z7fbz%jjlr7h8uuoQ~J6}n}@Y@PdTk=)PxO{%7zmL?dchpZX*~n;I{!C>*(8cU;q(~ zAS%Po_@naEU!xidrBXD?;hN|x^%W|Ij)0y*r5vi|?W&Fub(NqJ@z0o=O&SR3v>A``^efOSo-hEdApp;^Jd;9y!%1UfzX6Bh- z%-mbG|0Na{7Ruai_Y+DEb1s+b!*9k%Q!whMxjtZKA*?o;i1g&jy0@( zaU=-@d-h+o%gal6JRXEXA&L3`d2 z%jIxzZ~*p9O-;EJp_Ds0If38rM<5W8ic~K>FOK&2_p!CLg^i63OioVb6k$)zWHLx3 z5;!|M!}<9+#QSi1dRlbEcxPt^;cysUuU8@%3}RwpLRIGG<|IKnoyP6$Eh3SKw7a*r zSDXP=IYc&YZf;7@?fCe($^l9ORaJ3wbAx0uiC8QqRr$2t-Cfy8%XCI3B%pxJW>XdM zw~zPt_s}#A@pxQ5Ly)4szaMtH9lgE1SXx@b+S(fW`ub$fYPE8J7#bSNDzme*Ub07{ zQKV8SjEs!%0@v5ql8ggm!@$6Rbi^E8vBqpRM-}l+@5OSMrl+TWj*gC^qoV@>u{fQb zov5v?g~?>X@bEC&+uLPaQ&Ypn-y~^mZA}+f(&2EFH8eE%dU|@ENpN*_1-)L6_4Rc* zFuq@`IjX9vp1QiaK9ZojyZhnQURP99d=u;%37VRkpwsD4U0sd3x;hEQB&e^i|3QN0 z=H|Os1fRqaw!?#igLmS4HE!G3*ce(`TF} zlgUq0Q544c8(ae&UR$8ps&snq6^bPY3v3xAmMW74Di$h~GCH6E3TaYs2#6A<7K*gC z777H71_Wa;(dfp+g-drPCSWu)#PInZi72LJ;o?i~$-U=y&UbQ89Dul3%3P+Axkzc* zbH-y;QF=hR{qLItf%ci2_&e5wNo0gnVatG?ul6Zw=o$I9Ljfn*ic3`U?>IfEim3g{ zujU&$-hy6wn;w(xme|zJm;lWJxtTFfM)q0`kX!Vu0+d${$}LCddK1<^htTe-fUYL3 zB`SdNsZD>RgvLj1<^@h6_+cDRK2Brcr2~>%$*5S)hyV33PV^teac3%|4lz@8p4?)5 z?t5o^?q+%^%)Yygo~I^U4VR!bTnWuE35hcWrfCDR3q+sxJ79e7Fg`&)RCqLA^2^y^ z0laVfadW90_Fz8Brm|r47sB^u1VgI>kanj)Z4`zMSfHlm8>CwXa$JVM`$2RrmZB-3 zN10m-!;BvH*Br3V8t`DH7m`jf#2upVDXl{5ff18_pzCPK1Zu$$CKKvd8FGeFf)+K<|x33pc7P&S#3GZT4mEw;nr(Ze*F z3&*?-4U-lm*#tber5 z%S_ceqB`b3ko6r~BbvDwdohTvP(3a(pq{x#T$yQsu#OKwEe}KuH^Mh@nxg_(Nw136 zq#a^3xNBke)In+!?qk3%4wB69{pF`Tzg`07*qoM6N<$ Eg55P&8UO$Q literal 0 HcmV?d00001 diff --git a/doc/app/images/bullet_black.png b/doc/app/images/bullet_black.png new file mode 100644 index 0000000000000000000000000000000000000000..57619706d10d9736b1849a83f2c5694fbe09c53b GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$h^>lFz(Kw&{<9vg>5sw~gS5O!4 zr|{HuUFIBKiQyL}eBJ-L{`UVT|6_O~L{G%N{Wbre{kQtZ_0LvEhC#5QQ<|d}62BjvZR2H60wE-$h^mK6y(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz1H+_;eX)`ni0%X8XBDc-`=Ph(Uan2 zYsR{H!kvIN--9isvHznRsC#5QQ<|d}62BjvZR2H60wE-$h_H=O!(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz4q@v|B?28{s)#N@CGn3@%_y|zAV9T z66e<&B4?b6oF&azg|C(V&1ZbI_D}pL`}(^FT2yXwG1Ph~$Q@h8mJYOz!PC{xWt~$( F699+YQR)By literal 0 HcmV?d00001 diff --git a/doc/app/images/date.png b/doc/app/images/date.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fP)IO9T&v~?D!=C@G6X*U1@h2}>2WE%HrrsjTfQsh6N9%SR25A5rkWp0g zzi;-6|3HJE;58sAyX1e@^d7EwiKQLb00%dp|5+t<{|l;G!D3eSuFDma zRCxr2MVY_`ELgLXqo}ssqp5E;*r|opZT~&|!~VN?1^mw`Yxp0VmiIp*r|Ey~#AW|W zTBd;IxVd?%*x1<_!3Ip2yP9Rn!u1aqt=siKx4a3At0%7dKV|u@|9wlg|7x7R;eT!K z{QuFp&Huxb3&AdAW?^~2z`(!^HUQ{cR*=op7H|BYU0VMi3A-|5H&#ol!zs_8lnTUg(&PtE($2Dhdk=&(F^R z|KGZGj(DV`tD_*NsU$2QNCCXqf9n(sfdh~LzJJdCa}5CGoUI+JZJBOCDz({abl~fE zw*5kfzVoR6cNi2r#C!ZEH0O;NW@rIh| zlqsqSSs9s#;sV;-@|>77A1W_O_DV`91Pq4Kz`Z(PaO&pn=GOMkuU$ROkc5GuVd!Y* zcn`UMYkYq7V07o@rsi~>-ziMLT zG+?a49zQWzia{TFcs{FKj#dh}e#z5@`O3omC>ELXboP2cR7WT?J@&ao#fn-I;sJ*F zD;=5p9?%y~V{F{q4^{|Zlt~d?*Ve!iWj&E%8@h^*gN$V29v5mAsN{O(ULD=kFMd^> zzLGLp)CZ#Qm6Q%3+`@kXtfre9GnE->Ai(oKKDoxtH@hRaB&C1e=IHR>I8;havNP_A z5Rq#nPVBdI5VpJ;S&et6>VVp>c?LwQ)tZWlq#H^i>)VP@16GREXU98`irCrvkEecY zkv~S7^T>M0*)Mb{LvE6`M77!t_ZXXI^`uU6W|L`YE-^~uca*s^)=F=9o*rxs>$qx+ zN_$rAd`ahYK2^cpF)HkQ1(Vq|Urh;b~<55D)DL$EUNo=p_A6VQ1A+M~) zfa$>U0O5Rbu4r3$+|O$+gUQaOR@{dPsf3U1Dln%z0(Y0xq^w4=AKW8UMLXPC9RL7* zZ3?i~&mg|kvE%&Q2{D=<{q^E0^^uNwISF-V^g!SN_6Pp zHm8=*qyzo0O&|aW=mQ}BV^c}pv_6$imk>cA#v4GgKI?F@S#sYw42|o9Jp1uLDt+Ls z2-H#~>q=LQWTF;nU7xJYKH2KCI4{O5B$T{{EgN}dE+rE|#F+n@O!gj|u;Xxe?Su03 z2tWqC_4M@)#<@OoQ{pg&@m`>d=YYXNQlKHoj2tjT2nB<`FCZcENCi2SLd5c#Iz{+w= zQMis*31e?RPgP7h#4AOzY&hE#R4n&Ii?x5Yq0)?J7KNcBj@XdX zlWZ;>n^k?`V`54w4oMu!H=JW%u_9}!!vS4^ZMC2#K+@g2!t)G5*y)(xiYlL_px35D zIhY0lK348EIpV!%r-=F;O(7xbv>oQP6>|(>Opp4COU-9M>Q6ub0PdDCFo(En#x&eN zGni{g@pt^Yi&Zk-WUSBg%!GQT&imw!)F&}=v0^+ zPAeQFDhtKVnUuxMHpDJZ^)IYcqn3l$E3tGu>6%O0JW{Qd&uUAT_CJz)Db-2{$Z4Cq zibD~-93PZJRMP~xt4_LEY#WADM=C$k2DOim8}|&T7PflIw)ySUdh%=c{&;)e+r`Hd z>F)2L5sYyl@Pwfv-Z+Q9(~d^Q%E@BrXlV!+zKk$1SUf5lN)jz7MS>v}FnGm>Qbf5( zWmQ8>Y4OMAhWe&Lk?b!b?Oi z7q@cwX@48D4*Plhd-GIrduvP}Ef)tlzfP@U!q&vPH#vyU*UZF+Z1UXs%zV%z6LOs+ zcaVxUJ2&!|`1z(BM}Lk=9HZd_-+C?1s|j(*3pM}K)5P_O^ZvgjpgCOOIH^P=rz zrnafS&0I?@i8t47Fuv>lf^b*BgG?Gr8}Rx=$^MeEIq58C~R;2W5b2+Z6DSOmY&y?jM>PP zmCH(!b;p5a z08~hSk!QD03@!sbLen@urU{Gbn>9K(ikm zl#3h~9C5N=ig9Rs_qtTd=#qk`!ZGs7NvnMZ+uzd@j(?Rvpko)yuH)l~lSKOGS)aBD z7_OmZBdg=SE=0lny&|8m4WGI#J|9BJ}fBGEjmh_+3QFV-yUQn(l{$5#`e$ znfciyaIqFV2bzbhDu?7{<$RLQFC=|ws^?CtX)4I8sO>-(eMb1ar-sUdK)fzgqvMk> zZ^Rh)#8kxW$|S;j1HHPvzPz`!bA(!5h*+9K{Bl4}FHo45&3%yp?rDAP3~x@+ME*8G z&}mIK2Y`4+qxB<9rNt@5hlZ)HG`HKZFPtZ(CdCW@wfOGs!rXe8 z-mBDPnj{HhE4Ayk=DMsy6c5sbcY=`3>S0gZ@AO)^Sd)t$p13pA3PJ#dmLDTD1s}Wz z02ItQF~53Ov+wZ2P`n_U4VAJGo_<)CMpqJ3n-|`KmS8^ z<6NCKAuP(yrPRXiqft#MxAk}%PIb2CItemH*OUB$_E1dAyieI6EigfeNusQvXT~9L zwllbU*O+j+W5Qti)3H?p?*D`9lDN^-b^Q#pv$U8g4>1bxARs=rK5^IfwL5Y4H4Pl{I}`^(PH1gYU{*wqe@3$h1OCneK4J4!&MRe zOI%s;fxPp5H9Bx6x{QqEsK*Hpw`q|yBo$$v_ZDvLxN=kn=g9|eG|t{-cBCa zWSp2ev%7lwBK@tsaE^R7fx&OwUGQ#^arcni@_`qa0+Ih<3e19Mf+3k%g+)@Z0>QL0 z!HU9+@@y$mUhU^$zNMt8xbj1@av;@3!U%#u{N{thykrE-duU`-05?CiI5){L zy%f8$xwgE)K0S*=93sE3FU*{+{yF$b=Jm0O!B_#^eoI(9dVeEu^GYSFGhk6VM2eP; zSzH6(dYAFYJ=IMG-RZ%6^E|!yINDStfqn3^nx(_a*MMt-QOJ6FngYP6Flzi8{}M1u z?#m8_6qlhH0|2mB*E(B$x{iH!qh!(v^CX*om>t8m-!J2T%OyrE@fg!+W!rCupnGfE zR%c(5_C1*?Q|=SfK?@c3?d{0gfIk6Qne%2NAR%5!D1e2lrEA=#=314|^y}mlbdU!h zPIxs%P{lm;bYgjBs1qyXxkN6UD66G>mRl#Xr4z~PvG$je@$TcPPQN{YiFfsV4Ahz{ z;nj44T{SOdcs1301%HU_N_w4#jyn9@;-ar3_x<_h`fhkmBj(Iby8UQuwZ@CP3EK}j zbXm^OyhBqkWQ~AeVy^iVB)4Wh)+=b5--vjbtrvx4823+e>fN%unKd+&T&~@;LSp8#I-|*I=U2LzE0($<|LW%XsA_XQ z3>6@ct56W8`Y2>d{!pjH=F?<22mf_ejVWx&mfsLml615hA!(-FDBnc-jDQv_NKXNy z(=8#eu15MT`JMYUW~~vr%z{`z9S|~|_VAY6Ov4M7#Wa(*O#3EWzRYv@&_zy|0i*@_46?BhYPPEpVGD|(a((4@b>fF)l-3jQvCcv z{o)yqMWo1gDTG1vWp=_AJoP5UPxA^qrdn6*;Qh%^sB8>DcX5d2bXh zu<5X$-n2+RVUy$k%$jmfMxgu4ZWTs$Oy{Q?tryu(5>W>)zs2)w zHL}wWPpTzwL2MM8=lkwHp3#jyMe3%J0Av0)*ixKl2lMvu@{j$n91n^pNe|jd``l0N z0RU<BSv#yWY}G&Kb9IUxK2(l z!4Sz=T3g)J1mqFu!`seMX@O}Bp}gyZ@I7GK*7vWYuax&DJ=8$){{tXS> z7+}lu)M-J126vy;?q&^}iM1!NCf1I@E@@H~O-PIlsM7kknVdsATr@pmBo(C~$G6gS z02;)2O@0&~`#fHDeC1eCZZs;s2N)@A;Z!v}6IRW@+w4GRSlrsuorBjfJ?y*o(0gj> zt+;DN~K1pX*UvM(B(Di$9F6+&eT z#bhNzlMA>q^N?j+@1IqnYvK};_)_77Ts{!elaGqJg{uwb(1mX6u=pkfLJYkfX+`v! zOm>eolNV>Nz$A&W8YqkN#cU|#i6j>Ox+Eu4*8Myq{Eq?u*kn+nT zQ@k8?r`Isov^UI2=T{#K~skC)fRP-aj zcrJyQmQ!u>p5&{_zp7xOM(Q%smb6M%g6o4s^>A8#L41?8Ox^e7CM$W~*3!e8F7P`S zK9!26tqJVBt`?fLxM^Gf`xAacdcbz&)u<6pKM?qA_ms76BOQWg0Le^W#?SMIT$jE7 zyw1!lG*$#k#iqZyl9~L_CjIwBb}$%9+e2Vw!1@$nfpvj1y2o4hJabo7^;(V}>++Tz z{|NtdydBeFpKnv*Vg9BTu3P)+)3J?9`*6t|c{b*k>-L!PvY`#5^i1^XCnxh zky})0T&rp6 zJFwUVv-;Dzt2_z1)}rtpHBQH#<-`N0%%UP1TF^VNx2@~Zh_4nbMMxj7zeHTrB&q)a Dl)1NK literal 0 HcmV?d00001 diff --git a/doc/app/images/macFFBgHack.png b/doc/app/images/macFFBgHack.png new file mode 100644 index 0000000000000000000000000000000000000000..c6473b324ee1dae1faaacc0826639833f551116c GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIEX7WqAsj$Z!;#Vf4nJ za0`Jjl>Qs8<JF;+Fd5q0wCR k?u=~bH}2*0f`J3~k>FVdQ&MBb@0BAfpf&c&j literal 0 HcmV?d00001 diff --git a/doc/app/images/package.png b/doc/app/images/package.png new file mode 100644 index 0000000000000000000000000000000000000000..da3c2a2d74bab159ba0f65d7db601768258afcb2 GIT binary patch literal 853 zcmV-b1FHOqP)5TQ^(M5v$(QKVE?W+9X! z*o}&~6c?_FreF)9NJB7b5Nbn{G0n4+%uJhR9(V5R|NFTpb|HgjefT!tIhLx@DR+N) zV+fHiR5Yt19}k|KnCsND{tH-`IMJ)3AE?OtyZ4>Un|6(d%h#JK`i&a7^xW9>`yBy` zS4SOHeOpC7$?hH5-#7Rswiue_8Ju*2N@$58=a#2OTA3png`w3v->gWif7t%e$ z$NLVS!tFT#8WL|Wa&K~+{%4P2cRfwesYV1_!F=3OaRVHl(>=`%&{x*s30c}#CNE@&;ItrAv!f!)Oy$Q9t$uS=(sD$-J{T*^(8Eez1E-l3}} zPrfHZ1`qsIFe&gipuL8-IZbo2Yg{lFGKs?ZZWcOaOdk*3`5T;$?AjbG1#`B510Er^h2)2r3Y{!8_2Gj=$KzuN5 zaErtW8W_Y2iJJjY)5pmTVJoPJYpanPOEuYHclM^C1F>${hFRpdi8a<2H|Xudf78bm(zwJ9`K%6I?q*Ua~ fW9JvIbn5*B+_J)rUMBs>00000NkvXXu0mjfH&TkY literal 0 HcmV?d00001 diff --git a/doc/app/images/page_green.png b/doc/app/images/page_green.png new file mode 100644 index 0000000000000000000000000000000000000000..de8e003f9fb8752c09e7f3655d5d8664b5c62fc3 GIT binary patch literal 621 zcmV-z0+RiSP)QqUjAtB;_Vvt6}AS_5YgM`Uqu`yva+H8^=4U$e4gHb}u zAQ2N{V3A%pO|?Pv?tb6z=jC}SiRa$G^v3q?*6XcYz$p|cq{uLj@#~Fi`J(>5{@&&N zy%T^+;>8cXx%|o77anP?&W1?1A(>-T49z9pyeCl@7YI+Si zKti7=B~``}TImz(G{0PnlQA3P#MAd}sorMjkP!50B7$nAkU^%#nl{Q9lW0@}9fE-> zN(q7tRuiC_T1r|BBtVBTlQ2+70$Rf;eF`Z;lx46Cpu-rEgb)EBKq(b^W8l<^We(`D z43?0=01z<3G6+UUv6`CsWCk6^93!#+<;ws7007{zS3k2k9-zZKFO~(k`>s0y006+1 zgF_jyIhsL-`FMf~JL~C=cV75(CrJ|q;MVO961G=O zm9d)YpJg5g(4i_HKL75eSE}mq$Y}r}hyVdcV~p>6a}oXr80q`oj%+s700000NkvXX Hu0mjfPs|!l literal 0 HcmV?d00001 diff --git a/doc/app/images/page_white_text.png b/doc/app/images/page_white_text.png new file mode 100644 index 0000000000000000000000000000000000000000..813f712f726c935f9adf8d2f2dd0d7683791ef11 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-%6;pyTSA|c6o&@eC9QG)Hj&ExYL zO&oVL^)+cM^qd@ApywS>pwx0H@RDN}hq;7mU-SKczYQ-hnrr=;iDAQMZQ+*g=YOM= z!QlMQEn7FbaD->uKAYgo_j9)W&$$zS*W9}m(ey0q$&7l-XEWO0Y(9M=SnhLbwy;d>@~SY$Ku*0xPvIOQeV1x7u_z-2-X>_74(yfh7C znXL|3GZ+d2`3re2hs?MKC#5QQ<|d}62BjvZR2H60wE-$R?&;zfqH(@;q9b3Efq-lM(nr^( z=EYR73-9e)UYMWsXy%?aZsD68Yyv^2$~6QgEcljw%kx>O(f-gQ?@fOOx3A-0+Qw?O zRx~W)kn~Qe2d6f9nMG#g9Q04Mk==M~N!Dglvxk!fgVh#w@ZV$IY1+Xc`d{d2UcaP~ zfWp)_Ivqj}l2SPy^9ZWy6rG9Yx4v67_uA&&9|XA~5-#3)W3%em1peD8RWH^#O%XoM zxMPud%}GTj#~*+7JMxTd!`{^Q+>(D3*|@KV`*G2;{QnANOxu1$r2xIe;OXk;vd$@? F2>@zac~<}c literal 0 HcmV?d00001 diff --git a/doc/app/images/plugin.png b/doc/app/images/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..6187b15aec001b7080b51a5f944f07591f26cc15 GIT binary patch literal 591 zcmV-V0eEcNHZMNv|IbJ-M`( zKwWL~opzjJe^WpCmV9E;(0&ut2;4va_(#>M8)>9$R5viQnf(Nkh~VM$y>J(jqb$cj z+nL1Nm|mV)Gm|9MnHf*7Ja4OEAQz__^LRKOLEwqpiGV^^A*T=#&inGm-62Xs;dnSp zKj&H9T*boh2i)W+(n27l!C)>fq|L%VB1i ziC4p;NwV_}ZjW7$LRW#(_bKF#hp=!IqNO26Z*w2+LEwx{PVnZ&Sn}T;mtzb$;qA*nT@@+ zV5uQ@iXDTPoTbV#FRr~z04|PPh`wXTNoCm9*tG&?e3+fYl>K6+&3|Cc$KOpL`ER+_ dcRl5U#9zn6ZO}GFk7R5;7c zlif>`Q5?tj7Yw@ZCMtTF^Q|ZedeJhM%QPCR*bs8V79p$QTo7e94yQNXRs-{0?hOn_-8n0AMO@u1Ts zNl8QzJs1#rz%RBt?ux>l+amAvh+J!{$lkaqv}+Erb-6j2xp>K4GLQnNB*W`hFg*?P z^AL@~(h~Z+wfcWEXHqV^Tq-#z$7Y#o0;yFxA!00F}F2dX# zjE$iOgT#G4*1TR6kB1Gnn@>$meCh2a>c5YuIvFn-R2W@>4@M*m@-|jiDV?b)bccgA zyPfsMM!rjy>+1O2)5Eg29Z_*2p&qGnmS!OH?vZ(4>QB01d>j%9n4QINxkyT(Dos?I zjaWF$*IQmh`SF-?xU%xMEfjq1=6qY*g&lgG_cXv$BGoIWyfO5 zp>pdV*O+y=&6@N2WWFo(%RtT`Q(H^6zn^a%epE~Kx^mEJ{c8`luC$nc*z9j|4Ms8aJK-la^5T)AZ%#@G{_P{NCN^P z(J0zvSn~SSm(Ur);-M~8^*;61*VRI`T1BN&LAhK;sZ>I-SVW;vfUfJv=ko^ugnc0x zhJodBxe>iyk3%w<%wC8holUJ4(iv>tL{`DQt zPOsyUbO_Cmc&*iHkqbm3ku`|GcC^OhF>jj9W*GkH;^g!iUVpib_h*=@udp4h(P+e*zL_~ZmJjh(y^BxULwq>9zXoYE8sq{#pN~U0C6!8vY)5N2 z9P*}mw}7X$O^qTtJef1ACWvJT9^wt-)Zh0r~j#0bT`f;-zv6 z^Tmw22!%rMcs!TaUX<-8s;X-B`+Xbo+_uWuFa z1yIPc?DTrQ7KvRhmt*TG|L=EYQ=LqFX;=Lp`4}jx6BE-@00000NkvXXu0mjf=s_29 literal 0 HcmV?d00001 diff --git a/doc/app/images/wrench.png b/doc/app/images/wrench.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8213fef5ab969f03189d4367e32e597e38bd7f GIT binary patch literal 610 zcmV-o0-gPdP)^jb z4`0v}DG1te)wmeb(>p90leRz?_mO+^JKy=v&2<29Od6?F%9%(c8los#f*@G`-%W&* z$)uBj2i@u-@SgX}gtyWPe6d*|w6h%R? zScK2#Yn%$sum0cy>90DmY*i{1XqpClEtktsRTZ)lCUe z<FogV^*tm>8*AlX za4oiR!&85LrobG57qUHUX#{>Vz(RHpB5|@>9O6N$jqB8>%($0wxE5R3)b>Y~xtCo$ zCgEk&A?_#IxHdN)9tqre^o{ho4{?hmPuf@^@I3-wncaRd%|~O3xbrKY=&TiwPYkJroM{;WUQTuMY8vpg}f4o)2%U3C;eEDoiEh?94d(rV57VIF#8VqzW$HrDC|#U`x@QDbgi zVl)t9GGz&YY#D?gc%>hISA+_EBpnXt#pnC`p6@xw0$8TCbULjhlgVx(kuc)%xbgqq zR5+DNDFRN0!y)7Gm}oT0i39}h4h928qY?Rho^UvPGJ#kuW|-Amtrn`Pmd&+bFo@sp z$LI4IQw7BG?|#2ewOS<<3VjL$0=lMY^m;wqZujv5kx1l%Sl;V&Iy4#$ip3&@LV2!7vhhN=PCz%^9v24`qb(+m4W?!q-&~=?ssf5GfnAmJKV;3bvpDm0(NhahZ=&^sqo6Odj6>)Dq_3p~4~ zvb`d3Mydwjt&Df^hVmLtI2x=U&h9(JVYX-!y~z3zi;1>=LY;o(bL$(Yf$lf)dMf0-u^0HrpTG Wk@)HE*94aU0000m+BBgry{~j2fHLegbHP( zrgXNbr0}2;^nywdjLjZe?uxtrd3D(pZH@fFFc0{BW_~jxoO1w7-VX;6vK@ROA$$R6 zEmo;Ht-Mj|>5jUy{bQ^V5@53LRI8AgLpUm|m+15sqcz@QtVSo|oz7ArM8?pIn+>gN z0b=4_b5O|4A*;Q+vc9Vqr~%3V155*NV~@gTz}KSUiKB-uJzjMZ>5%Q#n24H!V{ zTY(LLAE*NAHZ}C#wnj%Bw5OFIkRhkkAW#kDC3j9Wm0YXRaXlyyp>#mVfYG)eC;@ab zDb=T-BCAY4LI(Z@GOTr2V_A{pRwSmz+8Be>CjAw(=gnbVWAeguvZa93JmL(EDxv1m z0OP4q=fpAK1Mq!C2`OkEn37o;m#wF#(t(8Pu#S?2f#x<~4EO{@fmm`p9veD6RZ_jp z@Au4};q&`XuKEYgIiB4((kgxOs#YdqJw0fY>9^K_agEu5+$#k;w#%I2N>n_?)YIqu z`tq&#_^p?-%K*U0^}|7+9U(&k0?s;=r=uCZ%)H9_edH8wK}gB(nUB1FFk+2Ol%BXV zHoFY`D~2x|2 + + + + + + + Rails Application Documentation + + + + + + + + + + + + +

Rails Application Documentation

+ + +

This is the API documentation for 'Rails Application Documentation'.

+ + + + +

Files

+ + + +

Classes/Modules

+ + +

Methods

+ + +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 2.

+
+ + diff --git a/doc/app/js/darkfish.js b/doc/app/js/darkfish.js new file mode 100644 index 0000000..7a2f44c --- /dev/null +++ b/doc/app/js/darkfish.js @@ -0,0 +1,118 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-description,.method-heading').click( showSource ); +}; + +function toggleDebuggingSection() { + $('.debugging-section').slideToggle(); +}; + +function hookDebuggingToggle() { + $('#debugging-toggle img').click( toggleDebuggingSection ); +}; + +function hookQuickSearch() { + $('.quicksearch-field').each( function() { + var searchElems = $(this).parents('.section').find( 'li' ); + var toggle = $(this).parents('.section').find('h3 .search-toggle'); + // console.debug( "Toggle is: %o", toggle ); + var qsbox = $(this).parents('form').get( 0 ); + + $(this).quicksearch( this, searchElems, { + noSearchResultsIndicator: 'no-class-search-results', + focusOnLoad: false + }); + $(toggle).click( function() { + // console.debug( "Toggling qsbox: %o", qsbox ); + $(qsbox).toggle(); + }); + }); +}; + +function highlightTarget( anchor ) { + console.debug( "Highlighting target '%s'.", anchor ); + + $("a[name]").each( function() { + if ( $(this).attr("name") == anchor ) { + if ( !$(this).parent().parent().hasClass('target-section') ) { + console.debug( "Wrapping the target-section" ); + $('div.method-detail').unwrap( 'div.target-section' ); + $(this).parent().wrap( '
' ); + } else { + console.debug( "Already wrapped." ); + } + } + }); +}; + +function highlightLocationTarget() { + console.debug( "Location hash: %s", window.location.hash ); + if ( ! window.location.hash || window.location.hash.length == 0 ) return; + + var anchor = window.location.hash.substring(1); + console.debug( "Found anchor: %s; matching %s", anchor, "a[name=" + anchor + "]" ); + + highlightTarget( anchor ); +}; + +function highlightClickTarget( event ) { + console.debug( "Highlighting click target for event %o", event.target ); + try { + var anchor = $(event.target).attr( 'href' ).substring(1); + console.debug( "Found target anchor: %s", anchor ); + highlightTarget( anchor ); + } catch ( err ) { + console.error( "Exception while highlighting: %o", err ); + }; +}; + + +$(document).ready( function() { + hookSourceViews(); + hookDebuggingToggle(); + hookQuickSearch(); + highlightLocationTarget(); + + $('ul.link-list a').bind( "click", highlightClickTarget ); +}); diff --git a/doc/app/js/jquery.js b/doc/app/js/jquery.js new file mode 100644 index 0000000..afe9e74 --- /dev/null +++ b/doc/app/js/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.6 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-09-25 09:50:52 -0700 (Thu, 25 Sep 2008) $ + * $Rev: 38 $ + */ +(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else +return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file diff --git a/doc/app/js/quicksearch.js b/doc/app/js/quicksearch.js new file mode 100644 index 0000000..70dbd33 --- /dev/null +++ b/doc/app/js/quicksearch.js @@ -0,0 +1,114 @@ +/** + * + * JQuery QuickSearch - Hook up a form field to hide non-matching elements. + * $Id: quicksearch.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ +jQuery.fn.quicksearch = function( target, searchElems, options ) { + // console.debug( "Quicksearch fn" ); + + var settings = { + delay: 250, + clearButton: false, + highlightMatches: false, + focusOnLoad: false, + noSearchResultsIndicator: null + }; + if ( options ) $.extend( settings, options ); + + return jQuery(this).each( function() { + // console.debug( "Creating a new quicksearch on %o for %o", this, searchElems ); + new jQuery.quicksearch( this, searchElems, settings ); + }); +}; + + +jQuery.quicksearch = function( searchBox, searchElems, settings ) { + var timeout; + var boxdiv = $(searchBox).parents('div').eq(0); + + function init() { + setupKeyEventHandlers(); + focusOnLoad(); + }; + + function setupKeyEventHandlers() { + // console.debug( "Hooking up the 'keypress' event to %o", searchBox ); + $(searchBox). + unbind( 'keyup' ). + keyup( function(e) { return onSearchKey( e.keyCode ); }); + $(searchBox). + unbind( 'keypress' ). + keypress( function(e) { + switch( e.which ) { + // Execute the search on Enter, Tab, or Newline + case 9: + case 13: + case 10: + clearTimeout( timeout ); + e.preventDefault(); + doQuickSearch(); + break; + + // Allow backspace + case 8: + return true; + break; + + // Only allow valid search characters + default: + return validQSChar( e.charCode ); + } + }); + }; + + function focusOnLoad() { + if ( !settings.focusOnLoad ) return false; + $(searchBox).focus(); + }; + + function onSearchKey ( code ) { + clearTimeout( timeout ); + // console.debug( "...scheduling search." ); + timeout = setTimeout( doQuickSearch, settings.delay ); + }; + + function validQSChar( code ) { + var c = String.fromCharCode( code ); + return ( + (c == ':') || + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') + ); + }; + + function doQuickSearch() { + var searchText = searchBox.value; + var pat = new RegExp( searchText, "im" ); + var shownCount = 0; + + if ( settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).hide(); + } + + // All elements start out hidden + $(searchElems).each( function(index) { + var str = $(this).text(); + + if ( pat.test(str) ) { + shownCount += 1; + $(this).fadeIn(); + } else { + $(this).hide(); + } + }); + + if ( shownCount == 0 && settings.noSearchResultsIndicator ) { + $('#' + settings.noSearchResultsIndicator).slideDown(); + } + }; + + init(); +}; diff --git a/doc/app/js/thickbox-compressed.js b/doc/app/js/thickbox-compressed.js new file mode 100644 index 0000000..3a3fdae --- /dev/null +++ b/doc/app/js/thickbox-compressed.js @@ -0,0 +1,10 @@ +/* + * Thickbox 3 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2007 cody lindley + * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php +*/ + +var tb_pathToImage = "../images/loadingAnimation.gif"; + +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'><4 5=\'8\'>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' />");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D&1d;&1d;2T &2R;"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;&2O; 2N"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"<4 5=\'2A\'>1l 1k 1j 1s");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s ")}n{$("#B").N();$("#8").q(" ")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"<4 5=\'2e\'>1l 1k 1j 1s<4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i + + + + + + + File: flagable.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2019-01-01 18:55:20 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/lib/is_commentable_rb.html b/doc/app/lib/is_commentable_rb.html new file mode 100644 index 0000000..d7b1e08 --- /dev/null +++ b/doc/app/lib/is_commentable_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: is_commentable.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/lib/like_voteable_rb.html b/doc/app/lib/like_voteable_rb.html new file mode 100644 index 0000000..5fcec22 --- /dev/null +++ b/doc/app/lib/like_voteable_rb.html @@ -0,0 +1,52 @@ + + + + + + + + File: like_voteable.rb [Rails Application Documentation] + + + + + + + + + + +
+
+
Last Modified
+
2018-12-28 23:46:15 +0100
+ + +
Requires
+
+
    + +
+
+ + + +
+
+ +
+ +
+

Description

+ +
+ +
+ + + diff --git a/doc/app/rdoc.css b/doc/app/rdoc.css new file mode 100644 index 0000000..ea91421 --- /dev/null +++ b/doc/app/rdoc.css @@ -0,0 +1,763 @@ +/* + * "Darkfish" Rdoc CSS + * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Base Green is: #6C8C22 */ + +*{ padding: 0; margin: 0; } + +body { + background: #efefef; + font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif; +} +body.class, body.module, body.file { + margin-left: 40px; +} +body.file-popup { + font-size: 90%; + margin-left: 0; +} + +h1 { + font-size: 300%; + text-shadow: rgba(135,145,135,0.65) 2px 2px 3px; + color: #6C8C22; +} +h2,h3,h4 { margin-top: 1.5em; } + +:link, +:visited { + color: #6C8C22; + text-decoration: none; +} +:link:hover, +:visited:hover { + border-bottom: 1px dotted #6C8C22; +} + +pre { + background: #ddd; + padding: 0.5em 0; +} + + +/* @group Generic Classes */ + +.initially-hidden { + display: none; +} + +.quicksearch-field { + width: 98%; + background: #ddd; + border: 1px solid #aaa; + height: 1.5em; + -webkit-border-radius: 4px; +} +.quicksearch-field:focus { + background: #f1edba; +} + +.missing-docs { + font-size: 120%; + background: white url(images/wrench_orange.png) no-repeat 4px center; + color: #ccc; + line-height: 2em; + border: 1px solid #d00; + opacity: 1; + padding-left: 20px; + text-indent: 24px; + letter-spacing: 3px; + font-weight: bold; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; +} + +.target-section { + border: 2px solid #dcce90; + border-left-width: 8px; + padding: 0 1em; + background: #fff3c2; +} + +/* @end */ + + +/* @group Index Page, Standalone file pages */ +body.indexpage { + margin: 1em 3em; +} +body.indexpage p, +body.indexpage div, +body.file p { + margin: 1em 0; +} + +.indexpage .rdoc-list p, .file .rdoc-list p { + margin: 0em 0; +} + +.indexpage ol, +.file #documentation ol { + line-height: 160%; +} + +.indexpage ul, +.file #documentation ul { + line-height: 160%; + list-style: none; +} +.indexpage ul :link, +.indexpage ul :visited { + font-size: 16px; +} + +.indexpage li, +.file #documentation li { + padding-left: 20px; +} + +.indexpage ol, +.file #documentation ol { + margin-left: 20px; +} + +.indexpage ol > li, +.file #documentation ol > li { + padding-left: 0; +} + +.indexpage ul > li, +.file #documentation ul > li { + background: url(images/bullet_black.png) no-repeat left 4px; +} +.indexpage li.module { + background: url(images/package.png) no-repeat left 4px; +} +.indexpage li.class { + background: url(images/ruby.png) no-repeat left 4px; +} +.indexpage li.file { + background: url(images/page_white_text.png) no-repeat left 4px; +} +.file li p, +.indexpage li p { + margin: 0 0; +} + +/* @end */ + +/* @group Top-Level Structure */ + +.class #metadata, +.file #metadata, +.module #metadata { + float: left; + width: 260px; +} + +.class #documentation, +.file #documentation, +.module #documentation { + margin: 2em 1em 5em 300px; + min-width: 340px; +} + +.file #metadata { + margin: 0.8em; +} + +#validator-badges { + clear: both; + margin: 1em 1em 2em; +} + +/* @end */ + +/* @group Metadata Section */ +#metadata .section { + background-color: #dedede; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border: 1px solid #aaa; + margin: 0 8px 16px; + font-size: 90%; + overflow: hidden; +} +#metadata h3.section-header { + margin: 0; + padding: 2px 8px; + background: #ccc; + color: #666; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-bottom: 1px solid #aaa; +} +#metadata #home-section h3.section-header { + border-bottom: 0; +} + +#metadata ul, +#metadata dl, +#metadata p { + padding: 8px; + list-style: none; +} + +#file-metadata ul { + padding-left: 28px; + list-style-image: url(images/page_green.png); +} + +dl.svninfo { + color: #666; + margin: 0; +} +dl.svninfo dt { + font-weight: bold; +} + +ul.link-list li { + white-space: nowrap; +} +ul.link-list .type { + font-size: 8px; + text-transform: uppercase; + color: white; + background: #969696; + padding: 2px 4px; + -webkit-border-radius: 5px; +} + +/* @end */ + + +/* @group Project Metadata Section */ +#project-metadata { + margin-top: 3em; +} + +.file #project-metadata { + margin-top: 0em; +} + +#project-metadata .section { + border: 1px solid #aaa; +} +#project-metadata h3.section-header { + border-bottom: 1px solid #aaa; + position: relative; +} +#project-metadata h3.section-header .search-toggle { + position: absolute; + right: 5px; +} + + +#project-metadata form { + color: #777; + background: #ccc; + padding: 8px 8px 16px; + border-bottom: 1px solid #bbb; +} +#project-metadata fieldset { + border: 0; +} + +#no-class-search-results { + margin: 0 auto 1em; + text-align: center; + font-size: 14px; + font-weight: bold; + color: #aaa; +} + +/* @end */ + + +/* @group Documentation Section */ +.description { + font-size: 100%; + color: #333; +} + +.description p { + margin: 1em 0.4em; +} + +.description li p { + margin: 0; +} + +.description ul { + margin-left: 1.5em; +} +.description ul li { + line-height: 1.4em; +} + +.description dl, +#documentation dl { + margin: 8px 1.5em; + border: 1px solid #ccc; +} +.description dl { + font-size: 14px; +} + +.description dt, +#documentation dt { + padding: 2px 4px; + font-weight: bold; + background: #ddd; +} +.description dd, +#documentation dd { + padding: 2px 12px; +} +.description dd + dt, +#documentation dd + dt { + margin-top: 0.7em; +} + +#documentation .section { + font-size: 90%; +} + +#documentation h2.section-header { + margin-top: 2em; + padding: 0.75em 0.5em; + background: #ccc; + color: #333; + font-size: 175%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#documentation h3.section-header { + margin-top: 2em; + padding: 0.25em 0.5em; + background-color: #dedede; + color: #333; + font-size: 150%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +#constants-list > dl, +#attributes-list > dl { + margin: 1em 0 2em; + border: 0; +} +#constants-list > dl dt, +#attributes-list > dl dt { + padding-left: 0; + font-weight: bold; + font-family: Monaco, "Andale Mono"; + background: inherit; +} +#constants-list > dl dt a, +#attributes-list > dl dt a { + color: inherit; +} +#constants-list > dl dd, +#attributes-list > dl dd { + margin: 0 0 1em 0; + padding: 0; + color: #666; +} + +.documentation-section h2 { + position: relative; +} + +.documentation-section h2 a { + position: absolute; + top: 8px; + right: 10px; + font-size: 12px; + color: #9b9877; + visibility: hidden; +} + +.documentation-section h2:hover a { + visibility: visible; +} + +/* @group Method Details */ + +#documentation .method-source-code { + display: none; +} + +#documentation .method-detail { + margin: 0.5em 0; + padding: 0.5em 0; + cursor: pointer; +} +#documentation .method-detail:hover { + background-color: #f1edba; +} +#documentation .method-heading { + position: relative; + padding: 2px 4px 0 20px; + font-size: 125%; + font-weight: bold; + color: #333; + background: url(images/brick.png) no-repeat left bottom; +} +#documentation .method-heading :link, +#documentation .method-heading :visited { + color: inherit; +} +#documentation .method-click-advice { + position: absolute; + top: 2px; + right: 5px; + font-size: 10px; + color: #9b9877; + visibility: hidden; + padding-right: 20px; + line-height: 20px; + background: url(images/zoom.png) no-repeat right top; +} +#documentation .method-detail:hover .method-click-advice { + visibility: visible; +} + +#documentation .method-alias .method-heading { + color: #666; + background: url(images/brick_link.png) no-repeat left bottom; +} + +#documentation .method-description, +#documentation .aliases { + margin: 0 20px; + color: #666; +} + +#documentation .method-description p, +#documentation .aliases p { + line-height: 1.2em; +} + +#documentation .aliases { + padding-top: 4px; + font-style: italic; + cursor: default; +} +#documentation .method-description p { + padding: 0; +} +#documentation .method-description p + p { + margin-bottom: 0.5em; +} +#documentation .method-description ul { + margin-left: 1.5em; +} + +#documentation .attribute-method-heading { + background: url(images/tag_green.png) no-repeat left bottom; +} +#documentation #attribute-method-details .method-detail:hover { + background-color: transparent; + cursor: default; +} +#documentation .attribute-access-type { + font-size: 60%; + text-transform: uppercase; + vertical-align: super; + padding: 0 2px; +} +/* @end */ + +/* @end */ + + + +/* @group Source Code */ + +div.method-source-code { + background: #262626; + color: #efefef; + margin: 1em; + padding: 0.5em; + border: 1px dashed #999; + overflow: hidden; +} + +div.method-source-code pre { + background: inherit; + padding: 0; + color: white; + overflow: auto; +} + +/* @group Ruby keyword styles */ + +.ruby-constant { color: #7fffd4; background: transparent; } +.ruby-keyword { color: #00ffff; background: transparent; } +.ruby-ivar { color: #eedd82; background: transparent; } +.ruby-operator { color: #00ffee; background: transparent; } +.ruby-identifier { color: #ffdead; background: transparent; } +.ruby-node { color: #ffa07a; background: transparent; } +.ruby-comment { color: #b22222; font-weight: bold; background: transparent; } +.ruby-regexp { color: #ffa07a; background: transparent; } +.ruby-value { color: #7fffd4; background: transparent; } + +/* @end */ +/* @end */ + + +/* @group File Popup Contents */ + +.file #metadata, +.file-popup #metadata { +} + +.file-popup dl { + font-size: 80%; + padding: 0.75em; + background-color: #dedede; + color: #333; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} +.file dt { + font-weight: bold; + padding-left: 22px; + line-height: 20px; + background: url(images/page_white_width.png) no-repeat left top; +} +.file dt.modified-date { + background: url(images/date.png) no-repeat left top; +} +.file dt.requires { + background: url(images/plugin.png) no-repeat left top; +} +.file dt.scs-url { + background: url(images/wrench.png) no-repeat left top; +} + +.file dl dd { + margin: 0 0 1em 0; +} +.file #metadata dl dd ul { + list-style: circle; + margin-left: 20px; + padding-top: 0; +} +.file #metadata dl dd ul li { +} + + +.file h2 { + margin-top: 2em; + padding: 0.75em 0.5em; + background-color: #dedede; + color: #333; + font-size: 120%; + border: 1px solid #bbb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/* @end */ + + + + +/* @group ThickBox Styles */ +#TB_window { + font: 12px Arial, Helvetica, sans-serif; + color: #333333; +} + +#TB_secondLine { + font: 10px Arial, Helvetica, sans-serif; + color:#666666; +} + +#TB_window :link, +#TB_window :visited { color: #666666; } +#TB_window :link:hover, +#TB_window :visited:hover { color: #000; } +#TB_window :link:active, +#TB_window :visited:active { color: #666666; } +#TB_window :link:focus, +#TB_window :visited:focus { color: #666666; } + +#TB_overlay { + position: fixed; + z-index:100; + top: 0px; + left: 0px; + height:100%; + width:100%; +} + +.TB_overlayMacFFBGHack {background: url(images/macFFBgHack.png) repeat;} +.TB_overlayBG { + background-color:#000; + filter:alpha(opacity=75); + -moz-opacity: 0.75; + opacity: 0.75; +} + +* html #TB_overlay { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_window { + position: fixed; + background: #ffffff; + z-index: 102; + color:#000000; + display:none; + border: 4px solid #525252; + text-align:left; + top:50%; + left:50%; +} + +* html #TB_window { /* ie6 hack */ + position: absolute; + margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_window img#TB_Image { + display:block; + margin: 15px 0 0 15px; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + border-top: 1px solid #666; + border-left: 1px solid #666; +} + +#TB_caption{ + height:25px; + padding:7px 30px 10px 25px; + float:left; +} + +#TB_closeWindow{ + height:25px; + padding:11px 25px 10px 0; + float:right; +} + +#TB_closeAjaxWindow{ + padding:7px 10px 5px 0; + margin-bottom:1px; + text-align:right; + float:right; +} + +#TB_ajaxWindowTitle{ + float:left; + padding:7px 0 5px 10px; + margin-bottom:1px; + font-size: 22px; +} + +#TB_title{ + background-color: #6C8C22; + color: #dedede; + height:40px; +} +#TB_title :link, +#TB_title :visited { + color: white !important; + border-bottom: 1px dotted #dedede; +} + +#TB_ajaxContent{ + clear:both; + padding:2px 15px 15px 15px; + overflow:auto; + text-align:left; + line-height:1.4em; +} + +#TB_ajaxContent.TB_modal{ + padding:15px; +} + +#TB_ajaxContent p{ + padding:5px 0px 5px 0px; +} + +#TB_load{ + position: fixed; + display:none; + height:13px; + width:208px; + z-index:103; + top: 50%; + left: 50%; + margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */ +} + +* html #TB_load { /* ie6 hack */ + position: absolute; + margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); +} + +#TB_HideSelect{ + z-index:99; + position:fixed; + top: 0; + left: 0; + background-color:#fff; + border:none; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + height:100%; + width:100%; +} + +* html #TB_HideSelect { /* ie6 hack */ + position: absolute; + height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); +} + +#TB_iframeContent{ + clear:both; + border:none; + margin-bottom:-1px; + margin-top:1px; + _margin-bottom:1px; +} + +/* @end */ + +/* @group Debugging Section */ + +#debugging-toggle { + text-align: center; +} +#debugging-toggle img { + cursor: pointer; +} + +#rdoc-debugging-section-dump { + display: none; + margin: 0 2em 2em; + background: #ccc; + border: 1px solid #999; +} + + + +/* @end */ diff --git a/lib/flagable.rb b/lib/flagable.rb index 2cee7f1..d4b4762 100644 --- a/lib/flagable.rb +++ b/lib/flagable.rb @@ -66,7 +66,7 @@ module Flagable value=obj.send("flag_"+flag) cstyle=(value) ? "true" :"false" cfm = (fc.nil? || fc["flag_"+flag].nil?) ? {} : {confirm: fc["flag_"+flag]} - link_to ff_icon(fi[flag]), url_for({controller: obj.class.name.tableize,action: :flag, flag: flag, value: !value, theme: nil, locale: nil, id: obj.id}), remote: true, class:("flag-"+cstyle +" flag-"+flag + "-"+cstyle ), id: obj.flaglinkid(flag), data: cfm + link_to ff_icon(fi[flag]), url_for({controller: obj.class.name.tableize,action: :flag, flag: flag, value: !value, theme: nil, locale: nil, id: obj.id}), remote: true, class: ("flag-"+cstyle +" flag-"+flag + "-"+cstyle ), id: obj.flaglinkid(flag), data: cfm end end end