backlog 0.37.2 → 0.41.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/History.txt +128 -0
- data/README.txt +4 -2
- data/bin/backlog +1 -1
- data/lib/array_helper.rb +4 -4
- data/{vendor/plugins → lib}/backlog_jira/README +0 -0
- data/{vendor/plugins → lib}/backlog_jira/Rakefile +0 -0
- data/{vendor/plugins → lib}/backlog_jira/generators/backlog_jira/backlog_jira_generator.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/generators/backlog_jira/templates/migration.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/generators/history_model/history_model_generator.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/fixtures.yml +0 -0
- data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/functional_test.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/model.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/unit_test.rb +0 -0
- data/lib/backlog_jira/init.rb +66 -0
- data/{vendor/plugins → lib}/backlog_jira/install.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/lib/backlog_jira.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/lib/tasks/backlog_jira_tasks.rake +0 -0
- data/{vendor/plugins → lib}/backlog_jira/test/backlog_jira_test.rb +0 -0
- data/{vendor/plugins → lib}/backlog_jira/uninstall.rb +0 -0
- data/lib/big_decimal_yaml_fix.rb +16 -25
- data/lib/tasks/backup.rake +18 -18
- data/lib/time_extras.rb +6 -6
- data/lib/user_system.rb +41 -38
- data/lib/version_from_history.rb +2 -2
- metadata +196 -749
- data/Capfile +0 -2
- data/Gemfile +0 -34
- data/Gemfile.lock +0 -139
- data/MODIFICATIONS.txt +0 -13
- data/Manifest.txt +0 -0
- data/README_LOGIN_SUGAR +0 -194
- data/Rakefile +0 -73
- data/Rakefile~ +0 -73
- data/Screenshot.png +0 -0
- data/app/controllers/absences_controller.rb +0 -67
- data/app/controllers/application_controller.rb +0 -185
- data/app/controllers/application_controller.rb.rails2 +0 -186
- data/app/controllers/customers_controller.rb +0 -51
- data/app/controllers/dashboard_controller.rb +0 -17
- data/app/controllers/estimates_controller.rb +0 -49
- data/app/controllers/groups_controller.rb +0 -65
- data/app/controllers/parties_controller.rb +0 -33
- data/app/controllers/periods_controller.rb +0 -242
- data/app/controllers/projects_controller.rb +0 -185
- data/app/controllers/public_holidays_controller.rb +0 -70
- data/app/controllers/search_controller.rb +0 -15
- data/app/controllers/task_files_controller.rb +0 -19
- data/app/controllers/tasks_controller.rb +0 -305
- data/app/controllers/user_controller.rb +0 -251
- data/app/controllers/welcome_controller.rb +0 -29
- data/app/controllers/work_locks_controller.rb +0 -88
- data/app/controllers/works_controller.rb +0 -383
- data/app/helpers/absences_helper.rb +0 -2
- data/app/helpers/application_helper.rb +0 -119
- data/app/helpers/application_helper.rb.rails2 +0 -118
- data/app/helpers/customers_helper.rb +0 -2
- data/app/helpers/dashboard_helper.rb +0 -2
- data/app/helpers/estimates_helper.rb +0 -2
- data/app/helpers/groups_helper.rb +0 -2
- data/app/helpers/parties_helper.rb +0 -2
- data/app/helpers/periods_helper.rb +0 -57
- data/app/helpers/projects_helper.rb +0 -74
- data/app/helpers/public_holidays_helper.rb +0 -2
- data/app/helpers/search_helper.rb +0 -2
- data/app/helpers/task_files_helper.rb +0 -2
- data/app/helpers/tasks_helper.rb +0 -2
- data/app/helpers/user_helper.rb +0 -53
- data/app/helpers/welcome_helper.rb +0 -2
- data/app/helpers/work_locks_helper.rb +0 -2
- data/app/helpers/works_helper.rb +0 -5
- data/app/mailers/user_notify.rb +0 -76
- data/app/models/absence.rb +0 -27
- data/app/models/chart.rb +0 -5
- data/app/models/clock.rb +0 -14
- data/app/models/configuration.rb +0 -2
- data/app/models/customer.rb +0 -2
- data/app/models/estimate.rb +0 -17
- data/app/models/group.rb +0 -16
- data/app/models/party.rb +0 -27
- data/app/models/period.rb +0 -251
- data/app/models/project.rb +0 -49
- data/app/models/public_holiday.rb +0 -13
- data/app/models/report_filter.rb +0 -29
- data/app/models/search_result.rb +0 -8
- data/app/models/sidebar.rb +0 -41
- data/app/models/task.rb +0 -425
- data/app/models/task_file.rb +0 -7
- data/app/models/task_notify.rb +0 -27
- data/app/models/user.rb +0 -146
- data/app/models/work.rb +0 -191
- data/app/models/work_lock.rb +0 -11
- data/app/models/work_lock_nagger.rb +0 -60
- data/app/models/work_lock_notify.rb +0 -43
- data/app/models/works_report_filter.rb +0 -27
- data/app/views/absences/_form.rhtml +0 -10
- data/app/views/absences/edit.rhtml +0 -9
- data/app/views/absences/list.rhtml +0 -25
- data/app/views/absences/new.rhtml +0 -8
- data/app/views/absences/show.rhtml +0 -8
- data/app/views/customers/_form.rhtml +0 -7
- data/app/views/customers/_name_list.rhtml +0 -5
- data/app/views/customers/edit.rhtml +0 -9
- data/app/views/customers/list.rhtml +0 -28
- data/app/views/customers/new.rhtml +0 -8
- data/app/views/customers/show.rhtml +0 -8
- data/app/views/dashboard/show.rhtml +0 -24
- data/app/views/display_notice.rjs +0 -1
- data/app/views/groups/_form.rhtml +0 -7
- data/app/views/groups/edit.rhtml +0 -57
- data/app/views/groups/list.rhtml +0 -26
- data/app/views/groups/new.rhtml +0 -7
- data/app/views/groups/set_member.rjs +0 -1
- data/app/views/layouts/_headers.rhtml +0 -24
- data/app/views/layouts/_left_top.rhtml +0 -33
- data/app/views/layouts/_notice.rhtml +0 -12
- data/app/views/layouts/_shortcuts.rhtml +0 -22
- data/app/views/layouts/_shortcuts_js.rhtml +0 -19
- data/app/views/layouts/mwrt002.html.erb +0 -44
- data/app/views/layouts/wide.rhtml +0 -23
- data/app/views/periods/_burn_down_chart.rhtml +0 -9
- data/app/views/periods/_form.rhtml +0 -74
- data/app/views/periods/_link.rhtml +0 -3
- data/app/views/periods/_show_active.rhtml +0 -61
- data/app/views/periods/_sidebar_block.rhtml +0 -11
- data/app/views/periods/_title.rhtml +0 -18
- data/app/views/periods/edit.rhtml +0 -10
- data/app/views/periods/finish_task.rjs +0 -4
- data/app/views/periods/move_task_to_period.rjs +0 -4
- data/app/views/periods/new.rhtml +0 -9
- data/app/views/periods/order.rjs +0 -0
- data/app/views/periods/reopen_task.rjs +0 -6
- data/app/views/periods/show.rhtml +0 -56
- data/app/views/projects/_buttons.rhtml +0 -4
- data/app/views/projects/_form.rhtml +0 -44
- data/app/views/projects/_name_list.rhtml +0 -5
- data/app/views/projects/edit.rhtml +0 -14
- data/app/views/projects/finish_task.rjs +0 -3
- data/app/views/projects/list.rhtml +0 -16
- data/app/views/projects/move_task_to_period.rjs +0 -3
- data/app/views/projects/new.rhtml +0 -11
- data/app/views/projects/reopen_task.rjs +0 -3
- data/app/views/projects/show.rhtml +0 -39
- data/app/views/public_holidays/_form.rhtml +0 -7
- data/app/views/public_holidays/edit.rhtml +0 -9
- data/app/views/public_holidays/list.rhtml +0 -25
- data/app/views/public_holidays/new.rhtml +0 -8
- data/app/views/public_holidays/show.rhtml +0 -8
- data/app/views/redirect.rjs +0 -1
- data/app/views/search/results.rhtml +0 -40
- data/app/views/task_notify/invite.en.html.erb +0 -13
- data/app/views/task_notify/invite.no.html.erb +0 -13
- data/app/views/tasks/_backlog_header.rhtml +0 -17
- data/app/views/tasks/_completed.rhtml +0 -18
- data/app/views/tasks/_fields_header.rhtml +0 -13
- data/app/views/tasks/_form.rhtml +0 -125
- data/app/views/tasks/_invite.rjs +0 -1
- data/app/views/tasks/_period_header.rhtml +0 -1
- data/app/views/tasks/_task.rhtml +0 -116
- data/app/views/tasks/_update.rjs +0 -2
- data/app/views/tasks/edit.rhtml +0 -81
- data/app/views/tasks/grab.rhtml +0 -9
- data/app/views/tasks/invite.rhtml +0 -9
- data/app/views/tasks/list.rhtml +0 -77
- data/app/views/tasks/list_started.rhtml +0 -62
- data/app/views/tasks/new.rhtml +0 -10
- data/app/views/tasks/notes.rhtml +0 -12
- data/app/views/tasks/start_work.rjs +0 -1
- data/app/views/tasks/update_estimate.rjs +0 -3
- data/app/views/user/_edit.rhtml +0 -31
- data/app/views/user/_password.rhtml +0 -21
- data/app/views/user/change_password.rhtml +0 -19
- data/app/views/user/delete.rhtml +0 -14
- data/app/views/user/edit.rhtml +0 -154
- data/app/views/user/forgot_password.rhtml +0 -19
- data/app/views/user/login.rhtml +0 -33
- data/app/views/user/logout.rhtml +0 -8
- data/app/views/user/set_group.rjs +0 -1
- data/app/views/user/signup.rhtml +0 -15
- data/app/views/user/toggle_work_lock_monitoring.rjs +0 -2
- data/app/views/user/welcome.rhtml +0 -8
- data/app/views/user_notify/change_password.en.html.erb +0 -10
- data/app/views/user_notify/change_password.no.html.erb +0 -10
- data/app/views/user_notify/forgot_password.en.html.erb +0 -11
- data/app/views/user_notify/forgot_password.no.html.erb +0 -11
- data/app/views/user_notify/monitoring.en.html.erb +0 -3
- data/app/views/user_notify/monitoring.no.html.erb +0 -3
- data/app/views/user_notify/monitoring_invitation.en.html.erb +0 -7
- data/app/views/user_notify/monitoring_invitation.no.html.erb +0 -7
- data/app/views/user_notify/signup.en.html.erb +0 -12
- data/app/views/user_notify/signup.no.html.erb +0 -12
- data/app/views/work_lock_notify/lock.en.html.erb +0 -7
- data/app/views/work_lock_notify/lock.no.html.erb +0 -7
- data/app/views/work_lock_notify/nag.en.html.erb +0 -6
- data/app/views/work_lock_notify/nag.no.html.erb +0 -7
- data/app/views/work_locks/_form.rhtml +0 -10
- data/app/views/work_locks/edit.rhtml +0 -9
- data/app/views/work_locks/list.rhtml +0 -25
- data/app/views/work_locks/new.rhtml +0 -8
- data/app/views/work_locks/show.rhtml +0 -8
- data/app/views/works/_buttons.rhtml +0 -2
- data/app/views/works/_description_list.rhtml +0 -5
- data/app/views/works/_form.rhtml +0 -107
- data/app/views/works/_new_row.rhtml +0 -141
- data/app/views/works/_row.rhtml +0 -115
- data/app/views/works/_row_field.rhtml +0 -17
- data/app/views/works/_task_id_list.rhtml +0 -5
- data/app/views/works/_weekly_work_sheet_buttons.rhtml +0 -22
- data/app/views/works/daily_work_sheet.rhtml +0 -108
- data/app/views/works/edit.rhtml +0 -11
- data/app/views/works/list.rhtml +0 -148
- data/app/views/works/list_excel.rhtml +0 -114
- data/app/views/works/new.rhtml +0 -12
- data/app/views/works/show.rhtml +0 -10
- data/app/views/works/timeliste.rhtml +0 -884
- data/app/views/works/update_new_row.rjs +0 -28
- data/app/views/works/update_row.rjs +0 -18
- data/app/views/works/update_time.rjs +0 -3
- data/app/views/works/weekly_work_sheet.rhtml +0 -64
- data/app/views/works/weekly_work_sheet_details.rhtml +0 -102
- data/backlog.gemspec +0 -44
- data/config.ru +0 -4
- data/config/application.rb +0 -11
- data/config/boot.rb +0 -13
- data/config/database.yml +0 -15
- data/config/database.yml~ +0 -17
- data/config/environment.rb +0 -100
- data/config/environments/development.rb +0 -30
- data/config/environments/development.rb.rails2 +0 -26
- data/config/environments/production.rb +0 -33
- data/config/environments/test.rb +0 -24
- data/config/environments/user_environment.rb +0 -21
- data/config/initializers/backtrace_silencers.rb +0 -7
- data/config/initializers/inflections.rb +0 -10
- data/config/initializers/jdbc.rb +0 -7
- data/config/initializers/mime_types.rb +0 -5
- data/config/initializers/secret_token.rb +0 -7
- data/config/initializers/session_store.rb +0 -8
- data/config/locales/en.yml +0 -200
- data/config/locales/no.yml +0 -193
- data/config/mime_types.yaml +0 -1
- data/config/routes.rb +0 -5
- data/config/war.rb +0 -27
- data/config/warble.rb +0 -84
- data/cruise_build.sh +0 -14
- data/cruise_config.rb +0 -5
- data/db/migrate/001_create_tasks.rb +0 -22
- data/db/migrate/003_add_estimation_points.rb +0 -16
- data/db/migrate/004_add_period.rb +0 -63
- data/db/migrate/005_add_field_work_started_at.rb +0 -9
- data/db/migrate/006_works_data_fix.rb +0 -13
- data/db/migrate/007_add_task_created_at.rb +0 -23
- data/db/migrate/008_add_backlog_options.rb +0 -13
- data/db/migrate/009_add_subtasks.rb +0 -29
- data/db/migrate/010_add_work_start.rb +0 -9
- data/db/migrate/011_login_sugar.rb +0 -21
- data/db/migrate/012_add_resolution.rb +0 -12
- data/db/migrate/013_create_estimates.rb +0 -20
- data/db/migrate/014_add_customer_option.rb +0 -11
- data/db/migrate/015_add_user_option.rb +0 -33
- data/db/migrate/016_add_invoicable_flag.rb +0 -11
- data/db/migrate/017_increase_backlog_name_limit.rb +0 -10
- data/db/migrate/018_create_groups.rb +0 -118
- data/db/migrate/019_remove_unique_index_for_period_position.rb +0 -9
- data/db/migrate/020_create_task_files.rb +0 -17
- data/db/migrate/021_create_work_accounts.rb +0 -111
- data/db/migrate/022_remove_track_done_flag.rb +0 -9
- data/db/migrate/023_add_indices_for_burn_down_chart.rb +0 -13
- data/db/migrate/024_add_sprint_option.rb +0 -10
- data/db/migrate/025_add_simple_auditing_of_tasks.rb +0 -11
- data/db/migrate/026_add_users_to_tasks.rb +0 -14
- data/db/migrate/027_create_work_locks.rb +0 -25
- data/db/migrate/028_create_absences.rb +0 -34
- data/db/migrate/029_add_work_comments.rb +0 -9
- data/db/migrate/030_create_public_holidays.rb +0 -11
- data/db/migrate/031_expand_work_done_precision.rb +0 -9
- data/db/migrate/20100720124707_merge_work_account_into_backlog.rb +0 -74
- data/db/migrate/20101006092700_rename_backlogs_to_projects.rb +0 -22
- data/db/migrate/20101006092700_rename_backlogs_to_projects.rb~ +0 -22
- data/db/schema.rb +0 -159
- data/db/seeds.rb +0 -7
- data/db/test.db +0 -0
- data/etc/backlog.conf +0 -32
- data/ext/mkrf_conf.rb +0 -26
- data/lib/class_table_inheritance.rb +0 -224
- data/lib/postgresql-8.2-504.jdbc4.jar +0 -0
- data/lib/tasks/jdbc.rake +0 -8
- data/lib/url_for_fix.rb +0 -30
- data/nbproject/private/config.properties +0 -0
- data/nbproject/private/private.properties +0 -1
- data/nbproject/private/private.xml +0 -4
- data/nbproject/private/rake-t.txt +0 -95
- data/nbproject/project.properties +0 -4
- data/nbproject/project.xml +0 -9
- data/public/404.html +0 -26
- data/public/422.html +0 -26
- data/public/500.html +0 -26
- data/public/Frav/303/246rsskjema.xls +0 -0
- data/public/applets/bsf.jar +0 -0
- data/public/applets/jruby.jar +0 -0
- data/public/favicon.ico +0 -0
- data/public/images/add.png +0 -0
- data/public/images/add.svg +0 -70
- data/public/images/ajax-loading.gif +0 -0
- data/public/images/appunti_architetto_franc_01.svg +0 -92
- data/public/images/arrow-down.gif +0 -0
- data/public/images/arrow-up.gif +0 -0
- data/public/images/arrow07_2.png +0 -0
- data/public/images/arrow07_4.png +0 -0
- data/public/images/arrow_down.png +0 -0
- data/public/images/arrow_down.svg +0 -59
- data/public/images/arrow_left.png +0 -0
- data/public/images/arrow_left.svg +0 -59
- data/public/images/arrow_right.png +0 -0
- data/public/images/arrow_right.svg +0 -59
- data/public/images/arrow_up.png +0 -0
- data/public/images/arrow_up.svg +0 -59
- data/public/images/black-70.png +0 -0
- data/public/images/black.png +0 -0
- data/public/images/blank.jpg +0 -0
- data/public/images/blank.png +0 -0
- data/public/images/cestino_pieno_architetto_01.svg +0 -470
- data/public/images/checkmark.png +0 -0
- data/public/images/checkmark_org.png +0 -0
- data/public/images/clipboard.png +0 -0
- data/public/images/clipboard.svg +0 -62
- data/public/images/construction_hammer_jon__01.svg +0 -116
- data/public/images/delete.png +0 -0
- data/public/images/email.png +0 -0
- data/public/images/email_grey.png +0 -0
- data/public/images/eraser.png +0 -0
- data/public/images/eraser_org.png +0 -0
- data/public/images/ernes_stop.png +0 -0
- data/public/images/ernes_stop_org.png +0 -0
- data/public/images/flag_red.png +0 -0
- data/public/images/flag_yellow.png +0 -0
- data/public/images/grab.png +0 -0
- data/public/images/grab_gray.png +0 -0
- data/public/images/group.png +0 -0
- data/public/images/hammer.png +0 -0
- data/public/images/header.jpg +0 -0
- data/public/images/nextlabel.gif +0 -0
- data/public/images/pagebak.jpg +0 -0
- data/public/images/paper3.svg +0 -54
- data/public/images/period.png +0 -0
- data/public/images/period_org.png +0 -0
- data/public/images/person.org.png +0 -0
- data/public/images/prevlabel.gif +0 -0
- data/public/images/question.svg +0 -56
- data/public/images/rails.png +0 -0
- data/public/images/refresh.png +0 -0
- data/public/images/rmagick.gif +0 -0
- data/public/images/rmagick_270.gif +0 -0
- data/public/images/tabella_architetto_franc_01.svg +0 -105
- data/public/images/task.png +0 -0
- data/public/images/text-x-generic.png +0 -0
- data/public/images/user group.png +0 -0
- data/public/images/user.png +0 -0
- data/public/images/view_fullscreen.png +0 -0
- data/public/images/work_account.png +0 -0
- data/public/javascripts/application.js +0 -2
- data/public/javascripts/builder.js +0 -136
- data/public/javascripts/controls.js +0 -965
- data/public/javascripts/dragdrop.js +0 -974
- data/public/javascripts/effects.js +0 -1123
- data/public/javascripts/lightwindow.js +0 -1921
- data/public/javascripts/prototype.js +0 -6001
- data/public/javascripts/rails.js +0 -175
- data/public/javascripts/ruby.js +0 -46
- data/public/javascripts/scriptaculous.js +0 -58
- data/public/javascripts/slider.js +0 -275
- data/public/javascripts/sound.js +0 -55
- data/public/javascripts/unittest.js +0 -568
- data/public/javascripts/zapatec/utils/transport.js +0 -2217
- data/public/javascripts/zapatec/utils/utils.js +0 -1799
- data/public/javascripts/zapatec/utils/zapatec.js +0 -90
- data/public/javascripts/zapatec/utils/zpeventdriven.js +0 -212
- data/public/javascripts/zapatec/utils/zpwidget.js +0 -729
- data/public/javascripts/zapatec/zpcal/lang/calendar-no.js +0 -124
- data/public/javascripts/zapatec/zpcal/src/calendar-core.js +0 -2878
- data/public/javascripts/zapatec/zpcal/src/calendar-date-core.js +0 -348
- data/public/javascripts/zapatec/zpcal/src/calendar-setup.js +0 -360
- data/public/javascripts/zapatec/zpcal/src/calendar.js +0 -35
- data/public/robots.txt +0 -5
- data/public/stylesheets/backlog.css +0 -135
- data/public/stylesheets/lightwindow.css +0 -376
- data/public/stylesheets/mwrt002.css +0 -54
- data/public/stylesheets/mwrt002MAC.css +0 -3
- data/public/stylesheets/mwrt002NN.css +0 -3
- data/public/stylesheets/scaffold.css +0 -74
- data/public/stylesheets/user.css +0 -74
- data/public/stylesheets/zpcal/themes/green.css +0 -153
- data/public/stylesheets/zpcal/themes/layouts/layout-2d.css +0 -134
- data/public/stylesheets/zpcal/themes/layouts/layout-common.css +0 -74
- data/public/stylesheets/zpcal/themes/menuarrow.gif +0 -0
- data/public/stylesheets/zpcal/themes/scroller-down.gif +0 -0
- data/public/stylesheets/zpcal/themes/scroller-up.gif +0 -0
- data/script/rails +0 -6
- data/test/client/login.rb +0 -23
- data/test/client/login_test.rb +0 -64
- data/test/client/setup.rb +0 -25
- data/test/fixtures/absences.yml +0 -11
- data/test/fixtures/configurations.yml +0 -5
- data/test/fixtures/customers.yml +0 -7
- data/test/fixtures/estimates.yml +0 -10
- data/test/fixtures/groups.yml +0 -6
- data/test/fixtures/groups_users.yml +0 -3
- data/test/fixtures/parties.yml +0 -32
- data/test/fixtures/periods.yml +0 -24
- data/test/fixtures/projects.yml +0 -8
- data/test/fixtures/public_holidays.yml +0 -7
- data/test/fixtures/task_files.yml +0 -13
- data/test/fixtures/tasks.yml +0 -82
- data/test/fixtures/users.yml +0 -59
- data/test/fixtures/work_lock_subscriptions.yml +0 -7
- data/test/fixtures/work_locks.yml +0 -11
- data/test/fixtures/works.yml +0 -47
- data/test/functional/absences_controller_test.rb +0 -93
- data/test/functional/customers_controller_test.rb +0 -93
- data/test/functional/dashboard_controller_test.rb +0 -18
- data/test/functional/estimates_controller_test.rb +0 -40
- data/test/functional/groups_controller_test.rb +0 -120
- data/test/functional/parties_controller_test.rb +0 -35
- data/test/functional/periods_controller_test.rb +0 -297
- data/test/functional/projects_controller_test.rb +0 -152
- data/test/functional/public_holidays_controller_test.rb +0 -93
- data/test/functional/search_controller_test.rb +0 -24
- data/test/functional/task_files_controller_test.rb +0 -29
- data/test/functional/tasks_controller_test.rb +0 -229
- data/test/functional/user_controller_test.rb +0 -261
- data/test/functional/welcome_controller_test.rb +0 -62
- data/test/functional/work_locks_controller_test.rb +0 -93
- data/test/functional/works_controller_test.rb +0 -220
- data/test/integration/user_system_test.rb +0 -95
- data/test/mocks/test/clock.rb +0 -14
- data/test/performance/browsing_test.rb +0 -9
- data/test/performance/common.rb +0 -91
- data/test/performance/jetty_test.rb +0 -15
- data/test/performance/server_test.rb +0 -17
- data/test/test_helper.rb +0 -119
- data/test/test_helper.rb~ +0 -121
- data/test/unit/absence_test.rb +0 -29
- data/test/unit/big_decimal_yaml_fix_test.rb +0 -15
- data/test/unit/configuration_test.rb +0 -10
- data/test/unit/customer_test.rb +0 -10
- data/test/unit/estimate_test.rb +0 -10
- data/test/unit/group_test.rb +0 -10
- data/test/unit/party_test.rb +0 -10
- data/test/unit/period_test.rb +0 -9
- data/test/unit/public_holiday_test.rb +0 -10
- data/test/unit/task_file_test.rb +0 -10
- data/test/unit/task_test.rb +0 -73
- data/test/unit/time_of_day_test.rb +0 -23
- data/test/unit/user_test.rb +0 -148
- data/test/unit/work_lock_subscription_test.rb +0 -10
- data/test/unit/work_lock_test.rb +0 -10
- data/test/unit/work_test.rb +0 -81
- data/vendor/plugins/acts_as_list/README +0 -23
- data/vendor/plugins/acts_as_list/init.rb +0 -3
- data/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb +0 -256
- data/vendor/plugins/acts_as_list/test/list_test.rb +0 -332
- data/vendor/plugins/acts_as_tree/README +0 -26
- data/vendor/plugins/acts_as_tree/Rakefile +0 -22
- data/vendor/plugins/acts_as_tree/init.rb +0 -1
- data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +0 -96
- data/vendor/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
- data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +0 -219
- data/vendor/plugins/acts_as_tree/test/database.yml +0 -0
- data/vendor/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
- data/vendor/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
- data/vendor/plugins/acts_as_tree/test/schema.rb +0 -0
- data/vendor/plugins/assert_cookie/MIT-LICENSE +0 -7
- data/vendor/plugins/assert_cookie/README +0 -6
- data/vendor/plugins/assert_cookie/Rakefile +0 -21
- data/vendor/plugins/assert_cookie/init.rb +0 -1
- data/vendor/plugins/assert_cookie/lib/assert_cookie.rb +0 -73
- data/vendor/plugins/assert_cookie/meta.yml +0 -7
- data/vendor/plugins/assert_cookie/test/test_assert_cookie.rb +0 -124
- data/vendor/plugins/assert_cookie/test/test_helper.rb +0 -31
- data/vendor/plugins/auto_complete/README +0 -23
- data/vendor/plugins/auto_complete/Rakefile +0 -22
- data/vendor/plugins/auto_complete/init.rb +0 -2
- data/vendor/plugins/auto_complete/lib/auto_complete.rb +0 -47
- data/vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb +0 -143
- data/vendor/plugins/auto_complete/test/auto_complete_test.rb +0 -67
- data/vendor/plugins/backlog_jira/init.rb +0 -66
- data/vendor/plugins/dynamic_form/MIT-LICENSE +0 -20
- data/vendor/plugins/dynamic_form/README +0 -13
- data/vendor/plugins/dynamic_form/Rakefile +0 -10
- data/vendor/plugins/dynamic_form/dynamic_form.gemspec +0 -12
- data/vendor/plugins/dynamic_form/init.rb +0 -1
- data/vendor/plugins/dynamic_form/lib/action_view/helpers/dynamic_form.rb +0 -300
- data/vendor/plugins/dynamic_form/lib/action_view/locale/en.yml +0 -8
- data/vendor/plugins/dynamic_form/lib/dynamic_form.rb +0 -5
- data/vendor/plugins/dynamic_form/test/dynamic_form_i18n_test.rb +0 -42
- data/vendor/plugins/dynamic_form/test/dynamic_form_test.rb +0 -370
- data/vendor/plugins/dynamic_form/test/test_helper.rb +0 -9
- data/vendor/plugins/has_history/README +0 -12
- data/vendor/plugins/has_history/Rakefile +0 -22
- data/vendor/plugins/has_history/generators/history_migration/history_migration_generator.rb +0 -30
- data/vendor/plugins/has_history/generators/history_migration/templates/migration.rb +0 -14
- data/vendor/plugins/has_history/generators/history_model/history_model_generator.rb +0 -39
- data/vendor/plugins/has_history/generators/history_model/templates/fixtures.yml +0 -17
- data/vendor/plugins/has_history/generators/history_model/templates/functional_test.rb +0 -129
- data/vendor/plugins/has_history/generators/history_model/templates/migration.rb +0 -14
- data/vendor/plugins/has_history/generators/history_model/templates/model.rb +0 -4
- data/vendor/plugins/has_history/generators/history_model/templates/unit_test.rb +0 -75
- data/vendor/plugins/has_history/init.rb +0 -5
- data/vendor/plugins/has_history/install.rb +0 -1
- data/vendor/plugins/has_history/lib/has_history.rb +0 -178
- data/vendor/plugins/has_history/lib/tasks/has_history_tasks.rake +0 -4
- data/vendor/plugins/has_history/test/has_history_test.rb +0 -31
- data/vendor/plugins/has_history/test/ignorant_master.rb +0 -3
- data/vendor/plugins/has_history/test/ignorant_master_history.rb +0 -4
- data/vendor/plugins/has_history/test/lone_master.rb +0 -42
- data/vendor/plugins/has_history/test/paired_master.rb +0 -5
- data/vendor/plugins/has_history/test/paired_master_history.rb +0 -5
- data/vendor/plugins/has_history/test/test_helper.rb +0 -154
- data/vendor/plugins/has_history/uninstall.rb +0 -1
- data/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +0 -432
- data/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +0 -297
- data/vendor/plugins/rails_time/MIT-LICENSE +0 -20
- data/vendor/plugins/rails_time/README +0 -28
- data/vendor/plugins/rails_time/init.rb +0 -2
- data/vendor/plugins/rails_time/lib/activerecord_time_extension.rb +0 -28
- data/vendor/plugins/rails_time/lib/time_of_day.rb +0 -88
- data/vendor/plugins/rails_time/test/database.yml +0 -18
- data/vendor/plugins/rails_time/test/debug.log +0 -1
- data/vendor/plugins/rails_time/test/rails_time_test.rb +0 -122
- data/vendor/plugins/rails_time/test/schema.rb +0 -10
- data/vendor/plugins/rails_time/test/test_helper.rb +0 -17
- data/vendor/plugins/verification/MIT-LICENSE +0 -20
- data/vendor/plugins/verification/README +0 -34
- data/vendor/plugins/verification/Rakefile +0 -22
- data/vendor/plugins/verification/init.rb +0 -3
- data/vendor/plugins/verification/lib/action_controller/verification.rb +0 -132
- data/vendor/plugins/verification/test/test_helper.rb +0 -18
- data/vendor/plugins/verification/test/verification_test.rb +0 -270
- data/vendor/plugins/will_paginate/LICENSE +0 -18
- data/vendor/plugins/will_paginate/README +0 -138
- data/vendor/plugins/will_paginate/Rakefile +0 -27
- data/vendor/plugins/will_paginate/init.rb +0 -4
- data/vendor/plugins/will_paginate/lib/will_paginate.rb +0 -61
- data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +0 -132
- data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +0 -80
- data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +0 -181
- data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +0 -206
- data/vendor/plugins/will_paginate/test/array_pagination_test.rb +0 -131
- data/vendor/plugins/will_paginate/test/boot.rb +0 -23
- data/vendor/plugins/will_paginate/test/console +0 -9
- data/vendor/plugins/will_paginate/test/finder_test.rb +0 -290
- data/vendor/plugins/will_paginate/test/fixtures/admin.rb +0 -3
- data/vendor/plugins/will_paginate/test/fixtures/developer.rb +0 -11
- data/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +0 -13
- data/vendor/plugins/will_paginate/test/fixtures/project.rb +0 -15
- data/vendor/plugins/will_paginate/test/fixtures/projects.yml +0 -7
- data/vendor/plugins/will_paginate/test/fixtures/replies.yml +0 -34
- data/vendor/plugins/will_paginate/test/fixtures/reply.rb +0 -5
- data/vendor/plugins/will_paginate/test/fixtures/schema.rb +0 -38
- data/vendor/plugins/will_paginate/test/fixtures/topic.rb +0 -4
- data/vendor/plugins/will_paginate/test/fixtures/topics.yml +0 -30
- data/vendor/plugins/will_paginate/test/fixtures/user.rb +0 -2
- data/vendor/plugins/will_paginate/test/fixtures/users.yml +0 -35
- data/vendor/plugins/will_paginate/test/helper.rb +0 -25
- data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +0 -23
- data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +0 -67
- data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +0 -13
- data/vendor/plugins/will_paginate/test/pagination_test.rb +0 -240
data/app/views/works/_row.rhtml
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
<tr id="work_<%=@work.id%>" style="border: 1px solid black; vertical-align: top">
|
2
|
-
<td>
|
3
|
-
<% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :description}, :html => {:id => "work_#{@work.id}_form"} do |f|%>
|
4
|
-
<%=f.select :project_id, @projects.map {|wa| [wa.name, wa.id]}, {}, :id => "work_#{@work.id}_project_id", :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=customer_id', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
|
5
|
-
<% end %>
|
6
|
-
</td>
|
7
|
-
<td>
|
8
|
-
<% field = 'description' %>
|
9
|
-
<% next_field = 'start_time' %>
|
10
|
-
<% previous_row_id = previous_row_id %>
|
11
|
-
<% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :field=>field, :next_field => next_field} do |f|%>
|
12
|
-
<%=text_field :work, field, :id => "work_#{@work.id}_#{field}",
|
13
|
-
:class => ('task_time' if field=~/_time$/),
|
14
|
-
:onchange => "new Ajax.Request('/works/update_row/#{@work.id}?field=#{field}&next_field=#{next_field}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)});",
|
15
|
-
:onkeypress => "
|
16
|
-
if(event.ctrlKey && event.keyCode == 40) { // CTRL-Down-arrow
|
17
|
-
$('work#{"_#{@work.id}"}_notes_div').style.visibility = 'visible';
|
18
|
-
e = $('work_#{@work.id}_notes');
|
19
|
-
e.focus();
|
20
|
-
// e.select();
|
21
|
-
} else if(event.keyCode == 40) { // Down-arrow
|
22
|
-
e = $('work#{"_#{next_row_id}" if next_row_id}_#{field}');
|
23
|
-
e.focus();
|
24
|
-
e.select();
|
25
|
-
} else if(event.keyCode == 38) { // Up-arrow
|
26
|
-
e = $('work#{"_#{previous_row_id}" if previous_row_id}_#{field}');
|
27
|
-
e.focus();
|
28
|
-
e.select();
|
29
|
-
}",
|
30
|
-
:value => (field=~/_time$/ ? @work.send(field) && @work.send(field).strftime('%H:%M') : @work.send(field) )
|
31
|
-
%>
|
32
|
-
<% field = 'notes' %>
|
33
|
-
<% next_field = 'description' %>
|
34
|
-
<div id="work_<%=@work.id%>_notes_div" style="visibility: hidden; position: absolute; opacity: .8">
|
35
|
-
<%=text_area :work, :notes, :id => "work_#{@work.id}_#{field}",
|
36
|
-
:onchange => "new Ajax.Request('/works/update_row/#{@work.id}?field=#{field}&next_field=#{next_field}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)});",
|
37
|
-
:onkeypress => "
|
38
|
-
if(event.ctrlKey && event.keyCode == 38) { // CTRL-UP-arrow
|
39
|
-
e = $('work_#{@work.id}_description');
|
40
|
-
e.focus();
|
41
|
-
//e.select();
|
42
|
-
} else if(event.keyCode == 38) { // Up-arrow
|
43
|
-
notes_field = $('work_#{@work.id}_#{field}');
|
44
|
-
if (notes_field.selectionStart == 0 || notes_field.value.indexOf('\\n') == -1 || notes_field.value.indexOf('\\n') > notes_field.selectionStart) {
|
45
|
-
description_field = $('work_#{@work.id}_description');
|
46
|
-
description_field.focus();
|
47
|
-
//description_field.select();
|
48
|
-
return false;
|
49
|
-
}
|
50
|
-
}",
|
51
|
-
:onBlur => "
|
52
|
-
$('work#{"_#{@work.id}"}_notes_div').style.visibility = 'hidden';
|
53
|
-
",
|
54
|
-
:value => @work.send(field),
|
55
|
-
:cols => 80
|
56
|
-
%>
|
57
|
-
</div>
|
58
|
-
<% end %>
|
59
|
-
</td>
|
60
|
-
<td align="right">
|
61
|
-
<%=render :partial => 'row_field', :locals => {:field => 'start_time',
|
62
|
-
:next_field => 'completed_at_time', :next_row_id => next_row_id, :previous_row_id => previous_row_id} %>
|
63
|
-
</td>
|
64
|
-
<td align="left">
|
65
|
-
<%=render :partial => 'row_field', :locals => {:field => 'completed_at_time',
|
66
|
-
:next_field => 'hours_time', :next_row_id => next_row_id, :previous_row_id => previous_row_id} %>
|
67
|
-
</td>
|
68
|
-
<td align="right">
|
69
|
-
<% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :task_id} do |f|%>
|
70
|
-
<%=f.text_field :hours_time, :value => (@work.hours && @work.hours > 0 ? t(@work.hours) : ''), :id => "work_#{@work.id}_hours_time", :class => 'task_hours',
|
71
|
-
:onkeypress => "
|
72
|
-
if(event.keyCode == 40) {
|
73
|
-
e = $('work#{"_#{next_row_id}" if next_row_id}_hours_time');
|
74
|
-
e.focus();
|
75
|
-
e.select();
|
76
|
-
} else if(event.keyCode == 38) {
|
77
|
-
e = $('work#{"_#{previous_row_id}" if previous_row_id}_hours_time');
|
78
|
-
e.focus();
|
79
|
-
e.select();
|
80
|
-
}",
|
81
|
-
:onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=task_id', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
|
82
|
-
<% end %>
|
83
|
-
</td>
|
84
|
-
<td align="right" style="width: 6em" nowrap="true">
|
85
|
-
<% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :invoice} do |f|%>
|
86
|
-
<%=text_field_with_auto_complete "work_#{@work.id}", :task_id,
|
87
|
-
{:name => "work[task_id]", :value => @work.task_id, :class => :task_id, :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=invoice', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"},
|
88
|
-
{:url => url_for(:action => :auto_complete_for_work_task_id), :with => "'work[task_id]=' + $('work_#{@work.id}_task_id').value"} %>
|
89
|
-
<% if @work.task_id %>
|
90
|
-
<%=image_detour_to('task.png', "#{l :task}: #{@work.task.description}", {:controller => 'tasks', :action => :edit, :id => @work.task.id})%>
|
91
|
-
<% end %>
|
92
|
-
<% end %>
|
93
|
-
</td>
|
94
|
-
<td style="text-align: left">
|
95
|
-
<% remote_form_for :work, :url => {:action => :update_row, :id => @work.id} do |f|%>
|
96
|
-
<%=f.check_box :invoice, :id => "work_#{@work.id}_invoice", :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=invoice', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
|
97
|
-
<% end %>
|
98
|
-
</td>
|
99
|
-
<td>
|
100
|
-
<% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :description} do |f|%>
|
101
|
-
<%=f.select :customer_id, [['', '']] + @customers.map {|cu| [cu.name, cu.id]}, {}, :id => "work_#{@work.id}_customer_id", :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=description', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
|
102
|
-
<% end %>
|
103
|
-
</td>
|
104
|
-
<td>
|
105
|
-
<%=image_detour_to('delete.png', l(:delete), {:controller => 'works', :action => :destroy, :id => @work, :confirm => true}, nil, true)%>
|
106
|
-
</td>
|
107
|
-
</tr>
|
108
|
-
|
109
|
-
<tr id="work_<%=@work.id%>_task_description">
|
110
|
-
<% if @work.task %>
|
111
|
-
<td colspan="2" align="right">
|
112
|
-
<%=l :task%>: <%=h @work.task.description_with_parents if @work.task%>
|
113
|
-
</td>
|
114
|
-
<% end %>
|
115
|
-
</tr>
|
@@ -1,17 +0,0 @@
|
|
1
|
-
<% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :field=>field, :next_field => next_field} do |f|%>
|
2
|
-
<%=text_field :work, field, :id => "work_#{@work.id}_#{field}",
|
3
|
-
:class => ('task_time' if field=~/_time$/),
|
4
|
-
:onchange => "new Ajax.Request('/works/update_row/#{@work.id}?field=#{field}&next_field=#{next_field}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)});",
|
5
|
-
:onkeypress => "
|
6
|
-
if(event.keyCode == 40) { // Down-arrow
|
7
|
-
e = $('work#{"_#{next_row_id}" if next_row_id}_#{field}');
|
8
|
-
e.focus();
|
9
|
-
e.select();
|
10
|
-
} else if(event.keyCode == 38) { // Up-arrow
|
11
|
-
e = $('work#{"_#{previous_row_id}" if previous_row_id}_#{field}');
|
12
|
-
e.focus();
|
13
|
-
e.select();
|
14
|
-
}",
|
15
|
-
:value => (field=~/_time$/ ? @work.send(field) && @work.send(field).strftime('%H:%M') : @work.send(field) )
|
16
|
-
%>
|
17
|
-
<% end %>
|
@@ -1,5 +0,0 @@
|
|
1
|
-
<ul class="tasks" style="width: 30em; background: white">
|
2
|
-
<% for task in @tasks do -%>
|
3
|
-
<li><div style="width: 40em"><%=task.id%><span class="informal"> <%="#{h task.root_task.project.name}: " unless @project%><%=h task.description %></span></div></li>
|
4
|
-
<% end -%>
|
5
|
-
</ul>
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<% user_parameter = @user != current_user ? @user.id : nil %>
|
2
|
-
|
3
|
-
<div style="float: left"><%=link_to(image_tag('arrow_left.png'), :year => (@week > 1 ? @year : @year - 1), :week => (@week > 1 ? @week - 1 : 52), :user_id => user_parameter)%></div>
|
4
|
-
<div style="float: right"><%=link_to(image_tag('arrow_right.png'), :year => (@week < 52 ? @year : @year + 1), :week => (@week < 52 ? @week + 1 : 1), :user_id => user_parameter)%></div>
|
5
|
-
|
6
|
-
<div align="right">
|
7
|
-
<% lock_action = @lock ? :unlock : :lock %>
|
8
|
-
[<%=link_to l(lock_action), with_detour(:controller => 'work_locks', :action => lock_action, :year => @year, :week => @week) %>]
|
9
|
-
<%unless controller.action_name == 'weekly_work_sheet'%>
|
10
|
-
[<%=link_to l(:totals), :action => :weekly_work_sheet, :year => @year, :week => @week %>]
|
11
|
-
<% end %>
|
12
|
-
<%unless controller.action_name == 'weekly_work_sheet_details'%>
|
13
|
-
[<%=link_to l(:details), :action => :weekly_work_sheet_details, :year => @year, :week => @week %>]
|
14
|
-
<% end %>
|
15
|
-
<% if @lock %>
|
16
|
-
[<%=link_to l(:spreadsheet), :action => :timeliste, :year => @year, :week => @week %>]
|
17
|
-
<% else %>
|
18
|
-
[<%=detour_to l(:new_work), :controller => 'works', :action => :new %>]
|
19
|
-
<% end %>
|
20
|
-
</div>
|
21
|
-
|
22
|
-
<br clear="all" />
|
@@ -1,108 +0,0 @@
|
|
1
|
-
<% @page_title = "#{l :daily_work_sheet} on #{@date}" + (" for #{@user.name}" if user?) %>
|
2
|
-
|
3
|
-
<div id="spotlight">
|
4
|
-
|
5
|
-
<% user_parameter = @user != current_user ? @user.id : nil %>
|
6
|
-
|
7
|
-
<div style="float: left"><%=image_link_to('arrow_left.png', l(:previous_week), {:id => @date - 7, :user_id => user_parameter}, :class => nil)%></div>
|
8
|
-
<div style="float: left"><%=image_link_to('arrow_left.png', l(:previous_day), {:id => @date-1, :user_id => user_parameter}, :class => nil)%></div>
|
9
|
-
<%=link_to l(:weekly_work_sheet), :action => :weekly_work_sheet, :year => @year, :week => @week, :user_id => user_parameter%>
|
10
|
-
<div style="float: right"><%=image_link_to('arrow_right.png', l(:next_week), {:id => @date + 7, :user_id => user_parameter}, :class => nil)%></div>
|
11
|
-
<div style="float: right"><%=image_link_to('arrow_right.png', l(:next_day), {:id => @date+1, :user_id => user_parameter}, :class => nil)%></div>
|
12
|
-
|
13
|
-
<br clear="all" />
|
14
|
-
|
15
|
-
<table>
|
16
|
-
<tr>
|
17
|
-
<td>
|
18
|
-
<div id="absence">
|
19
|
-
<% work_disabled = !@works.empty? && (@absence.nil? || @absence.reason.nil? || @absence.reason.empty?) %>
|
20
|
-
<% absence_disabled = @public_holiday %>
|
21
|
-
<% form_for :absence, :html => {:id => :absence_form}, :url => with_detour({:controller => 'absences', :action => :create}) do |f| %>
|
22
|
-
<%=f.hidden_field :on, :value => @date %>
|
23
|
-
<%=f.radio_button :reason, '', :disabled => work_disabled, :checked => @absence.nil? && (!@works.empty? || @public_holiday.nil?), :onchange => 'form.submit()' %><label for="absence_reason_">Work day</label>
|
24
|
-
<%=f.radio_button :reason, 'HOLIDAY', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_holiday"><%=l :holiday%></label>
|
25
|
-
<%=f.radio_button :reason, 'SICK', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_sick">Sick day</label>
|
26
|
-
<%=f.radio_button :reason, 'SICK_CHILD', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_sick_child">Sick child</label>
|
27
|
-
<%=f.radio_button :reason, 'SICK_WITH_DOCTOR', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_sick_with_doctor">Sick day with doctor's note</label>
|
28
|
-
<% end %>
|
29
|
-
</div>
|
30
|
-
</td>
|
31
|
-
<td>
|
32
|
-
<div id="public_holiday">
|
33
|
-
<% form_for :public_holiday, :html => {:id => :public_holiday_form}, :url => with_detour({:controller => 'public_holidays', :action => :mark}) do |f| %>
|
34
|
-
<%=f.hidden_field :on, :value => @date %>
|
35
|
-
<%=f.check_box :marked, :checked => !@public_holiday.nil?, :onchange => 'form.submit()' %><label for="public_holiday_marked"><%=l :public_holiday%></label>
|
36
|
-
<% end %>
|
37
|
-
</div>
|
38
|
-
</td>
|
39
|
-
</tr>
|
40
|
-
</table>
|
41
|
-
|
42
|
-
<br clear="all" />
|
43
|
-
|
44
|
-
<table>
|
45
|
-
|
46
|
-
<tr>
|
47
|
-
<th><%=l :account %></th>
|
48
|
-
<th><%=l :description %></th>
|
49
|
-
<th id="start_time_header"><%=l :started_at %></th>
|
50
|
-
<th><%=l :completed_at %></th>
|
51
|
-
<th><%=l :done %></th>
|
52
|
-
<th><%=l :task %></th>
|
53
|
-
<th id="invoice_header"><%=l :invoice %></th>
|
54
|
-
<th><%=l :customer %></th>
|
55
|
-
<th id="icons_header" />
|
56
|
-
</tr>
|
57
|
-
|
58
|
-
<% day_total = BigDecimal('0.0') %>
|
59
|
-
<% @works.each_with_index do |@work, i| %>
|
60
|
-
<% day_total += @work.hours if @work %>
|
61
|
-
<%=render :partial => 'row', :locals => {:next_row_id => @works[i+1] && @works[i+1].id,
|
62
|
-
:previous_row_id => @works[i-1] && @works[i-1].id} %>
|
63
|
-
<% end %>
|
64
|
-
|
65
|
-
<% last_work = @work %>
|
66
|
-
|
67
|
-
<% @work = @new_work %>
|
68
|
-
<%=render :partial => 'new_row', :locals => {:last_work => last_work} %>
|
69
|
-
|
70
|
-
<% unless @works.empty? %>
|
71
|
-
<tr>
|
72
|
-
<td/>
|
73
|
-
<th><%=l :totals %></th>
|
74
|
-
<th/>
|
75
|
-
<th/>
|
76
|
-
<th id="hours_total" class="hours"><%=t(day_total) %></th>
|
77
|
-
<th/>
|
78
|
-
<th/>
|
79
|
-
</tr>
|
80
|
-
<% end %>
|
81
|
-
|
82
|
-
</table>
|
83
|
-
|
84
|
-
<%=back_or_link_to l(:back), '' %>
|
85
|
-
|
86
|
-
<% if @period %>
|
87
|
-
<%=link_to l(:back), :controller => 'periods', :action => :show, :id => @period %>
|
88
|
-
<% end %>
|
89
|
-
</div>
|
90
|
-
|
91
|
-
<% if @period %>
|
92
|
-
<%=render :partial => '/periods/burn_down_chart' %>
|
93
|
-
<% end %>
|
94
|
-
|
95
|
-
<% unless @absence %>
|
96
|
-
<script type="text/JavaScript">
|
97
|
-
//<!--
|
98
|
-
var start_field;
|
99
|
-
<% if last_work.nil? || last_work.completed_at %>
|
100
|
-
start_field = $('work_project_id');
|
101
|
-
<% else %>
|
102
|
-
start_field = $('work_<%=last_work.id%>_completed_at_time');
|
103
|
-
<% end %>
|
104
|
-
start_field.focus();
|
105
|
-
start_field.select();
|
106
|
-
//-->
|
107
|
-
</script>
|
108
|
-
<% end %>
|
data/app/views/works/edit.rhtml
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
<div id="spotlight">
|
2
|
-
<% @page_title = "#{l :editing} #{:work}" %>
|
3
|
-
|
4
|
-
<% form_tag :action => 'update', :id => @work do %>
|
5
|
-
<%= submit_tag l(:save), :style => 'display: none' %>
|
6
|
-
<%= render :partial => 'form' %>
|
7
|
-
<%= submit_tag l(:save) %>
|
8
|
-
<%= back_or_link_to l(:back), :controller => 'periods', :action => 'list_work', :id => (@work.task && @work.task.period) %>
|
9
|
-
<% end %>
|
10
|
-
|
11
|
-
</div>
|
data/app/views/works/list.rhtml
DELETED
@@ -1,148 +0,0 @@
|
|
1
|
-
<% @page_title = l(:listing_works) + (@period ? " for #{@period}" : '') %>
|
2
|
-
<div id="spotlight">
|
3
|
-
<% if @period %>
|
4
|
-
<%=render :partial => '/periods/title' %>
|
5
|
-
<% end %>
|
6
|
-
|
7
|
-
<% if @report_filter %>
|
8
|
-
<% form_for :report_filter, :html => {:method => :get} do |f| %>
|
9
|
-
<table>
|
10
|
-
<tr>
|
11
|
-
<td coslpan="3">
|
12
|
-
<label for="report_filter_project_id"><%=l :project%></label>
|
13
|
-
</td>
|
14
|
-
<td>
|
15
|
-
<%=f.select :project_id, [[l(:all), nil]] + @projects.map{|wa|[wa.name, wa.id]}, {}, {:onchange => 'form.submit()'} %>
|
16
|
-
</td>
|
17
|
-
</tr>
|
18
|
-
<tr>
|
19
|
-
<td>
|
20
|
-
<label for="report_filter_start_on"><%=l :start_on%></label>
|
21
|
-
</td>
|
22
|
-
<td>
|
23
|
-
<%=f.text_field 'start_on', :size => 16, :value => @report_filter.start_on ? @report_filter.start_on.strftime('%Y-%m-%d') : nil %>
|
24
|
-
<button id="trigger1">...</button>
|
25
|
-
<script type="text/javascript">//<![CDATA[
|
26
|
-
Zapatec.Calendar.setup({
|
27
|
-
firstDay : 1,
|
28
|
-
showOthers : true,
|
29
|
-
showsTime : true,
|
30
|
-
step : 1,
|
31
|
-
electric : false,
|
32
|
-
inputField : "report_filter_start_on",
|
33
|
-
button : "trigger1",
|
34
|
-
ifFormat : "%Y-%m-%d",
|
35
|
-
daFormat : "%Y/%m/%d",
|
36
|
-
timeInterval : 15
|
37
|
-
});
|
38
|
-
//]]></script>
|
39
|
-
</td>
|
40
|
-
<td>
|
41
|
-
<label for="report_filter_end_on"><%=l :completed_at%></label>
|
42
|
-
</td>
|
43
|
-
<td>
|
44
|
-
<%=f.text_field 'end_on', :size => 16, :value => (@report_filter.end_on && @report_filter.end_on.strftime('%Y-%m-%d')) %>
|
45
|
-
<button id="trigger2">...</button>
|
46
|
-
<script type="text/javascript">//<![CDATA[
|
47
|
-
Zapatec.Calendar.setup({
|
48
|
-
firstDay : 1,
|
49
|
-
showOthers : true,
|
50
|
-
showsTime : true,
|
51
|
-
step : 1,
|
52
|
-
electric : false,
|
53
|
-
inputField : "report_filter_end_on",
|
54
|
-
button : "trigger2",
|
55
|
-
ifFormat : "%Y-%m-%d",
|
56
|
-
daFormat : "%Y/%m/%d",
|
57
|
-
timeInterval : 15
|
58
|
-
});
|
59
|
-
//]]></script>
|
60
|
-
</td>
|
61
|
-
</tr>
|
62
|
-
|
63
|
-
<tr>
|
64
|
-
<td>
|
65
|
-
<label for="report_filter_user_id"><%=l :user%></label>
|
66
|
-
</td>
|
67
|
-
<td>
|
68
|
-
<%=f.select :user_id, [[l(:all), nil]] + @users.map{|user|[user.name, user.id]}, {}, {:onchange => 'form.submit()'} %>
|
69
|
-
</td>
|
70
|
-
<td>
|
71
|
-
<label for="report_filter_invoice"><%=l :invoice%></label>
|
72
|
-
</td>
|
73
|
-
<td>
|
74
|
-
<%=f.select :invoice, [[l(:all), nil], [l(:yes), true], [l(:no), false]], {}, {:onchange => 'form.submit()'} %>
|
75
|
-
|
76
|
-
<label for="report_filter_page_size"><%=l :paging%></label>
|
77
|
-
<%=f.check_box :page_size, {:checked => @report_filter.page_size == 10, :onchange => 'form.submit()'}, 10, nil %>
|
78
|
-
</td>
|
79
|
-
</tr>
|
80
|
-
<tr>
|
81
|
-
<td colspan="4" align="right">
|
82
|
-
<%=submit_tag l(:search) %>
|
83
|
-
</td>
|
84
|
-
</tr>
|
85
|
-
</table>
|
86
|
-
<% end %>
|
87
|
-
<% end %>
|
88
|
-
|
89
|
-
<table id="summary">
|
90
|
-
<tr>
|
91
|
-
<th><%=l :total%>:</th>
|
92
|
-
<th><%=@works.inject(BigDecimal('0')){|total, work| total += work.hours}%> <%=l(:hours).downcase%></td>
|
93
|
-
<td><%=link_to l(:spreadsheet), {:export => :excel}.update(params) %></td>
|
94
|
-
</tr>
|
95
|
-
</table>
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
<table>
|
101
|
-
<tr>
|
102
|
-
<th><%=l :user %></th>
|
103
|
-
<th><%=l :done %></th>
|
104
|
-
<th><%=l :project %></th>
|
105
|
-
<th><%=l :description %></th>
|
106
|
-
<th><%=l :invoice %></th>
|
107
|
-
<th><%=l :started_at %></th>
|
108
|
-
<th><%=l :completed_at %></th>
|
109
|
-
</tr>
|
110
|
-
|
111
|
-
<% for work in @works %>
|
112
|
-
<tr>
|
113
|
-
<td valign="top"><%=work.user && work.user.login %></td>
|
114
|
-
<td align="right" valign="top"><%='%.2f' % work.hours %></td>
|
115
|
-
<td valign="top"><%=work.project.name %></td>
|
116
|
-
<%if work.task
|
117
|
-
link = "Task: #{work.task.description} <br/>"
|
118
|
-
else
|
119
|
-
link = ""
|
120
|
-
end
|
121
|
-
link += h(work.description)
|
122
|
-
%>
|
123
|
-
<td valign="top"><%=detour_to link, :controller => 'works', :action => 'daily_work_sheet', :id => work.started_on.strftime("%Y-%m-%d"), :user_id => work.user_id %></td>
|
124
|
-
<td><%=work.invoice ? t(:yes) : '' %></td>
|
125
|
-
<td valign="top"><%=(work.started_at && work.started_at.strftime('%Y-%m-%d %H:%M:%S')) || work.started_on.strftime('%Y-%m-%d') %></td>
|
126
|
-
<td valign="top"><%=(work.completed_at && work.completed_at.strftime('%Y-%m-%d %H:%M:%S')) || work.started_on.strftime('%Y-%m-%d') %></td>
|
127
|
-
<tr>
|
128
|
-
<% end %>
|
129
|
-
<tr>
|
130
|
-
<th><%=l :total%>:</th>
|
131
|
-
<th colspan="2"><%=@works.inject(BigDecimal('0')){|total, work| total += work.hours}%> <%=l(:hours).downcase%></td>
|
132
|
-
</tr>
|
133
|
-
</table>
|
134
|
-
|
135
|
-
<%=will_paginate @works %>
|
136
|
-
<br />
|
137
|
-
|
138
|
-
<% if @period %>
|
139
|
-
<%=back_or_link_to l(:back), :controller => 'periods', :action => :show, :id => @period %>
|
140
|
-
<% else %>
|
141
|
-
<%=back_or_link_to l(:back), :controller => 'projects', :action => :show, :id => @project %>
|
142
|
-
<% end %>
|
143
|
-
|
144
|
-
</div>
|
145
|
-
|
146
|
-
<% if @period %>
|
147
|
-
<%=render :partial => '/periods/burn_down_chart' %>
|
148
|
-
<% end %>
|
@@ -1,114 +0,0 @@
|
|
1
|
-
<% headers["Content-Type"] = "application/vnd.ms-excel"
|
2
|
-
headers["Content-Disposition"] = 'attachment; filename="export.xml"'
|
3
|
-
-%>
|
4
|
-
<?xml version="1.0"?>
|
5
|
-
<?mso-application progid="Excel.Sheet"?>
|
6
|
-
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
|
7
|
-
xmlns:o="urn:schemas-microsoft-com:office:office"
|
8
|
-
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
9
|
-
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
|
10
|
-
xmlns:html="http://www.w3.org/TR/REC-html40">
|
11
|
-
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
|
12
|
-
<Author><%=current_user.name%></Author>
|
13
|
-
<% if user? %>
|
14
|
-
<LastAuthor><%=user.first_name%> <%=user.last_name%></LastAuthor>
|
15
|
-
<% end %>
|
16
|
-
<LastPrinted>2005-11-14T13:31:53Z</LastPrinted>
|
17
|
-
<Created><%=Time.now.iso8601%></Created>
|
18
|
-
<LastSaved><%=Time.now.iso8601%></LastSaved>
|
19
|
-
<Version>11.5606</Version>
|
20
|
-
</DocumentProperties>
|
21
|
-
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
|
22
|
-
<WindowHeight>9075</WindowHeight>
|
23
|
-
<WindowWidth>12390</WindowWidth>
|
24
|
-
<WindowTopX>90</WindowTopX>
|
25
|
-
<WindowTopY>45</WindowTopY>
|
26
|
-
<ProtectStructure>False</ProtectStructure>
|
27
|
-
<ProtectWindows>False</ProtectWindows>
|
28
|
-
</ExcelWorkbook>
|
29
|
-
<Styles>
|
30
|
-
<Style ss:ID="Default" ss:Name="Normal">
|
31
|
-
<Alignment ss:Vertical="Top"/>
|
32
|
-
</Style>
|
33
|
-
<Style ss:ID="title">
|
34
|
-
<Font x:Family="Swiss" ss:Size="24" ss:Bold="1"/>
|
35
|
-
</Style>
|
36
|
-
<Style ss:ID="header">
|
37
|
-
<Font x:Family="Swiss" ss:Size="14" ss:Bold="1"/>
|
38
|
-
</Style>
|
39
|
-
<Style ss:ID="LongDateFormat">
|
40
|
-
<NumberFormat ss:Format="dd/mm/yy\ h:mm;@"/>
|
41
|
-
</Style>
|
42
|
-
</Styles>
|
43
|
-
<Worksheet ss:Name="<%=l(:done)%>">
|
44
|
-
<Table ss:ExpandedColumnCount="256" x:FullColumns="1"
|
45
|
-
x:FullRows="1">
|
46
|
-
<Column ss:AutoFitWidth="1" ss:Width="100"/>
|
47
|
-
<Column ss:AutoFitWidth="1" ss:Width="90"/>
|
48
|
-
<Column ss:AutoFitWidth="1" ss:Width="120"/>
|
49
|
-
<Column ss:AutoFitWidth="1" ss:Width="200"/>
|
50
|
-
<Column ss:AutoFitWidth="1" ss:Width="60"/>
|
51
|
-
<Column ss:AutoFitWidth="1" ss:Width="45"/>
|
52
|
-
<Column ss:AutoFitWidth="1" ss:Width="90"/>
|
53
|
-
<Column ss:AutoFitWidth="1" ss:Width="90"/>
|
54
|
-
<Row>
|
55
|
-
<Cell ss:StyleID="title" ss:MergeAcross="6"><Data ss:Type="String"><%=@report_filter.title%></Data></Cell>
|
56
|
-
</Row>
|
57
|
-
<Row ss:AutoFitHeight="0" ss:Height="6.5625">
|
58
|
-
<Cell ss:MergeAcross="6"><Data ss:Type="String"></Data></Cell>
|
59
|
-
</Row>
|
60
|
-
|
61
|
-
<Row ss:AutoFitHeight="0" ss:Height="19.875">
|
62
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :project%></Data></Cell>
|
63
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :user%></Data></Cell>
|
64
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :task%></Data></Cell>
|
65
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :description%></Data></Cell>
|
66
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :done%></Data></Cell>
|
67
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :invoice_short%></Data></Cell>
|
68
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :start%></Data></Cell>
|
69
|
-
<Cell ss:StyleID="header"><Data ss:Type="String"><%=l :stop%></Data></Cell>
|
70
|
-
</Row>
|
71
|
-
|
72
|
-
<% for work in @works %>
|
73
|
-
<Row>
|
74
|
-
<Cell><Data ss:Type="String"><%=work.project.name %></Data></Cell>
|
75
|
-
<Cell><Data ss:Type="String"><%=work.user && work.user.name %></Data></Cell>
|
76
|
-
<Cell><Data ss:Type="String"><%=work.task && work.task.description %></Data></Cell>
|
77
|
-
<Cell><Data ss:Type="String"><%=work.description %></Data></Cell>
|
78
|
-
<Cell><Data ss:Type="Number"><%=work.hours %></Data></Cell>
|
79
|
-
<Cell><Data ss:Type="String"><%=work.invoice? ? 'Ja' : 'Nei' %></Data></Cell>
|
80
|
-
<Cell ss:StyleID="LongDateFormat"><Data ss:Type="DateTime"><%=work.start_time ? work.started_on.at(work.start_time).strftime('%Y-%m-%dT%H:%M:%S') : work.started_on.strftime('%Y-%m-%d') %></Data></Cell>
|
81
|
-
<% if work.completed_at %>
|
82
|
-
<Cell ss:StyleID="LongDateFormat"><Data ss:Type="DateTime"><%=work.completed_at.strftime('%Y-%m-%dT%H:%M:%S') %></Data></Cell>
|
83
|
-
<% end %>
|
84
|
-
|
85
|
-
</Row>
|
86
|
-
|
87
|
-
<% end %>
|
88
|
-
|
89
|
-
</Table>
|
90
|
-
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
|
91
|
-
<PageSetup>
|
92
|
-
<Layout x:Orientation="Landscape"/>
|
93
|
-
</PageSetup>
|
94
|
-
<FitToPage/>
|
95
|
-
<Print>
|
96
|
-
<ValidPrinterInfo/>
|
97
|
-
<PaperSizeIndex>9</PaperSizeIndex>
|
98
|
-
<Scale>97</Scale>
|
99
|
-
<HorizontalResolution>600</HorizontalResolution>
|
100
|
-
<VerticalResolution>600</VerticalResolution>
|
101
|
-
</Print>
|
102
|
-
<Selected/>
|
103
|
-
<Panes>
|
104
|
-
<Pane>
|
105
|
-
<Number>3</Number>
|
106
|
-
<ActiveRow>3</ActiveRow>
|
107
|
-
<ActiveCol>1</ActiveCol>
|
108
|
-
</Pane>
|
109
|
-
</Panes>
|
110
|
-
<ProtectObjects>False</ProtectObjects>
|
111
|
-
<ProtectScenarios>False</ProtectScenarios>
|
112
|
-
</WorksheetOptions>
|
113
|
-
</Worksheet>
|
114
|
-
</Workbook>
|