├── README.rdoc ├── Aptfile ├── CONTRIBUTING.md ├── test ├── mailers │ └── empty ├── models │ └── empty ├── controllers │ └── empty └── fixtures │ ├── files │ ├── 2006 │ │ └── 07 │ │ │ ├── 060719210727_archive.zip │ │ │ ├── 060719210727_changeset_iso8859-1.diff │ │ │ └── 060719210727_source.rb │ ├── 2010 │ │ ├── 11 │ │ │ └── 101123161450_testfile_1.png │ │ └── 12 │ │ │ └── 101223161450_testfile_2.png │ ├── 2019 │ │ └── 05 │ │ │ └── 190511141819_ecookbook-gantt.pdf │ ├── invalid-Shift_JIS.csv │ ├── japanese-utf-8.txt │ ├── hello.js │ ├── testfile.md │ ├── import_dates_ja.csv │ ├── testfile.textile │ ├── unclosed_quoted_field.csv │ ├── testfile.txt │ ├── configuration │ │ ├── empty.yml │ │ ├── default.yml │ │ ├── no_default.yml │ │ └── overrides.yml │ ├── iso8859-1.txt │ ├── import_iso8859-1.csv │ ├── import_dates.csv │ ├── import_issues_no_data_row.csv │ ├── import_subtasks.csv │ ├── import_subtasks_with_relations.csv │ ├── import_issues_auto_mapping.csv │ ├── import_time_entries.csv │ └── import_issues_with_relation_and_invalid_issues.csv │ ├── views │ └── _partial.html.erb │ ├── plugins │ ├── foo_plugin │ │ ├── assets │ │ │ └── stylesheets │ │ │ │ └── foo.css │ │ ├── app │ │ │ └── models │ │ │ │ └── foo.rb │ │ └── _foo_plugin_settings.html.erb │ ├── redmine_test_plugin_foo │ │ ├── config │ │ │ └── routes.rb │ │ └── app │ │ │ └── controllers │ │ │ └── plugin_articles_controller.rb │ ├── other_plugin │ │ └── _other_plugin_settings.html.erb │ └── redmine_test_plugin_bar │ │ ├── config │ │ └── routes.rb │ │ ├── app │ │ └── controllers │ │ │ └── bar_plugin_articles_controller.rb │ │ └── init.rb │ ├── asset_path │ └── foo │ │ ├── stylesheets │ │ ├── foo.css │ │ └── bar │ │ │ └── bar.css │ │ └── images │ │ ├── foo.svg │ │ └── baz │ │ └── baz.svg │ ├── custom_fields_projects.yml │ ├── encoding │ └── iso-8859-1.txt │ ├── repositories │ ├── cvs_repository.tar.gz │ ├── git_repository.tar.gz │ ├── bazaar_repository.tar.gz │ ├── mercurial_repository.hg │ ├── git_utf8_repository.tar.gz │ ├── filesystem_repository.tar.gz │ └── subversion_repository.dump.gz │ ├── groups_users.yml │ ├── themes │ └── foo_theme │ │ └── stylesheets │ │ └── application.css │ ├── mail_handler │ ├── ticket_with_localized_attributes.eml │ ├── ticket_with_localized_private_flag.eml │ ├── fullname_of_sender_as_utf8_encoded.eml │ ├── subject_japanese_1.eml │ ├── subject_japanese_2.eml │ ├── fullname_of_sender_in_parentheses.eml │ └── gmail-iso8859-2.eml │ ├── diffs │ ├── issue-13644-1.diff │ ├── issue-13644-2.diff │ ├── issue-13644-3.diff │ ├── issue-13644-4.diff │ └── issue-13644-5.diff │ ├── issue_relations.yml │ ├── wikis.yml │ └── tokens.yml ├── tmp ├── test │ └── empty └── thumbnails │ └── empty ├── public └── plugin_assets │ └── empty ├── .github └── PULL_REQUEST_TEMPLATE.md ├── .slugignore ├── lib ├── plugins │ ├── acts_as_tree │ │ ├── test │ │ │ ├── database.yml │ │ │ ├── schema.rb │ │ │ ├── abstract_unit.rb │ │ │ └── fixtures │ │ │ │ ├── mixin.rb │ │ │ │ └── mixins.yml │ │ └── init.rb │ └── gravatar │ │ ├── .gitignore │ │ ├── init.rb │ │ └── about.yml └── generators │ ├── redmine_plugin │ └── templates │ │ ├── README.rdoc │ │ ├── routes.rb │ │ ├── test_helper.rb.erb │ │ ├── en_rails_i18n.yml │ │ └── init.rb.erb │ ├── redmine_plugin_controller │ ├── templates │ │ ├── helper.rb.erb │ │ ├── view.html.erb │ │ ├── controller.rb.erb │ │ └── functional_test.rb.erb │ └── USAGE │ ├── redmine_plugin_model │ ├── templates │ │ ├── model.rb.erb │ │ └── unit_test.rb.erb │ └── USAGE │ └── redmine_plugin_migration │ ├── USAGE │ └── templates │ └── migration.rb.tt ├── themes ├── README └── ruby-lang │ └── images │ └── ruby-logo.png ├── files └── delete.me ├── log └── delete.me ├── plugins ├── README ├── redmineup_tags │ ├── Gemfile │ ├── assets │ │ └── images │ │ │ └── tag-icon.png │ ├── app │ │ └── views │ │ │ ├── tags │ │ │ ├── _select2_transformation_rules.html.erb │ │ │ └── _additional_assets.html.erb │ │ │ ├── issue_tags │ │ │ └── edit.js.erb │ │ │ └── issues │ │ │ └── _tags_sidebar.html.erb │ └── test │ │ └── fixtures │ │ └── tags.yml ├── redmica_s3 │ ├── Gemfile │ ├── .gitignore │ └── test │ │ └── test_helper.rb └── redmine_bugs_ruby_lang │ ├── Rakefile │ ├── lib │ ├── redmine_mailing_list_integration.rb │ └── redmine_mailing_list_integration │ │ └── receptors │ │ └── default_receptor.rb │ ├── assets │ ├── images │ │ └── mailing_list.png │ └── stylesheets │ │ └── mailing_list_integration.css │ ├── config │ └── routes.rb │ ├── .gitignore │ ├── db │ └── migrate │ │ └── 20190518145352_add_issues_lang.rb │ └── app │ ├── models │ └── based_on_mail.rb │ └── views │ └── mailing_lists │ └── new.html.erb ├── app ├── javascript │ ├── application.js │ └── controllers │ │ ├── index.js │ │ └── application.js ├── views │ ├── reactions │ │ ├── create.js.erb │ │ ├── destroy.js.erb │ │ └── _replace_button.js.erb │ ├── wiki │ │ ├── show.pdf.erb │ │ ├── export.pdf.erb │ │ ├── new.js.erb │ │ └── _content.html.erb │ ├── attachments │ │ ├── show.api.rsb │ │ ├── upload.api.rsb │ │ ├── file.html.erb │ │ ├── destroy.js.erb │ │ └── image.html.erb │ ├── issues │ │ ├── index.pdf.erb │ │ ├── show.pdf.erb │ │ ├── bulk_edit.js.erb │ │ ├── edit.html.erb │ │ ├── _sidebar.html.erb │ │ └── _action_menu_edit.html.erb │ ├── users │ │ ├── _memberships.html.erb │ │ ├── destroy_membership.js.erb │ │ └── _auto_watch_on.html.erb │ ├── groups │ │ ├── _memberships.html.erb │ │ ├── remove_user.js.erb │ │ ├── autocomplete_for_user.js.erb │ │ ├── destroy_membership.js.erb │ │ ├── edit.html.erb │ │ ├── new_users.js.erb │ │ ├── add_users.js.erb │ │ ├── _general.html.erb │ │ ├── new_users.html.erb │ │ └── index.api.rsb │ ├── mailer │ │ ├── register.text.erb │ │ ├── test_email.text.erb │ │ ├── register.html.erb │ │ ├── account_activated.text.erb │ │ ├── account_activation_request.text.erb │ │ ├── test_email.html.erb │ │ ├── account_activated.html.erb │ │ ├── document_added.text.erb │ │ ├── account_activation_request.html.erb │ │ ├── attachments_added.text.erb │ │ ├── news_comment_added.text.erb │ │ ├── attachments_added.html.erb │ │ ├── lost_password.text.erb │ │ ├── document_added.html.erb │ │ ├── news_comment_added.html.erb │ │ ├── lost_password.html.erb │ │ ├── security_notification.text.erb │ │ ├── wiki_content_added.text.erb │ │ ├── issue_add.html.erb │ │ ├── issue_add.text.erb │ │ ├── wiki_content_added.html.erb │ │ ├── settings_updated.text.erb │ │ └── wiki_content_updated.text.erb │ ├── imports │ │ ├── mapping.js.erb │ │ ├── _issues_mapping.js.erb │ │ ├── _users_mapping.js.erb │ │ ├── _time_entries_mapping.js.erb │ │ ├── _users_mapping.html.erb │ │ └── _issues_saved_objects.html.erb │ ├── timelog │ │ ├── _sidebar.html.erb │ │ ├── bulk_edit.js.erb │ │ ├── edit.js.erb │ │ ├── new.js.erb │ │ └── edit.html.erb │ ├── common │ │ ├── _image.html.erb │ │ ├── error_messages.api.rsb │ │ ├── _markup.html.erb │ │ ├── _no_preview.html.erb │ │ └── _preview.html.erb │ ├── repositories │ │ ├── remove_related_issue.js.erb │ │ ├── new.js.erb │ │ ├── new.html.erb │ │ └── edit.html.erb │ ├── admin │ │ ├── _menu.html.erb │ │ └── index.html.erb │ ├── watchers │ │ ├── autocomplete_for_user.html.erb │ │ ├── destroy.js.erb │ │ ├── append.js.erb │ │ ├── new.js.erb │ │ └── _set_watcher.js.erb │ ├── projects │ │ ├── _board.html.erb │ │ ├── _sidebar.html.erb │ │ ├── settings.html.erb │ │ ├── _edit.html.erb │ │ ├── bookmark.js.erb │ │ ├── autocomplete.js.erb │ │ └── new.html.erb │ ├── email_addresses │ │ ├── index.html.erb │ │ └── index.js.erb │ ├── account │ │ └── logout.html.erb │ ├── members │ │ ├── edit.html.erb │ │ ├── autocomplete.js.erb │ │ ├── destroy.js.erb │ │ ├── new.js.erb │ │ ├── edit.js.erb │ │ ├── update.js.erb │ │ └── new.html.erb │ ├── my │ │ ├── blocks │ │ │ ├── _news.html.erb │ │ │ ├── _calendar.html.erb │ │ │ ├── _documents.html.erb │ │ │ └── _activity.html.erb │ │ ├── remove_block.js.erb │ │ ├── update_page.js.erb │ │ ├── show_api_key.html.erb │ │ ├── add_block.js.erb │ │ └── show_api_key.js.erb │ ├── versions │ │ ├── status_by.js.erb │ │ ├── new.js.erb │ │ ├── edit.html.erb │ │ ├── new.html.erb │ │ └── create.js.erb │ ├── principal_memberships │ │ ├── edit.html.erb │ │ ├── destroy.js.erb │ │ ├── edit.js.erb │ │ └── new.html.erb │ ├── custom_fields │ │ ├── new.js.erb │ │ ├── formats │ │ │ ├── _attachment.html.erb │ │ │ ├── _bool.html.erb │ │ │ ├── _link.html.erb │ │ │ ├── _date.html.erb │ │ │ ├── _progressbar.html.erb │ │ │ └── _numeric.html.erb │ │ └── edit.html.erb │ ├── issue_categories │ │ ├── new.js.erb │ │ ├── _form.html.erb │ │ ├── create.js.erb │ │ ├── new.html.erb │ │ ├── show.api.rsb │ │ └── edit.html.erb │ ├── roles │ │ ├── index.api.rsb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── issue_relations │ │ ├── destroy.js.erb │ │ ├── show.api.rsb │ │ ├── create.js.erb │ │ └── index.api.rsb │ ├── trackers │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── svg_icons │ │ └── index.html.erb │ ├── layouts │ │ ├── mailer.text.erb │ │ └── admin.html.erb │ ├── settings │ │ ├── edit.html.erb │ │ └── _api.html.erb │ ├── auth_sources │ │ └── _form.html.erb │ ├── boards │ │ ├── new.html.erb │ │ └── edit.html.erb │ ├── queries │ │ ├── edit.html.erb │ │ ├── new.html.erb │ │ └── index.api.rsb │ ├── documents │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── issue_statuses │ │ ├── edit.html.erb │ │ ├── new.html.erb │ │ └── index.api.rsb │ ├── workflows │ │ └── _action_menu.html.erb │ ├── sudo_mode │ │ └── new.js.erb │ ├── messages │ │ └── quote.js.erb │ ├── twofa │ │ └── _twofa_code_form.html.erb │ ├── doorkeeper │ │ ├── applications │ │ │ ├── new.html.erb │ │ │ └── edit.html.erb │ │ └── authorizations │ │ │ ├── error.html.erb │ │ │ └── show.html.erb │ └── reports │ │ └── issue_report_details.html.erb ├── assets │ ├── images │ │ ├── add.png │ │ ├── copy.png │ │ ├── edit.png │ │ ├── fav.png │ │ ├── feed.png │ │ ├── help.png │ │ ├── link.png │ │ ├── move.png │ │ ├── news.png │ │ ├── save.png │ │ ├── time.png │ │ ├── true.png │ │ ├── user.png │ │ ├── cancel.png │ │ ├── close.png │ │ ├── comment.png │ │ ├── delete.png │ │ ├── email.png │ │ ├── false.png │ │ ├── fav_off.png │ │ ├── favicon.ico │ │ ├── files │ │ │ ├── c.png │ │ │ ├── css.png │ │ │ ├── js.png │ │ │ ├── pdf.png │ │ │ ├── php.png │ │ │ ├── xml.png │ │ │ ├── zip.png │ │ │ ├── csharp.png │ │ │ ├── html.png │ │ │ ├── image.png │ │ │ ├── java.png │ │ │ ├── ruby.png │ │ │ ├── text.png │ │ │ └── default.png │ │ ├── folder.png │ │ ├── group.png │ │ ├── history.png │ │ ├── loading.gif │ │ ├── locked.png │ │ ├── message.png │ │ ├── package.png │ │ ├── plugin.png │ │ ├── reload.png │ │ ├── reorder.png │ │ ├── report.png │ │ ├── stats.png │ │ ├── ticket.png │ │ ├── unlock.png │ │ ├── warning.png │ │ ├── zoom_in.png │ │ ├── 3_bullets.png │ │ ├── anonymous.png │ │ ├── arrow_up.png │ │ ├── bullet_go.png │ │ ├── calendar.png │ │ ├── changeset.png │ │ ├── close_hl.png │ │ ├── comments.png │ │ ├── copy_link.png │ │ ├── document.png │ │ ├── download.png │ │ ├── duplicate.png │ │ ├── email_add.png │ │ ├── external.png │ │ ├── hourglass.png │ │ ├── lightning.png │ │ ├── magnifier.png │ │ ├── projects.png │ │ ├── sort_asc.png │ │ ├── sort_desc.png │ │ ├── tag_blue.png │ │ ├── task_done.png │ │ ├── task_late.png │ │ ├── task_todo.png │ │ ├── textfield.png │ │ ├── ticket_go.png │ │ ├── time_add.png │ │ ├── wiki_edit.png │ │ ├── zoom_out.png │ │ ├── arrow_down.png │ │ ├── arrow_left.png │ │ ├── arrow_right.png │ │ ├── attachment.png │ │ ├── bullet_add.png │ │ ├── bullet_black.png │ │ ├── bullet_blue.png │ │ ├── bullet_end.png │ │ ├── database_go.png │ │ ├── database_key.png │ │ ├── exclamation.png │ │ ├── folder_open.png │ │ ├── link_break.png │ │ ├── server_key.png │ │ ├── tag_blue_add.png │ │ ├── ticket_edit.png │ │ ├── ticket_note.png │ │ ├── toggle_check.png │ │ ├── transparent.png │ │ ├── bullet_delete.png │ │ ├── bullet_diamond.png │ │ ├── bullet_orange.png │ │ ├── bullet_purple.png │ │ ├── email_disabled.png │ │ ├── milestone_done.png │ │ ├── milestone_late.png │ │ ├── milestone_todo.png │ │ ├── project_marker.png │ │ ├── table_multiple.png │ │ ├── textfield_key.png │ │ ├── ticket_checked.png │ │ ├── version_marker.png │ │ ├── folder_open_add.png │ │ ├── jstoolbar │ │ │ ├── bt_bq.png │ │ │ ├── bt_code.png │ │ │ ├── bt_del.png │ │ │ ├── bt_em.png │ │ │ ├── bt_h1.png │ │ │ ├── bt_h2.png │ │ │ ├── bt_h3.png │ │ │ ├── bt_img.png │ │ │ ├── bt_ins.png │ │ │ ├── bt_link.png │ │ │ ├── bt_ol.png │ │ │ ├── bt_pre.png │ │ │ ├── bt_tl.png │ │ │ ├── bt_ul.png │ │ │ ├── bt_strong.png │ │ │ ├── bt_table.png │ │ │ ├── bt_bq_remove.png │ │ │ ├── bt_precode.png │ │ │ └── checklist.svg │ │ ├── tag_blue_delete.png │ │ ├── task_parent_end.png │ │ ├── text_list_bullets.png │ │ ├── bullet_toggle_minus.png │ │ ├── bullet_toggle_plus.png │ │ ├── folder_open_orange.png │ │ ├── chevron-right-idnt.svg │ │ ├── search.svg │ │ └── chevron-down.svg │ ├── fonts │ │ ├── NotoSans-Bold.woff2 │ │ ├── NotoSans-Italic.woff2 │ │ ├── NotoSans-Regular.woff2 │ │ └── NotoSans-BoldItalic.woff2 │ ├── themes │ │ └── classic │ │ │ └── images │ │ │ ├── home.png │ │ │ └── wrench.png │ └── stylesheets │ │ └── jquery │ │ └── images │ │ ├── ui-icons_444444_256x240.png │ │ ├── ui-icons_555555_256x240.png │ │ ├── ui-icons_777620_256x240.png │ │ ├── ui-icons_777777_256x240.png │ │ ├── ui-icons_cc0000_256x240.png │ │ └── ui-icons_ffffff_256x240.png └── jobs │ └── application_job.rb ├── .stylelintignore ├── bin ├── rake ├── importmap ├── bundle ├── rails └── about ├── extra └── sample_plugin │ ├── assets │ ├── stylesheets │ │ └── example.css │ └── images │ │ └── it_works.png │ ├── app │ └── views │ │ ├── my │ │ └── blocks │ │ │ └── _sample_block.html.erb │ │ ├── settings │ │ └── _sample_plugin_settings.html.erb │ │ └── example │ │ └── say_goodbye.html.erb │ └── config │ ├── locales │ ├── en.yml │ └── fr.yml │ └── routes.rb ├── config ├── initializers │ ├── 20-mime_types.rb │ ├── airbrake.rb │ ├── doorkeeper.rb │ └── good_job.rb ├── environments │ ├── test_pgsql.rb │ └── test_sqlite3.rb └── importmap.rb ├── db └── migrate │ ├── 20251016024310_drop_heart.rb │ ├── 20160529063352_add_roles_settings.rb │ ├── 105_build_projects_tree.rb │ ├── 20161220091118_add_index_on_issues_parent_id.rb │ ├── 20200826153401_add_twofa_scheme_to_user.rb │ ├── 20211213122102_remove_open_id_setting.rb │ ├── 20170723112801_rename_comments_to_content.rb │ ├── 20211213122100_remove_identity_url_from_users.rb │ ├── 20140903143914_add_password_changed_at_to_user.rb │ ├── 20190315102101_add_trackers_description.rb │ ├── 20210801145548_remove_bcc_recipients_setting.rb │ ├── 20161126094932_add_index_on_changesets_issues_issue_id.rb │ ├── 20210704125704_add_twofa_required_to_groups.rb │ ├── 20161002133421_add_index_on_member_roles_inherited_from.rb │ ├── 20170207050700_add_index_on_disk_filename_to_attachments.rb │ ├── 20241213003659_add_unique_index_to_projects_identifier.rb │ ├── 20090704172350_populate_users_type.rb │ ├── 20150528084820_add_roles_all_roles_managed.rb │ ├── 20220806215628_add_default_time_entry_activity_to_roles.rb │ ├── 20200826153402_add_totp_to_user.rb │ ├── 20121209123234_add_queries_type.rb │ ├── 053_add_changes_branch.rb │ ├── 20110401192910_add_index_to_users_type.rb │ ├── 20130713111657_add_queries_options.rb │ ├── 20150528093249_add_unique_index_on_roles_managed_roles.rb │ ├── 052_add_changes_revision.rb │ ├── 054_add_changesets_scmid.rb │ ├── 063_add_roles_permissions.rb │ ├── 20091220183727_add_index_to_settings_name.rb │ ├── 20110223180944_add_users_salt.rb │ ├── 20120731164049_add_boards_parent_id.rb │ ├── 20121209123358_update_queries_to_sti.rb │ ├── 20091017214308_add_missing_indexes_to_news.rb │ ├── 20120714122000_add_workflows_type.rb │ ├── 20180913072918_add_verify_peer_to_auth_sources.rb │ ├── 071_add_queries_column_names.rb │ ├── 083_add_messages_sticky.rb │ ├── 087_change_projects_description_to_text.rb │ ├── 108_add_identity_url_to_users.rb │ ├── 20090425161243_add_queries_group_by.rb │ ├── 20090503121510_drop_members_role_id.rb │ ├── 20091017213444_add_missing_indexes_to_tokens.rb │ ├── 20240213101801_add_queries_description.rb │ ├── 059_add_roles_assignable.rb │ ├── 080_add_users_type.rb │ ├── 082_add_messages_locked.rb │ ├── 20090614091200_fix_messages_sticky_null.rb │ ├── 20130215111127_add_issues_closed_on.rb │ ├── 037_add_project_identifier.rb │ ├── 061_add_roles_builtin.rb │ ├── 064_drop_permissions.rb │ ├── 069_add_issues_estimated_hours.rb │ ├── 20090323224724_add_type_to_enumerations.rb │ ├── 20120301153455_add_auth_sources_filter.rb │ ├── 20120707064544_add_auth_sources_timeout.rb │ ├── 20120714122100_update_workflows_to_sti.rb │ ├── 20190510070108_add_unique_id_to_import_items.rb │ ├── 051_add_project_status.rb │ ├── 089_add_attachments_description.rb │ ├── 100_add_changesets_user_id.rb │ ├── 20090312172426_add_queries_sort_criteria.rb │ ├── 20091017213757_add_missing_indexes_to_boards.rb │ ├── 20121026003537_populate_enumerations_position_name.rb │ ├── 20150113213955_add_email_addresses_user_id_index.rb │ ├── 057_add_versions_wiki_page_title.rb │ ├── 077_remove_issue_statuses_html_color.rb │ ├── 095_add_wiki_pages_parent_id.rb │ ├── 20091017213332_add_missing_indexes_to_documents.rb │ ├── 20131005100610_add_repositories_created_on.rb │ ├── 20131210180802_add_custom_fields_description.rb │ ├── 20161001122012_add_tracker_id_index_to_workflows.rb │ ├── 20170418090031_add_view_news_to_all_existing_roles.rb │ ├── 009_add_hide_mail_pref.rb │ ├── 074_add_auth_sources_tls.rb │ ├── 079_add_user_preferences_time_zone.rb │ ├── 20110511000000_add_repositories_extra_info.rb │ ├── 20120115143024_add_repositories_identifier.rb │ ├── 20131124175346_add_custom_fields_format_store.rb │ ├── 011_add_news_comments_count.rb │ ├── 088_add_custom_fields_default_value.rb │ ├── 102_add_custom_fields_editable.rb │ ├── 20091017212938_add_missing_indexes_to_repositories.rb │ ├── 20091017214440_add_missing_indexes_to_wiki_contents.rb │ ├── 20091017214720_add_missing_indexes_to_wiki_redirects.rb │ ├── 20100313171051_add_index_on_issues_nested_set.rb │ ├── 20120705074331_add_trackers_fields_bits.rb │ ├── 20121213084931_add_attachments_disk_directory.rb │ ├── 20170419144536_add_view_messages_to_all_existing_roles.rb │ ├── 20230818020734_add_status_description.rb │ ├── 031_add_repository_root_url.rb │ ├── 090_change_versions_name_limit.rb │ ├── 106_remove_projects_projects_count.rb │ ├── 044_set_language_length_to_five.rb │ ├── 086_add_custom_fields_searchable.rb │ ├── 093_add_wiki_pages_protected.rb │ ├── 20090704172358_add_member_roles_inherited_from.rb │ ├── 20091017213257_add_missing_indexes_to_auth_sources.rb │ ├── 20091017213835_add_missing_indexes_to_user_preferences.rb │ ├── 20110412065600_add_issues_is_private.rb │ ├── 20120127174243_add_custom_fields_multiple.rb │ ├── 20121026002032_add_enumerations_position_name.rb │ ├── 20151021185456_change_auth_sources_filter_to_text.rb │ ├── 023_add_tracker_is_in_roadmap.rb │ ├── 058_add_issue_categories_assigned_to_id.rb │ ├── 092_change_changes_from_revision_to_string.rb │ ├── 20091017213113_add_missing_indexes_to_enumerations.rb │ ├── 20091017214107_add_missing_indexes_to_custom_fields.rb │ ├── 20091017214519_add_missing_indexes_to_custom_values.rb │ ├── 20120115143100_add_repositories_is_default.rb │ ├── 20150528092912_create_roles_managed_roles.rb │ ├── 20210728131544_drop_is_in_chlog_column.rb │ ├── 20220224194639_delete_orphaned_time_entry_activities.rb │ ├── 20220714093010_add_journal_updated_by.rb │ ├── 038_add_custom_field_is_filter.rb │ ├── 073_add_enumerations_is_default.rb │ ├── 20120930112914_add_journals_private_notes.rb │ ├── 20250611092227_enable_pkce.rb │ ├── 20090318181151_extend_settings_name.rb │ ├── 20091017213642_add_missing_indexes_to_issue_categories.rb │ ├── 20130202090625_add_projects_inherit_members.rb │ ├── 20130729070143_add_users_must_change_passwd.rb │ ├── 048_allow_null_version_effective_date.rb │ ├── 060_change_changesets_committer_limit.rb │ ├── 065_add_settings_updated_on.rb │ ├── 075_add_members_mail_notification.rb │ ├── 084_change_auth_sources_account_limit.rb │ ├── 20090401231134_add_active_field_to_enumerations.rb │ ├── 20090406161854_add_parent_id_to_enumerations.rb │ ├── 20091108092559_add_versions_status.rb │ ├── 20151024082034_add_tokens_updated_on.rb │ ├── 20170302015225_change_attachments_digest_limit_to_64.rb │ ├── 036_add_changeset_commit_date.rb │ ├── 20091123212029_add_default_done_ratio_to_issue_status.rb │ ├── 20110228000000_add_repositories_log_encoding.rb │ ├── 20190620135549_change_roles_name_limit.rb │ ├── 104_add_projects_lft_and_rgt.rb │ ├── 20101114115359_change_projects_identifier_limit.rb │ ├── 20110224000000_add_repositories_path_encoding.rb │ ├── 20141109112308_add_roles_users_visibility.rb │ ├── 20241007144951_change_text_formatting_from_markdown_to_common_mark.rb │ ├── 070_change_attachments_content_type_limit.rb │ ├── 20091205124427_add_versions_sharing.rb │ ├── 20150730122735_create_import_items.rb │ ├── 20210705111300_add_projects_default_issue_query_id.rb │ ├── 020_add_role_position.rb │ ├── 094_change_projects_homepage_limit.rb │ ├── 20090214190337_add_watchers_user_id_type_index.rb │ ├── 20091220183509_add_lft_and_rgt_indexes_to_projects.rb │ ├── 20100129193813_update_mail_notification_values.rb │ ├── 20100221100219_add_index_on_changesets_scmid.rb │ ├── 20110408103312_add_roles_issues_visibility.rb │ ├── 20161010081600_change_journals_notes_limit.rb │ ├── 20220714093000_add_journal_updated_on.rb │ ├── 20241103150135_change_settings_value_limit.rb │ ├── 103_set_custom_fields_editable.rb │ ├── 20091017214015_add_missing_indexes_to_members.rb │ ├── 20091017214136_add_missing_indexes_to_queries.rb │ ├── 20150921204850_change_time_entries_comments_limit_to_1024.rb │ ├── 20221004172825_ensure_text_formatting_setting_is_stored_in_db.rb │ ├── 20140228130325_change_changesets_comments_limit.rb │ ├── 20161010081301_change_issues_description_limit.rb │ ├── 20190315094151_change_custom_values_value_limit.rb │ ├── 20250530185658_ensure_wiki_tablesort_setting_is_stored_in_db.rb │ ├── 021_add_tracker_position.rb │ ├── 055_add_repositories_type.rb │ ├── 066_add_custom_value_customized_index.rb │ ├── 20120205111326_change_users_login_limit.rb │ ├── 20150526183158_add_roles_time_entries_visibility.rb │ ├── 20231012112407_remove_mention_users_permission.rb │ ├── 005_issue_start_date.rb │ ├── 008_create_user_preferences.rb │ ├── 20090503121501_create_member_roles.rb │ └── 20090503121505_populate_member_roles.rb ├── docker-compose.yml ├── package.json ├── Procfile └── Rakefile /README.rdoc: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Aptfile: -------------------------------------------------------------------------------- 1 | git 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/mailers/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/models/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tmp/test/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/controllers/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tmp/thumbnails/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/plugin_assets/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.slugignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /test 3 | -------------------------------------------------------------------------------- /lib/plugins/acts_as_tree/test/database.yml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/plugins/acts_as_tree/test/schema.rb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/files/invalid-Shift_JIS.csv: -------------------------------------------------------------------------------- 1 | Ȁ -------------------------------------------------------------------------------- /lib/plugins/acts_as_tree/test/abstract_unit.rb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/plugins/acts_as_tree/test/fixtures/mixin.rb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/plugins/gravatar/.gitignore: -------------------------------------------------------------------------------- 1 | coverage 2 | -------------------------------------------------------------------------------- /test/fixtures/files/japanese-utf-8.txt: -------------------------------------------------------------------------------- 1 | 日本語 2 | -------------------------------------------------------------------------------- /themes/README: -------------------------------------------------------------------------------- 1 | Put your Redmine themes here. 2 | -------------------------------------------------------------------------------- /files/delete.me: -------------------------------------------------------------------------------- 1 | default directory for uploaded files -------------------------------------------------------------------------------- /lib/plugins/acts_as_tree/test/fixtures/mixins.yml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /log/delete.me: -------------------------------------------------------------------------------- 1 | default directory for log files 2 | -------------------------------------------------------------------------------- /plugins/README: -------------------------------------------------------------------------------- 1 | Put your Redmine plugins here. 2 | -------------------------------------------------------------------------------- /plugins/redmineup_tags/Gemfile: -------------------------------------------------------------------------------- 1 | gem 'redmineup' 2 | -------------------------------------------------------------------------------- /app/javascript/application.js: -------------------------------------------------------------------------------- 1 | import "controllers" 2 | -------------------------------------------------------------------------------- /plugins/redmica_s3/Gemfile: -------------------------------------------------------------------------------- 1 | gem 'aws-sdk-s3', '~> 1.0' 2 | -------------------------------------------------------------------------------- /test/fixtures/views/_partial.html.erb: -------------------------------------------------------------------------------- 1 | partial html 2 | -------------------------------------------------------------------------------- /.stylelintignore: -------------------------------------------------------------------------------- 1 | public/stylesheets/jquery/jquery-ui-*.css 2 | -------------------------------------------------------------------------------- /test/fixtures/plugins/foo_plugin/assets/stylesheets/foo.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/views/reactions/create.js.erb: -------------------------------------------------------------------------------- 1 | <%= render 'replace_button' %> 2 | -------------------------------------------------------------------------------- /test/fixtures/files/hello.js: -------------------------------------------------------------------------------- 1 | document.write('Hello, World!'); 2 | -------------------------------------------------------------------------------- /app/views/reactions/destroy.js.erb: -------------------------------------------------------------------------------- 1 | <%= render 'replace_button' %> 2 | -------------------------------------------------------------------------------- /app/views/wiki/show.pdf.erb: -------------------------------------------------------------------------------- 1 | <%= raw wiki_page_to_pdf(@page, @project) %> -------------------------------------------------------------------------------- /plugins/redmica_s3/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .swp 3 | Gemfile.lock 4 | -------------------------------------------------------------------------------- /plugins/redmine_bugs_ruby_lang/Rakefile: -------------------------------------------------------------------------------- 1 | require "bundler/gem_tasks" 2 | -------------------------------------------------------------------------------- /app/views/attachments/show.api.rsb: -------------------------------------------------------------------------------- 1 | render_api_attachment(@attachment, api) 2 | -------------------------------------------------------------------------------- /app/views/wiki/export.pdf.erb: -------------------------------------------------------------------------------- 1 | <%= raw wiki_pages_to_pdf(@pages, @project) %> -------------------------------------------------------------------------------- /app/views/issues/index.pdf.erb: -------------------------------------------------------------------------------- 1 | <%= raw issues_to_pdf(@issues, @project, @query) %> -------------------------------------------------------------------------------- /app/views/users/_memberships.html.erb: -------------------------------------------------------------------------------- 1 | <%= render_principal_memberships @user %> 2 | -------------------------------------------------------------------------------- /test/fixtures/files/testfile.md: -------------------------------------------------------------------------------- 1 | # Header 1 2 | ## Header 2 3 | ### Header 3 4 | -------------------------------------------------------------------------------- /app/views/groups/_memberships.html.erb: -------------------------------------------------------------------------------- 1 | <%= render_principal_memberships @group %> 2 | -------------------------------------------------------------------------------- /app/views/issues/show.pdf.erb: -------------------------------------------------------------------------------- 1 | <%= raw issue_to_pdf(@issue, :journals => @journals) %> -------------------------------------------------------------------------------- /app/views/mailer/register.text.erb: -------------------------------------------------------------------------------- 1 | <%= l(:mail_body_register) %> 2 | <%= @url %> 3 | -------------------------------------------------------------------------------- /app/views/imports/mapping.js.erb: -------------------------------------------------------------------------------- 1 | <%= render :partial => "#{import_partial_prefix}_mapping" %> 2 | -------------------------------------------------------------------------------- /app/views/timelog/_sidebar.html.erb: -------------------------------------------------------------------------------- 1 | <%= render_sidebar_queries(TimeEntryQuery, @project) %> 2 | -------------------------------------------------------------------------------- /test/fixtures/files/import_dates_ja.csv: -------------------------------------------------------------------------------- 1 | subject;start 2 | Date in %Y/%m/%d format;2019/05/28; 3 | -------------------------------------------------------------------------------- /test/fixtures/files/testfile.textile: -------------------------------------------------------------------------------- 1 | h1. Header 1 2 | 3 | h2. Header 2 4 | 5 | h3. Header 3 6 | -------------------------------------------------------------------------------- /test/fixtures/files/unclosed_quoted_field.csv: -------------------------------------------------------------------------------- 1 | subject;description 2 | foo;"Unclosed quoted field -------------------------------------------------------------------------------- /app/assets/images/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/add.png -------------------------------------------------------------------------------- /app/assets/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/copy.png -------------------------------------------------------------------------------- /app/assets/images/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/edit.png -------------------------------------------------------------------------------- /app/assets/images/fav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/fav.png -------------------------------------------------------------------------------- /app/assets/images/feed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/feed.png -------------------------------------------------------------------------------- /app/assets/images/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/help.png -------------------------------------------------------------------------------- /app/assets/images/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/link.png -------------------------------------------------------------------------------- /app/assets/images/move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/move.png -------------------------------------------------------------------------------- /app/assets/images/news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/news.png -------------------------------------------------------------------------------- /app/assets/images/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/save.png -------------------------------------------------------------------------------- /app/assets/images/time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/time.png -------------------------------------------------------------------------------- /app/assets/images/true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/true.png -------------------------------------------------------------------------------- /app/assets/images/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/user.png -------------------------------------------------------------------------------- /app/views/common/_image.html.erb: -------------------------------------------------------------------------------- 1 | <%= image_tag path, :alt => alt, :class => 'filecontent image' %> 2 | -------------------------------------------------------------------------------- /app/views/repositories/remove_related_issue.js.erb: -------------------------------------------------------------------------------- 1 | $('#related-issue-<%= @issue.id %>').remove(); 2 | -------------------------------------------------------------------------------- /test/fixtures/files/testfile.txt: -------------------------------------------------------------------------------- 1 | this is a text file for upload tests 2 | with multiple lines 3 | -------------------------------------------------------------------------------- /app/assets/images/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/cancel.png -------------------------------------------------------------------------------- /app/assets/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/close.png -------------------------------------------------------------------------------- /app/assets/images/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/comment.png -------------------------------------------------------------------------------- /app/assets/images/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/delete.png -------------------------------------------------------------------------------- /app/assets/images/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/email.png -------------------------------------------------------------------------------- /app/assets/images/false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/false.png -------------------------------------------------------------------------------- /app/assets/images/fav_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/fav_off.png -------------------------------------------------------------------------------- /app/assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/favicon.ico -------------------------------------------------------------------------------- /app/assets/images/files/c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/files/c.png -------------------------------------------------------------------------------- /app/assets/images/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/folder.png -------------------------------------------------------------------------------- /app/assets/images/group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/group.png -------------------------------------------------------------------------------- /app/assets/images/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/history.png -------------------------------------------------------------------------------- /app/assets/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/loading.gif -------------------------------------------------------------------------------- /app/assets/images/locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/locked.png -------------------------------------------------------------------------------- /app/assets/images/message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/message.png -------------------------------------------------------------------------------- /app/assets/images/package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/package.png -------------------------------------------------------------------------------- /app/assets/images/plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/plugin.png -------------------------------------------------------------------------------- /app/assets/images/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/reload.png -------------------------------------------------------------------------------- /app/assets/images/reorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/reorder.png -------------------------------------------------------------------------------- /app/assets/images/report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/report.png -------------------------------------------------------------------------------- /app/assets/images/stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/stats.png -------------------------------------------------------------------------------- /app/assets/images/ticket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/ticket.png -------------------------------------------------------------------------------- /app/assets/images/unlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/unlock.png -------------------------------------------------------------------------------- /app/assets/images/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/warning.png -------------------------------------------------------------------------------- /app/assets/images/zoom_in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/zoom_in.png -------------------------------------------------------------------------------- /app/views/admin/_menu.html.erb: -------------------------------------------------------------------------------- 1 |
4 | -------------------------------------------------------------------------------- /app/views/mailer/test_email.text.erb: -------------------------------------------------------------------------------- 1 | This is a test email sent by Redmine. 2 | Redmine URL: <%= @url %> 3 | -------------------------------------------------------------------------------- /lib/generators/redmine_plugin/templates/README.rdoc: -------------------------------------------------------------------------------- 1 | = <%= file_name %> 2 | 3 | Description goes here 4 | -------------------------------------------------------------------------------- /app/assets/images/3_bullets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/3_bullets.png -------------------------------------------------------------------------------- /app/assets/images/anonymous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/anonymous.png -------------------------------------------------------------------------------- /app/assets/images/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/arrow_up.png -------------------------------------------------------------------------------- /app/assets/images/bullet_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/bullet_go.png -------------------------------------------------------------------------------- /app/assets/images/calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/calendar.png -------------------------------------------------------------------------------- /app/assets/images/changeset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/changeset.png -------------------------------------------------------------------------------- /app/assets/images/close_hl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/close_hl.png -------------------------------------------------------------------------------- /app/assets/images/comments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/comments.png -------------------------------------------------------------------------------- /app/assets/images/copy_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/copy_link.png -------------------------------------------------------------------------------- /app/assets/images/document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/document.png -------------------------------------------------------------------------------- /app/assets/images/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/download.png -------------------------------------------------------------------------------- /app/assets/images/duplicate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/duplicate.png -------------------------------------------------------------------------------- /app/assets/images/email_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/email_add.png -------------------------------------------------------------------------------- /app/assets/images/external.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/external.png -------------------------------------------------------------------------------- /app/assets/images/files/css.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/files/css.png -------------------------------------------------------------------------------- /app/assets/images/files/js.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/files/js.png -------------------------------------------------------------------------------- /app/assets/images/files/pdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/files/pdf.png -------------------------------------------------------------------------------- /app/assets/images/files/php.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/files/php.png -------------------------------------------------------------------------------- /app/assets/images/files/xml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/files/xml.png -------------------------------------------------------------------------------- /app/assets/images/files/zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/files/zip.png -------------------------------------------------------------------------------- /app/assets/images/hourglass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/hourglass.png -------------------------------------------------------------------------------- /app/assets/images/lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/lightning.png -------------------------------------------------------------------------------- /app/assets/images/magnifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/magnifier.png -------------------------------------------------------------------------------- /app/assets/images/projects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/projects.png -------------------------------------------------------------------------------- /app/assets/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/sort_asc.png -------------------------------------------------------------------------------- /app/assets/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/sort_desc.png -------------------------------------------------------------------------------- /app/assets/images/tag_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/tag_blue.png -------------------------------------------------------------------------------- /app/assets/images/task_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/task_done.png -------------------------------------------------------------------------------- /app/assets/images/task_late.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/task_late.png -------------------------------------------------------------------------------- /app/assets/images/task_todo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/task_todo.png -------------------------------------------------------------------------------- /app/assets/images/textfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/textfield.png -------------------------------------------------------------------------------- /app/assets/images/ticket_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/ticket_go.png -------------------------------------------------------------------------------- /app/assets/images/time_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/time_add.png -------------------------------------------------------------------------------- /app/assets/images/wiki_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/wiki_edit.png -------------------------------------------------------------------------------- /app/assets/images/zoom_out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/app/assets/images/zoom_out.png -------------------------------------------------------------------------------- /app/views/mailer/register.html.erb: -------------------------------------------------------------------------------- 1 |<%= l(:mail_body_register) %>
2 | <%= link_to @url, @url %>
<%= submit_tag l(:label_logout) %>
3 | <% end %> 4 | -------------------------------------------------------------------------------- /app/views/groups/remove_user.js.erb: -------------------------------------------------------------------------------- 1 | $('#tab-content-users').html('<%= escape_javascript(render :partial => 'groups/users') %>'); 2 | -------------------------------------------------------------------------------- /app/views/mailer/account_activated.text.erb: -------------------------------------------------------------------------------- 1 | <%= l(:notice_account_activated) %> 2 | <%= l(:label_login) %>: <%= @login_url %> 3 | -------------------------------------------------------------------------------- /config/initializers/20-mime_types.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # Add new mime types for use in respond_to blocks: 4 | -------------------------------------------------------------------------------- /lib/generators/redmine_plugin_controller/templates/view.html.erb: -------------------------------------------------------------------------------- 1 |This is a test email sent by Redmine.
2 | Redmine URL: <%= link_to @url, @url %>
<%= l(:notice_account_activated) %>
2 |<%= l(:label_login) %>: <%= link_to @login_url, @login_url %>
3 | -------------------------------------------------------------------------------- /app/views/mailer/document_added.text.erb: -------------------------------------------------------------------------------- 1 | <%= @document.title %> (<%= @document.category.name %>) 2 | <%= @document_url %> 3 | 4 | <%= @document.description %> 5 | -------------------------------------------------------------------------------- /app/views/members/destroy.js.erb: -------------------------------------------------------------------------------- 1 | $('#tab-content-members').html('<%= escape_javascript(render :partial => 'projects/settings/members') %>'); 2 | hideOnLoad(); 3 | -------------------------------------------------------------------------------- /app/views/members/new.js.erb: -------------------------------------------------------------------------------- 1 | $('#ajax-modal').html('<%= escape_javascript(render :partial => 'members/new_modal') %>'); 2 | showModal('ajax-modal', '90%'); 3 | -------------------------------------------------------------------------------- /app/views/versions/new.js.erb: -------------------------------------------------------------------------------- 1 | $('#ajax-modal').html('<%= escape_javascript(render :partial => 'versions/new_modal') %>'); 2 | showModal('ajax-modal', '600px'); 3 | -------------------------------------------------------------------------------- /plugins/redmineup_tags/app/views/tags/_select2_transformation_rules.html.erb: -------------------------------------------------------------------------------- 1 | <%= transform_to_select2('issue_tags', url: auto_complete_redmine_tags_path) %> 2 | -------------------------------------------------------------------------------- /test/fixtures/files/2010/11/101123161450_testfile_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/test/fixtures/files/2010/11/101123161450_testfile_1.png -------------------------------------------------------------------------------- /test/fixtures/files/2010/12/101223161450_testfile_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/test/fixtures/files/2010/12/101223161450_testfile_2.png -------------------------------------------------------------------------------- /test/fixtures/repositories/filesystem_repository.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/test/fixtures/repositories/filesystem_repository.tar.gz -------------------------------------------------------------------------------- /test/fixtures/repositories/subversion_repository.dump.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ruby/b.r-l.o/ro-6-1/test/fixtures/repositories/subversion_repository.dump.gz -------------------------------------------------------------------------------- /test/fixtures/themes/foo_theme/stylesheets/application.css: -------------------------------------------------------------------------------- 1 | /* load the default Redmine stylesheet */ 2 | @import url(../../../stylesheets/application.css); 3 | -------------------------------------------------------------------------------- /app/views/attachments/file.html.erb: -------------------------------------------------------------------------------- 1 | <%= render :layout => 'layouts/file' do %> 2 | 3 | <%= render_file_content(@attachment, @content) %> 4 | <% end %> 5 | -------------------------------------------------------------------------------- /app/views/mailer/account_activation_request.html.erb: -------------------------------------------------------------------------------- 1 |<%= l(:mail_body_account_activation_request, h(@new_user.login)) %>
2 |<%= link_to @url, @url %>
3 | -------------------------------------------------------------------------------- /app/views/my/blocks/_calendar.html.erb: -------------------------------------------------------------------------------- 1 |<%= text_field_tag 'settings[sample_setting]', @settings['sample_setting'] %>
2 | -------------------------------------------------------------------------------- /app/views/mailer/news_comment_added.text.erb: -------------------------------------------------------------------------------- 1 | <%= @news.title %> 2 | <%= @news_url %> 3 | 4 | <%= l(:text_user_wrote, :value => @comment.author) %> 5 | 6 | <%= @comment.comments %> 7 | -------------------------------------------------------------------------------- /app/views/members/edit.js.erb: -------------------------------------------------------------------------------- 1 | $("#member-<%= @member.id %>-roles").hide(); 2 | $("#member-<%= @member.id %>-form").html("<%= escape_javascript(render :partial => "edit") %>"); 3 | 4 | -------------------------------------------------------------------------------- /app/views/roles/index.api.rsb: -------------------------------------------------------------------------------- 1 | api.array :roles do 2 | @roles.each do |role| 3 | api.role do 4 | api.id role.id 5 | api.name role.name 6 | end 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /db/migrate/20160529063352_add_roles_settings.rb: -------------------------------------------------------------------------------- 1 | class AddRolesSettings < ActiveRecord::Migration[4.2] 2 | def change 3 | add_column :roles, :settings, :text 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /test/fixtures/files/import_dates.csv: -------------------------------------------------------------------------------- 1 | subject;start;due;custom 2 | Valid dates;10/07/2015;12/08/2015;14/07/2015 3 | Invalid start date;04/15/2015;; 4 | Invalid custom date;;;04/15/2015 5 | -------------------------------------------------------------------------------- /test/fixtures/plugins/other_plugin/_other_plugin_settings.html.erb: -------------------------------------------------------------------------------- 1 |<%= text_field_tag 'settings[sample_setting]', @settings['sample_setting'] %>
2 | -------------------------------------------------------------------------------- /test/fixtures/plugins/redmine_test_plugin_bar/config/routes.rb: -------------------------------------------------------------------------------- 1 | # same path helper name with foo's 2 | get '/bar_plugin_articles', as: :plugin_articles, to: 'bar_plugin_articles#index' 3 | -------------------------------------------------------------------------------- /app/views/my/update_page.js.erb: -------------------------------------------------------------------------------- 1 | <% @updated_blocks.each do |block| %> 2 | $("#block-<%= block %>").replaceWith("<%= escape_javascript render_block(block.to_s, @user) %>"); 3 | <% end %> 4 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | db: 4 | image: postgres:11.13 5 | ports: 6 | - "5432:5432" 7 | environment: 8 | - POSTGRES_HOST_AUTH_METHOD=trust 9 | -------------------------------------------------------------------------------- /plugins/redmineup_tags/app/views/issue_tags/edit.js.erb: -------------------------------------------------------------------------------- 1 | $('#ajax-modal').html('<%= escape_javascript(render :partial => 'issue_tags/edit_modal') %>'); 2 | showModal('ajax-modal', '600px'); 3 | -------------------------------------------------------------------------------- /test/fixtures/files/import_issues_no_data_row.csv: -------------------------------------------------------------------------------- 1 | priority;Subject;start_date;parent;private;progress;custom;"target version";category;user;estimated_hours;tracker;status;database;cf_6; 2 | -------------------------------------------------------------------------------- /app/jobs/application_job.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class ApplicationJob < ActiveJob::Base 4 | include Redmine::JobWrapper 5 | 6 | around_enqueue :keep_current_user 7 | end 8 | -------------------------------------------------------------------------------- /app/views/issue_relations/destroy.js.erb: -------------------------------------------------------------------------------- 1 | $('#relation-<%= @relation.id %>').remove(); 2 | $(".issues-stat").replaceWith('<%= escape_javascript(render_relations_stats(@issue, @relations)) %>') 3 | -------------------------------------------------------------------------------- /db/migrate/105_build_projects_tree.rb: -------------------------------------------------------------------------------- 1 | class BuildProjectsTree < ActiveRecord::Migration[4.2] 2 | def self.up 3 | Project.rebuild_tree! 4 | end 5 | 6 | def self.down 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /db/migrate/20161220091118_add_index_on_issues_parent_id.rb: -------------------------------------------------------------------------------- 1 | class AddIndexOnIssuesParentId < ActiveRecord::Migration[4.2] 2 | def change 3 | add_index :issues, :parent_id 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /test/fixtures/diffs/issue-13644-1.diff: -------------------------------------------------------------------------------- 1 | --- a.txt 2013-04-05 14:19:39.000000000 +0900 2 | +++ b.txt 2013-04-05 14:19:51.000000000 +0900 3 | @@ -1,3 +1,3 @@ 4 | aaaa 5 | -日本 6 | +日本語 7 | bbbb 8 | -------------------------------------------------------------------------------- /test/fixtures/diffs/issue-13644-2.diff: -------------------------------------------------------------------------------- 1 | --- a.txt 2013-04-05 14:19:39.000000000 +0900 2 | +++ b.txt 2013-04-05 14:19:51.000000000 +0900 3 | @@ -1,3 +1,3 @@ 4 | aaaa 5 | -日本 6 | +にっぽん日本 7 | bbbb 8 | -------------------------------------------------------------------------------- /test/fixtures/diffs/issue-13644-3.diff: -------------------------------------------------------------------------------- 1 | --- a.txt 2013-07-27 06:03:49.133257759 +0900 2 | +++ b.txt 2013-07-27 06:03:58.791221118 +0900 3 | @@ -1,3 +1,3 @@ 4 | aaaa 5 | -日本記 6 | +日本娘 7 | bbbb 8 | -------------------------------------------------------------------------------- /test/fixtures/diffs/issue-13644-4.diff: -------------------------------------------------------------------------------- 1 | --- a.txt 2013-07-27 04:20:45.973229414 +0900 2 | +++ b.txt 2013-07-27 04:20:52.366228105 +0900 3 | @@ -1,3 +1,3 @@ 4 | aaaa 5 | -日本記 6 | +日本誘 7 | bbbb 8 | -------------------------------------------------------------------------------- /app/views/my/blocks/_documents.html.erb: -------------------------------------------------------------------------------- 1 |<%= @user.api_key %>5 |
<%= link_to l(:button_back), action: 'account' %>
8 | -------------------------------------------------------------------------------- /app/views/projects/_edit.html.erb: -------------------------------------------------------------------------------- 1 | <%= labelled_form_for @project, :html => {:multipart => true} do |f| %> 2 | <%= render :partial => 'form', :locals => { :f => f } %> 3 | <%= submit_tag l(:button_save) %> 4 | <% end %> 5 | -------------------------------------------------------------------------------- /db/migrate/20140903143914_add_password_changed_at_to_user.rb: -------------------------------------------------------------------------------- 1 | class AddPasswordChangedAtToUser < ActiveRecord::Migration[4.2] 2 | def change 3 | add_column :users, :passwd_changed_on, :datetime 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20190315102101_add_trackers_description.rb: -------------------------------------------------------------------------------- 1 | class AddTrackersDescription < ActiveRecord::Migration[5.2] 2 | def change 3 | add_column :trackers, :description, :string, :after => :name 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20210801145548_remove_bcc_recipients_setting.rb: -------------------------------------------------------------------------------- 1 | class RemoveBccRecipientsSetting < ActiveRecord::Migration[6.1] 2 | def change 3 | Setting.where(:name => 'bcc_recipients').delete_all 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /plugins/redmineup_tags/app/views/issues/_tags_sidebar.html.erb: -------------------------------------------------------------------------------- 1 | <% unless sidebar_tags.empty? -%> 2 | 6 | <% end -%> 7 | -------------------------------------------------------------------------------- /app/javascript/controllers/index.js: -------------------------------------------------------------------------------- 1 | import { application } from "controllers/application" 2 | import { eagerLoadControllersFrom } from "@hotwired/stimulus-loading" 3 | eagerLoadControllersFrom("controllers", application) 4 | -------------------------------------------------------------------------------- /db/migrate/20161126094932_add_index_on_changesets_issues_issue_id.rb: -------------------------------------------------------------------------------- 1 | class AddIndexOnChangesetsIssuesIssueId < ActiveRecord::Migration[4.2] 2 | def change 3 | add_index :changesets_issues, :issue_id 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20210704125704_add_twofa_required_to_groups.rb: -------------------------------------------------------------------------------- 1 | class AddTwofaRequiredToGroups < ActiveRecord::Migration[6.1] 2 | def change 3 | add_column :users, :twofa_required, :boolean, default: false 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /lib/plugins/gravatar/init.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative 'lib/gravatar' 4 | Rails.application.reloader.to_prepare do 5 | ApplicationRecord.send :include, GravatarHelper::PublicMethods 6 | end 7 | -------------------------------------------------------------------------------- /app/views/trackers/edit.html.erb: -------------------------------------------------------------------------------- 1 | <%= title [l(:label_tracker_plural), trackers_path], @tracker.name %> 2 | 3 | <%= labelled_form_for @tracker do |f| %> 4 | <%= render :partial => 'form', :locals => { :f => f } %> 5 | <% end %> 6 | -------------------------------------------------------------------------------- /db/migrate/20161002133421_add_index_on_member_roles_inherited_from.rb: -------------------------------------------------------------------------------- 1 | class AddIndexOnMemberRolesInheritedFrom < ActiveRecord::Migration[4.2] 2 | def change 3 | add_index :member_roles, :inherited_from 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20170207050700_add_index_on_disk_filename_to_attachments.rb: -------------------------------------------------------------------------------- 1 | class AddIndexOnDiskFilenameToAttachments < ActiveRecord::Migration[4.2] 2 | def change 3 | add_index :attachments, :disk_filename 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/views/svg_icons/index.html.erb: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /app/views/trackers/new.html.erb: -------------------------------------------------------------------------------- 1 | <%= title [l(:label_tracker_plural), trackers_path], l(:label_tracker_new) %> 2 | 3 | <%= labelled_form_for @tracker do |f| %> 4 | <%= render :partial => 'form', :locals => { :f => f } %> 5 | <% end %> 6 | -------------------------------------------------------------------------------- /db/migrate/20241213003659_add_unique_index_to_projects_identifier.rb: -------------------------------------------------------------------------------- 1 | class AddUniqueIndexToProjectsIdentifier < ActiveRecord::Migration[7.2] 2 | def change 3 | add_index :projects, :identifier, :unique => true 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /extra/sample_plugin/config/locales/en.yml: -------------------------------------------------------------------------------- 1 | # Sample plugin 2 | en: 3 | label_plugin_example: Sample Plugin 4 | label_meeting_plural: Meetings 5 | text_say_hello: Plugin say 'Hello' 6 | text_say_goodbye: Plugin say 'Good bye' 7 | -------------------------------------------------------------------------------- /lib/generators/redmine_plugin_controller/templates/controller.rb.erb: -------------------------------------------------------------------------------- 1 | class <%= @controller_class %>Controller < ApplicationController 2 | <% actions.each do |action| -%> 3 | 4 | def <%= action %> 5 | end 6 | <% end -%> 7 | end 8 | -------------------------------------------------------------------------------- /test/fixtures/mail_handler/fullname_of_sender_as_utf8_encoded.eml: -------------------------------------------------------------------------------- 1 | From: =?utf-8?b?w4TDpCDDlsO2?=<%= l(:text_user_wrote, :value => h(@comment.author)) %>
4 | 5 | <%= textilizable @comment, :comments, :only_path => false %> 6 | -------------------------------------------------------------------------------- /app/views/watchers/append.js.erb: -------------------------------------------------------------------------------- 1 | <% @users.each do |user| %> 2 | $("#issue_watcher_user_ids_<%= user.id %>").remove(); 3 | <% end %> 4 | $('#watchers_inputs').append('<%= escape_javascript(watchers_checkboxes(nil, @users, true)) %>'); 5 | -------------------------------------------------------------------------------- /extra/sample_plugin/config/locales/fr.yml: -------------------------------------------------------------------------------- 1 | # Sample plugin 2 | fr: 3 | label_plugin_example: Plugin exemple 4 | label_meeting_plural: Meetings 5 | text_say_hello: Plugin dit 'Bonjour' 6 | text_say_goodbye: Plugin dit 'Au revoir' 7 | -------------------------------------------------------------------------------- /lib/plugins/acts_as_tree/init.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative 'lib/active_record/acts/tree' 4 | Rails.application.reloader.to_prepare do 5 | ApplicationRecord.send :include, ActiveRecord::Acts::Tree 6 | end 7 | -------------------------------------------------------------------------------- /test/fixtures/plugins/redmine_test_plugin_foo/app/controllers/plugin_articles_controller.rb: -------------------------------------------------------------------------------- 1 | class PluginArticlesController < ApplicationController 2 | def index 3 | render plain: "foo PluginArticlesController#index" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/assets/images/chevron-right-idnt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/javascript/controllers/application.js: -------------------------------------------------------------------------------- 1 | import { Application } from '@hotwired/stimulus' 2 | 3 | const application = Application.start() 4 | 5 | application.debug = false 6 | window.Stimulus = application 7 | 8 | export { application } 9 | -------------------------------------------------------------------------------- /app/views/common/_no_preview.html.erb: -------------------------------------------------------------------------------- 1 |2 | <% if download_link %> 3 | <%= t(:label_no_preview_alternative_html, link: download_link) %> 4 | <% else %> 5 | <%= l(:label_no_preview) %> 6 | <% end %> 7 |
8 | 9 | -------------------------------------------------------------------------------- /app/views/common/_preview.html.erb: -------------------------------------------------------------------------------- 1 | <% unless @text.blank? %> 2 | <%= textilizable @text, :attachments => @attachments, :object => @previewed %> 3 | <% else %> 4 |<%= l(:label_nothing_to_preview) %>
5 | <% end %> -------------------------------------------------------------------------------- /app/views/groups/add_users.js.erb: -------------------------------------------------------------------------------- 1 | hideModal(); 2 | $('#tab-content-users').html('<%= escape_javascript(render :partial => 'groups/users') %>'); 3 | <% @users.each do |user| %> 4 | $('#user-<%= user.id %>').effect("highlight"); 5 | <% end %> 6 | -------------------------------------------------------------------------------- /app/views/layouts/mailer.text.erb: -------------------------------------------------------------------------------- 1 | <% if Setting.emails_header.present? -%> 2 | <%= Setting.emails_header %> 3 | <% end -%> 4 | <%= yield %> 5 | <% if Setting.emails_footer.present? -%> 6 | -- 7 | <%= Setting.emails_footer %> 8 | <% end -%> 9 | -------------------------------------------------------------------------------- /db/migrate/20090704172350_populate_users_type.rb: -------------------------------------------------------------------------------- 1 | class PopulateUsersType < ActiveRecord::Migration[4.2] 2 | def self.up 3 | Principal.where("type IS NULL").update_all("type = 'User'") 4 | end 5 | 6 | def self.down 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /db/migrate/20150528084820_add_roles_all_roles_managed.rb: -------------------------------------------------------------------------------- 1 | class AddRolesAllRolesManaged < ActiveRecord::Migration[4.2] 2 | def change 3 | add_column :roles, :all_roles_managed, :boolean, :default => true, :null => false 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20220806215628_add_default_time_entry_activity_to_roles.rb: -------------------------------------------------------------------------------- 1 | class AddDefaultTimeEntryActivityToRoles < ActiveRecord::Migration[6.1] 2 | def change 3 | add_column :roles, :default_time_entry_activity_id, :int 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/views/groups/_general.html.erb: -------------------------------------------------------------------------------- 1 | <%= labelled_form_for @group, :url => group_path(@group), :html => {:multipart => true} do |f| %> 2 | <%= render :partial => 'form', :locals => { :f => f } %> 3 | <%= submit_tag l(:button_save) %> 4 | <% end %> 5 | -------------------------------------------------------------------------------- /app/views/imports/_users_mapping.html.erb: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /app/views/mailer/lost_password.html.erb: -------------------------------------------------------------------------------- 1 |<%= l(:mail_body_lost_password) %>
2 | <%= link_to @url, @url %>
<%= l(:mail_body_lost_password_validity) %>
5 | 6 |<%= l(:field_login) %>: <%= @token.user.login %>
7 | -------------------------------------------------------------------------------- /config/initializers/doorkeeper.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # rubocop:disable Lint/EmptyBlock 4 | Doorkeeper.configure do 5 | end 6 | 7 | Rails.application.config.to_prepare do 8 | end 9 | # rubocop:enable Lint/EmptyBlock 10 | -------------------------------------------------------------------------------- /db/migrate/20200826153402_add_totp_to_user.rb: -------------------------------------------------------------------------------- 1 | class AddTotpToUser < ActiveRecord::Migration[5.2] 2 | def change 3 | add_column :users, :twofa_totp_key, :string 4 | add_column :users, :twofa_totp_last_used_at, :integer 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /plugins/redmine_bugs_ruby_lang/config/routes.rb: -------------------------------------------------------------------------------- 1 | Rails.application.routes.draw do 2 | resources :mailing_lists do 3 | resources :uses, controller: 'uses_of_mailing_list' 4 | end 5 | resources :mail_to_issue, only: [:new, :create] 6 | end 7 | -------------------------------------------------------------------------------- /test/fixtures/plugins/redmine_test_plugin_bar/app/controllers/bar_plugin_articles_controller.rb: -------------------------------------------------------------------------------- 1 | class BarPluginArticlesController < ApplicationController 2 | def index 3 | render plain: "bar BarPluginArticlesController#index" 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/views/roles/edit.html.erb: -------------------------------------------------------------------------------- 1 | <%= title [l(:label_role_plural), roles_path], @role.name %> 2 | 3 | <%= labelled_form_for @role do |f| %> 4 | <%= render :partial => 'form', :locals => { :f => f } %> 5 | <%= submit_tag l(:button_save) %> 6 | <% end %> 7 | -------------------------------------------------------------------------------- /app/views/settings/edit.html.erb: -------------------------------------------------------------------------------- 1 |<%= f.text_field :name, :required => true %>
5 |<%= f.check_box :onthefly_register, :label => :field_onthefly %>
6 |2 | <%= f.text_field :extensions_allowed, :size => 50, :label => :setting_attachment_extensions_allowed %> 3 | <%= l(:text_comma_separated) %> <%= l(:label_example) %>: txt, png 4 |
5 | -------------------------------------------------------------------------------- /app/views/issues/_sidebar.html.erb: -------------------------------------------------------------------------------- 1 | <%= call_hook(:view_issues_sidebar_issues_bottom) %> 2 | <%= call_hook(:view_issues_sidebar_planning_bottom) %> 3 | 4 | <%= render_sidebar_queries(IssueQuery, @project) %> 5 | <%= call_hook(:view_issues_sidebar_queries_bottom) %> 6 | -------------------------------------------------------------------------------- /app/views/projects/bookmark.js.erb: -------------------------------------------------------------------------------- 1 | $('#project-jump div.drdn-items.projects').html('<%= j render_projects_for_jump_box(projects_for_jump_box(User.current), selected: @project) %>'); 2 | $('.contextual a.icon.bookmark').replaceWith('<%= j bookmark_link @project %>'); 3 | -------------------------------------------------------------------------------- /db/migrate/052_add_changes_revision.rb: -------------------------------------------------------------------------------- 1 | class AddChangesRevision < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :changes, :revision, :string 4 | end 5 | 6 | def self.down 7 | remove_column :changes, :revision 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/054_add_changesets_scmid.rb: -------------------------------------------------------------------------------- 1 | class AddChangesetsScmid < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :changesets, :scmid, :string 4 | end 5 | 6 | def self.down 7 | remove_column :changesets, :scmid 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/063_add_roles_permissions.rb: -------------------------------------------------------------------------------- 1 | class AddRolesPermissions < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :roles, :permissions, :text 4 | end 5 | 6 | def self.down 7 | remove_column :roles, :permissions 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20091220183727_add_index_to_settings_name.rb: -------------------------------------------------------------------------------- 1 | class AddIndexToSettingsName < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_index :settings, :name 4 | end 5 | 6 | def self.down 7 | remove_index :settings, :name 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20110223180944_add_users_salt.rb: -------------------------------------------------------------------------------- 1 | class AddUsersSalt < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :users, :salt, :string, :limit => 64 4 | end 5 | 6 | def self.down 7 | remove_column :users, :salt 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20120731164049_add_boards_parent_id.rb: -------------------------------------------------------------------------------- 1 | class AddBoardsParentId < ActiveRecord::Migration[4.2] 2 | def up 3 | add_column :boards, :parent_id, :integer 4 | end 5 | 6 | def down 7 | remove_column :boards, :parent_id 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20121209123358_update_queries_to_sti.rb: -------------------------------------------------------------------------------- 1 | class UpdateQueriesToSti < ActiveRecord::Migration[4.2] 2 | def up 3 | ::Query.update_all :type => 'IssueQuery' 4 | end 5 | 6 | def down 7 | ::Query.update_all :type => nil 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /app/views/admin/index.html.erb: -------------------------------------------------------------------------------- 1 |<%= submit_tag l(:button_add) %>
6 | <% end %> 7 | -------------------------------------------------------------------------------- /app/views/mailer/wiki_content_added.text.erb: -------------------------------------------------------------------------------- 1 | <%= l(:mail_body_wiki_content_added, :id => h(@wiki_content.page.pretty_title), 2 | :author => h(@wiki_content.author)) %> 3 | <%= @wiki_content.comments %> 4 | 5 | <%= @wiki_content_url %> 6 | -------------------------------------------------------------------------------- /app/views/queries/edit.html.erb: -------------------------------------------------------------------------------- 1 |<%= text_field_tag 'settings[sample_setting]', @settings['sample_setting'] %>
2 | 3 |<%= text_field_tag 'settings[foo]', @settings['foo'] %>
4 | -------------------------------------------------------------------------------- /lib/generators/redmine_plugin_model/templates/unit_test.rb.erb: -------------------------------------------------------------------------------- 1 | require_relative '../test_helper' 2 | 3 | class <%= @model_class %>Test < ActiveSupport::TestCase 4 | 5 | # Replace this with your real tests. 6 | def test_truth 7 | assert true 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /plugins/redmine_bugs_ruby_lang/.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | .bundle 4 | .config 5 | .yardoc 6 | Gemfile.lock 7 | InstalledFiles 8 | _yardoc 9 | coverage 10 | doc/ 11 | lib/bundler/man 12 | pkg 13 | rdoc 14 | spec/reports 15 | test/tmp 16 | test/version_tmp 17 | tmp 18 | -------------------------------------------------------------------------------- /app/views/custom_fields/formats/_bool.html.erb: -------------------------------------------------------------------------------- 1 |<%= f.select :default_value, [[]]+@custom_field.possible_values_options %>
2 |<%= f.text_field :url_pattern, :size => 50, :label => :label_link_values_to %>
3 |<%= edit_tag_style_tag f, :include_radio => true %>
4 | -------------------------------------------------------------------------------- /app/views/custom_fields/formats/_link.html.erb: -------------------------------------------------------------------------------- 1 | <%= render :partial => 'custom_fields/formats/regexp', :locals => {:f => f, :custom_field => custom_field} %> 2 |<%= f.text_field :url_pattern, :size => 50, :label => :field_url %>
3 |<%= f.text_field(:default_value) %>
4 | -------------------------------------------------------------------------------- /app/views/documents/edit.html.erb: -------------------------------------------------------------------------------- 1 |<%= submit_tag l(:button_save) %>
6 | <% end %> 7 | 8 | 9 | -------------------------------------------------------------------------------- /db/migrate/059_add_roles_assignable.rb: -------------------------------------------------------------------------------- 1 | class AddRolesAssignable < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :roles, :assignable, :boolean, :default => true 4 | end 5 | 6 | def self.down 7 | remove_column :roles, :assignable 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/080_add_users_type.rb: -------------------------------------------------------------------------------- 1 | class AddUsersType < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :users, :type, :string 4 | User.update_all "type = 'User'" 5 | end 6 | 7 | def self.down 8 | remove_column :users, :type 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /db/migrate/082_add_messages_locked.rb: -------------------------------------------------------------------------------- 1 | class AddMessagesLocked < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :messages, :locked, :boolean, :default => false 4 | end 5 | 6 | def self.down 7 | remove_column :messages, :locked 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20090614091200_fix_messages_sticky_null.rb: -------------------------------------------------------------------------------- 1 | class FixMessagesStickyNull < ActiveRecord::Migration[4.2] 2 | def self.up 3 | Message.where('sticky IS NULL').update_all('sticky = 0') 4 | end 5 | 6 | def self.down 7 | # nothing to do 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20130215111127_add_issues_closed_on.rb: -------------------------------------------------------------------------------- 1 | class AddIssuesClosedOn < ActiveRecord::Migration[4.2] 2 | def up 3 | add_column :issues, :closed_on, :datetime, :default => nil 4 | end 5 | 6 | def down 7 | remove_column :issues, :closed_on 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /test/fixtures/files/2006/07/060719210727_source.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # The Greeter class 4 | class Greeter 5 | def initialize(name) 6 | @name = name.capitalize 7 | end 8 | 9 | def salute 10 | puts "Hello #{@name}!" 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /test/fixtures/files/import_subtasks_with_relations.csv: -------------------------------------------------------------------------------- 1 | row;tracker;subject;start;due;parent;follows 2 | 1;bug;2nd Child;2020-01-12;2020-01-20;3;2 1d 3 | 2;bug;1st Child;2020-01-01;2020-01-10;3; 4 | 3;bug;Parent;2020-01-01;2020-01-31;; 5 | 4;bug;3rd Child;2020-01-22;2020-01-31;3;1 1d 6 | -------------------------------------------------------------------------------- /app/views/custom_fields/formats/_date.html.erb: -------------------------------------------------------------------------------- 1 |<%= f.date_field(:default_value, :value => @custom_field.default_value, :size => 10) %>
2 | <%= calendar_for('custom_field_default_value') %> 3 |<%= f.text_field :url_pattern, :size => 50, :label => :label_link_values_to %>
4 | -------------------------------------------------------------------------------- /app/views/reactions/_replace_button.js.erb: -------------------------------------------------------------------------------- 1 | (() => { 2 | const button = $('[data-reaction-button-id=<%= reaction_id_for @object %>]'); 3 | 4 | removeHoverTooltips(button); 5 | button.html($('<%=j reaction_button @object %>').children()); 6 | setupHoverTooltips(button); 7 | })(); 8 | -------------------------------------------------------------------------------- /db/migrate/037_add_project_identifier.rb: -------------------------------------------------------------------------------- 1 | class AddProjectIdentifier < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :projects, :identifier, :string, :limit => 20 4 | end 5 | 6 | def self.down 7 | remove_column :projects, :identifier 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/061_add_roles_builtin.rb: -------------------------------------------------------------------------------- 1 | class AddRolesBuiltin < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :roles, :builtin, :integer, :default => 0, :null => false 4 | end 5 | 6 | def self.down 7 | remove_column :roles, :builtin 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/064_drop_permissions.rb: -------------------------------------------------------------------------------- 1 | class DropPermissions < ActiveRecord::Migration[4.2] 2 | def self.up 3 | drop_table :permissions 4 | drop_table :permissions_roles 5 | end 6 | 7 | def self.down 8 | raise ActiveRecord::IrreversibleMigration 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /db/migrate/069_add_issues_estimated_hours.rb: -------------------------------------------------------------------------------- 1 | class AddIssuesEstimatedHours < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :issues, :estimated_hours, :float 4 | end 5 | 6 | def self.down 7 | remove_column :issues, :estimated_hours 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20090323224724_add_type_to_enumerations.rb: -------------------------------------------------------------------------------- 1 | class AddTypeToEnumerations < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :enumerations, :type, :string 4 | end 5 | 6 | def self.down 7 | remove_column :enumerations, :type 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20120301153455_add_auth_sources_filter.rb: -------------------------------------------------------------------------------- 1 | class AddAuthSourcesFilter < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :auth_sources, :filter, :string 4 | end 5 | 6 | def self.down 7 | remove_column :auth_sources, :filter 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20120707064544_add_auth_sources_timeout.rb: -------------------------------------------------------------------------------- 1 | class AddAuthSourcesTimeout < ActiveRecord::Migration[4.2] 2 | def up 3 | add_column :auth_sources, :timeout, :integer 4 | end 5 | 6 | def self.down 7 | remove_column :auth_sources, :timeout 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20120714122100_update_workflows_to_sti.rb: -------------------------------------------------------------------------------- 1 | class UpdateWorkflowsToSti < ActiveRecord::Migration[4.2] 2 | def up 3 | WorkflowRule.update_all "type = 'WorkflowTransition'" 4 | end 5 | 6 | def down 7 | WorkflowRule.update_all "type = NULL" 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20190510070108_add_unique_id_to_import_items.rb: -------------------------------------------------------------------------------- 1 | class AddUniqueIdToImportItems < ActiveRecord::Migration[5.2] 2 | def change 3 | change_table :import_items do |t| 4 | t.string "unique_id" 5 | t.index ["import_id", "unique_id"] 6 | end 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /test/fixtures/issue_relations.yml: -------------------------------------------------------------------------------- 1 | issue_relation_001: 2 | id: 1 3 | issue_from_id: 10 4 | issue_to_id: 9 5 | relation_type: blocks 6 | delay: 7 | issue_relation_002: 8 | id: 2 9 | issue_from_id: 2 10 | issue_to_id: 3 11 | relation_type: relates 12 | delay: 13 | -------------------------------------------------------------------------------- /app/views/issue_statuses/edit.html.erb: -------------------------------------------------------------------------------- 1 | <%= title [l(:label_issue_status_plural), issue_statuses_path], @issue_status.name %> 2 | 3 | <%= labelled_form_for @issue_status do |f| %> 4 | <%= render :partial => 'form', :locals => {:f => f} %> 5 | <%= submit_tag l(:button_save) %> 6 | <% end %> 7 | -------------------------------------------------------------------------------- /app/views/mailer/issue_add.html.erb: -------------------------------------------------------------------------------- 1 | <%= l(:text_issue_added, :id => link_to("##{@issue.id}", @issue_url), :author => h(@issue.author)).html_safe %> 2 |<%= l(:mail_body_wiki_content_added, :id => link_to(@wiki_content.page.pretty_title, @wiki_content_url),
2 | :author => h(@wiki_content.author)).html_safe %>
3 | <%= @wiki_content.comments %>
<%= l(:text_say_goodbye) %>
4 | 5 | <% content_for :header_tags do %> 6 | <%= stylesheet_link_tag 'example', :plugin => 'sample_plugin', :media => "screen" %> 7 | <% end %> 8 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env rake 2 | # Add your own tasks in files placed in lib/tasks ending in .rake, 3 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 4 | 5 | require File.expand_path('../config/application', __FILE__) 6 | 7 | RedmineApp::Application.load_tasks 8 | -------------------------------------------------------------------------------- /app/views/layouts/admin.html.erb: -------------------------------------------------------------------------------- 1 | <% unless controller_name == 'admin' && action_name == 'index' %> 2 | <% content_for :sidebar do %> 3 |<%= submit_tag l(:button_add), :name => nil %>
6 | <% end %> 7 | -------------------------------------------------------------------------------- /app/views/principal_memberships/new.html.erb: -------------------------------------------------------------------------------- 1 |<%= submit_tag l(:button_add), :name => nil %>
6 | <% end %> 7 | -------------------------------------------------------------------------------- /app/views/repositories/edit.html.erb: -------------------------------------------------------------------------------- 1 |<%= submit_tag l(:button_create) %>
6 | <% end %> 7 | -------------------------------------------------------------------------------- /app/views/issue_statuses/index.api.rsb: -------------------------------------------------------------------------------- 1 | api.array :issue_statuses do 2 | @issue_statuses.each do |status| 3 | api.issue_status do 4 | api.id status.id 5 | api.name status.name 6 | api.is_closed status.is_closed 7 | api.description status.description 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /app/views/timelog/edit.js.erb: -------------------------------------------------------------------------------- 1 | $('#time_entry_activity_id').html('<%= escape_javascript options_for_select(activity_collection_for_select_options(@time_entry), @time_entry.activity_id) %>'); 2 | $('#time_entry_issue').html('<%= escape_javascript link_to_issue(@time_entry.issue) if @time_entry.issue.try(:visible?) %>'); 3 | -------------------------------------------------------------------------------- /db/migrate/044_set_language_length_to_five.rb: -------------------------------------------------------------------------------- 1 | class SetLanguageLengthToFive < ActiveRecord::Migration[4.2] 2 | def self.up 3 | change_column :users, :language, :string, :limit => 5, :default => "" 4 | end 5 | 6 | def self.down 7 | raise ActiveRecord::IrreversibleMigration 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/086_add_custom_fields_searchable.rb: -------------------------------------------------------------------------------- 1 | class AddCustomFieldsSearchable < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :custom_fields, :searchable, :boolean, :default => false 4 | end 5 | 6 | def self.down 7 | remove_column :custom_fields, :searchable 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/093_add_wiki_pages_protected.rb: -------------------------------------------------------------------------------- 1 | class AddWikiPagesProtected < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :wiki_pages, :protected, :boolean, :default => false, :null => false 4 | end 5 | 6 | def self.down 7 | remove_column :wiki_pages, :protected 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20090704172358_add_member_roles_inherited_from.rb: -------------------------------------------------------------------------------- 1 | class AddMemberRolesInheritedFrom < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :member_roles, :inherited_from, :integer 4 | end 5 | 6 | def self.down 7 | remove_column :member_roles, :inherited_from 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20091017213257_add_missing_indexes_to_auth_sources.rb: -------------------------------------------------------------------------------- 1 | class AddMissingIndexesToAuthSources < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_index :auth_sources, [:id, :type] 4 | end 5 | 6 | def self.down 7 | remove_index :auth_sources, :column => [:id, :type] 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20091017213835_add_missing_indexes_to_user_preferences.rb: -------------------------------------------------------------------------------- 1 | class AddMissingIndexesToUserPreferences < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_index :user_preferences, :user_id 4 | end 5 | 6 | def self.down 7 | remove_index :user_preferences, :user_id 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20110412065600_add_issues_is_private.rb: -------------------------------------------------------------------------------- 1 | class AddIssuesIsPrivate < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :issues, :is_private, :boolean, :default => false, :null => false 4 | end 5 | 6 | def self.down 7 | remove_column :issues, :is_private 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20120127174243_add_custom_fields_multiple.rb: -------------------------------------------------------------------------------- 1 | class AddCustomFieldsMultiple < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :custom_fields, :multiple, :boolean, :default => false 4 | end 5 | 6 | def self.down 7 | remove_column :custom_fields, :multiple 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20121026002032_add_enumerations_position_name.rb: -------------------------------------------------------------------------------- 1 | class AddEnumerationsPositionName < ActiveRecord::Migration[4.2] 2 | def up 3 | add_column :enumerations, :position_name, :string, :limit => 30 4 | end 5 | 6 | def down 7 | remove_column :enumerations, :position_name 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20151021185456_change_auth_sources_filter_to_text.rb: -------------------------------------------------------------------------------- 1 | class ChangeAuthSourcesFilterToText < ActiveRecord::Migration[4.2] 2 | def self.up 3 | change_column :auth_sources, :filter, :text 4 | end 5 | 6 | def self.down 7 | change_column :auth_sources, :filter, :string 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /test/fixtures/mail_handler/subject_japanese_1.eml: -------------------------------------------------------------------------------- 1 | From: John Smith<%= setting_check_box :rest_api_enabled %>
5 | 6 |<%= setting_check_box :jsonp_enabled %>
7 |<%= b.check_box %> <%= b.label %>
4 | <% end %> 5 | <% end %> 6 | -------------------------------------------------------------------------------- /db/migrate/038_add_custom_field_is_filter.rb: -------------------------------------------------------------------------------- 1 | class AddCustomFieldIsFilter < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :custom_fields, :is_filter, :boolean, :null => false, :default => false 4 | end 5 | 6 | def self.down 7 | remove_column :custom_fields, :is_filter 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/073_add_enumerations_is_default.rb: -------------------------------------------------------------------------------- 1 | class AddEnumerationsIsDefault < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :enumerations, :is_default, :boolean, :default => false, :null => false 4 | end 5 | 6 | def self.down 7 | remove_column :enumerations, :is_default 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20120930112914_add_journals_private_notes.rb: -------------------------------------------------------------------------------- 1 | class AddJournalsPrivateNotes < ActiveRecord::Migration[4.2] 2 | def up 3 | add_column :journals, :private_notes, :boolean, :default => false, :null => false 4 | end 5 | 6 | def down 7 | remove_column :journals, :private_notes 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20250611092227_enable_pkce.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class EnablePkce < ActiveRecord::Migration[7.2] 4 | def change 5 | add_column :oauth_access_grants, :code_challenge, :string, null: true 6 | add_column :oauth_access_grants, :code_challenge_method, :string, null: true 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /plugins/redmine_bugs_ruby_lang/app/views/mailing_lists/new.html.erb: -------------------------------------------------------------------------------- 1 |2 | <%= f.select :ratio_interval, 3 | [5, 10].collect {|i| ["#{i} %", i]}, 4 | selected: f.object.new_record? ? Redmine::FieldFormat::ProgressbarFormat.default_ratio_interval : f.object.ratio_interval, 5 | required: true %> 6 |
7 | -------------------------------------------------------------------------------- /app/views/imports/_issues_saved_objects.html.erb: -------------------------------------------------------------------------------- 1 |<%= link_to l(:label_issue_view_all), issues_path(:set_filter => 1, :status_id => '*', :issue_id => saved_objects.map(&:id).join(',')) %>
8 | -------------------------------------------------------------------------------- /app/views/projects/autocomplete.js.erb: -------------------------------------------------------------------------------- 1 | <% 2 | s = '' 3 | if @projects.any? 4 | s = render_projects_for_jump_box(@projects, query: params[:q]) 5 | elsif params[:q].present? 6 | s = content_tag('span', l(:label_no_data)) 7 | end 8 | %> 9 | $('#project-jump .drdn-items.projects').html('<%= escape_javascript s %>'); 10 | -------------------------------------------------------------------------------- /app/views/projects/new.html.erb: -------------------------------------------------------------------------------- 1 | <%= title l(:label_project_new) %> 2 | 3 | <%= labelled_form_for @project, :html => {:multipart => true} do |f| %> 4 | <%= render :partial => 'form', :locals => { :f => f } %> 5 | <%= submit_tag l(:button_create) %> 6 | <%= submit_tag l(:button_create_and_continue), :name => 'continue' %> 7 | <% end %> 8 | -------------------------------------------------------------------------------- /app/views/watchers/_set_watcher.js.erb: -------------------------------------------------------------------------------- 1 | <% selector = ".#{watcher_css(watched)}" %> 2 | $("<%= selector %>").each(function(){$(this).replaceWith("<%= escape_javascript watcher_link(watched, user) %>")}); 3 | $('#watchers').html('<%= escape_javascript(render(:partial => 'watchers/watchers', :locals => {:watched => watched.first})) %>'); 4 | -------------------------------------------------------------------------------- /db/migrate/048_allow_null_version_effective_date.rb: -------------------------------------------------------------------------------- 1 | class AllowNullVersionEffectiveDate < ActiveRecord::Migration[4.2] 2 | def self.up 3 | change_column :versions, :effective_date, :date, :default => nil, :null => true 4 | end 5 | 6 | def self.down 7 | raise ActiveRecord::IrreversibleMigration 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/060_change_changesets_committer_limit.rb: -------------------------------------------------------------------------------- 1 | class ChangeChangesetsCommitterLimit < ActiveRecord::Migration[4.2] 2 | def self.up 3 | change_column :changesets, :committer, :string, :limit => nil 4 | end 5 | 6 | def self.down 7 | change_column :changesets, :committer, :string, :limit => 30 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/065_add_settings_updated_on.rb: -------------------------------------------------------------------------------- 1 | class AddSettingsUpdatedOn < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :settings, :updated_on, :timestamp 4 | # set updated_on 5 | Setting.all.each(&:save) 6 | end 7 | 8 | def self.down 9 | remove_column :settings, :updated_on 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /db/migrate/075_add_members_mail_notification.rb: -------------------------------------------------------------------------------- 1 | class AddMembersMailNotification < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :members, :mail_notification, :boolean, :default => false, :null => false 4 | end 5 | 6 | def self.down 7 | remove_column :members, :mail_notification 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/084_change_auth_sources_account_limit.rb: -------------------------------------------------------------------------------- 1 | class ChangeAuthSourcesAccountLimit < ActiveRecord::Migration[4.2] 2 | def self.up 3 | change_column :auth_sources, :account, :string, :limit => nil 4 | end 5 | 6 | def self.down 7 | change_column :auth_sources, :account, :string, :limit => 60 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20090401231134_add_active_field_to_enumerations.rb: -------------------------------------------------------------------------------- 1 | class AddActiveFieldToEnumerations < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :enumerations, :active, :boolean, :default => true, :null => false 4 | end 5 | 6 | def self.down 7 | remove_column :enumerations, :active 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20090406161854_add_parent_id_to_enumerations.rb: -------------------------------------------------------------------------------- 1 | class AddParentIdToEnumerations < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :enumerations, :parent_id, :integer, :null => true, :default => nil 4 | end 5 | 6 | def self.down 7 | remove_column :enumerations, :parent_id 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20091108092559_add_versions_status.rb: -------------------------------------------------------------------------------- 1 | class AddVersionsStatus < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :versions, :status, :string, :default => 'open' 4 | Version.update_all("status = 'open'") 5 | end 6 | 7 | def self.down 8 | remove_column :versions, :status 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /db/migrate/20151024082034_add_tokens_updated_on.rb: -------------------------------------------------------------------------------- 1 | class AddTokensUpdatedOn < ActiveRecord::Migration[4.2] 2 | def self.up 3 | add_column :tokens, :updated_on, :timestamp 4 | Token.update_all("updated_on = created_on") 5 | end 6 | 7 | def self.down 8 | remove_column :tokens, :updated_on 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /db/migrate/20170302015225_change_attachments_digest_limit_to_64.rb: -------------------------------------------------------------------------------- 1 | class ChangeAttachmentsDigestLimitTo64 < ActiveRecord::Migration[4.2] 2 | def up 3 | change_column :attachments, :digest, :string, limit: 64 4 | end 5 | 6 | def down 7 | change_column :attachments, :digest, :string, limit: 40 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /app/views/issue_categories/_form.html.erb: -------------------------------------------------------------------------------- 1 | <%= error_messages_for 'category' %> 2 | 3 |<%= f.text_field :name, :size => 60, :required => true %>
5 |<%= f.select :assigned_to_id, principals_options_for_select(@project.assignable_users, @category.assigned_to), :include_blank => true %>
6 |<%=l 'twofa_label_enter_otp' %>
3 |5 | 6 | <%= text_field_tag :twofa_code, nil, autocomplete: 'one-time-code' -%> 7 |
8 |<%= f.check_box :thousands_delimiter %>
3 |<%= f.text_field(:default_value) %>
4 |<%= f.text_field :url_pattern, :size => 50, :label => :label_link_values_to %>
5 | -------------------------------------------------------------------------------- /app/views/doorkeeper/applications/new.html.erb: -------------------------------------------------------------------------------- 1 | <%= title [l('label_oauth_application_plural'), oauth_applications_path], t('.title') %> 2 | 3 | <%= labelled_form_for @application, url: doorkeeper_submit_path(@application) do |f| %> 4 | <%= render :partial => 'form', :locals => { :f => f } %> 5 | <%= submit_tag l(:button_create) %> 6 | <% end %> 7 | -------------------------------------------------------------------------------- /app/views/doorkeeper/authorizations/error.html.erb: -------------------------------------------------------------------------------- 1 |<%= @pre_auth.error_response.body[:error_description] %>
4 | 5 | 6 | <% html_title t('doorkeeper.authorizations.error.title') %> 7 | -------------------------------------------------------------------------------- /app/views/issue_categories/create.js.erb: -------------------------------------------------------------------------------- 1 | hideModal(); 2 | <% select = content_tag('select', content_tag('option') + options_from_collection_for_select(@project.issue_categories, 'id', 'name', @category.id), :id => 'issue_category_id', :name => 'issue[category_id]') %> 3 | $('#issue_category_id').replaceWith('<%= escape_javascript(select) %>'); 4 | -------------------------------------------------------------------------------- /app/views/my/blocks/_activity.html.erb: -------------------------------------------------------------------------------- 1 |