All Projects → onozaty → Redmine View Customize

onozaty / Redmine View Customize

Licence: gpl-2.0
View customize plugin for Redmine

Programming Languages

ruby
36898 projects - #4 most used programming language

Labels

Projects that are alternatives of or similar to Redmine View Customize

Redmine github hook
Allow your Redmine installation to be notified when changes have been pushed to a Github repository.
Stars: ✭ 441 (+152%)
Mutual labels:  redmine
Redmine elasticsearch
Full text searching plugin for Redmine
Stars: ✭ 58 (-66.86%)
Mutual labels:  redmine
Redmine Theme Minimalflat2
Minimal and flat theme for Redmine.
Stars: ✭ 128 (-26.86%)
Mutual labels:  redmine
Redmine digest
Send daily/weekly/monthly digest
Stars: ✭ 23 (-86.86%)
Mutual labels:  redmine
Redmine my page queries
Redmine My Page Queries
Stars: ✭ 53 (-69.71%)
Mutual labels:  redmine
Redmine issues tree
Provides a tree view of the Redmine issues list
Stars: ✭ 79 (-54.86%)
Mutual labels:  redmine
Purplemine2
A free Redmine theme for modern browsers
Stars: ✭ 440 (+151.43%)
Mutual labels:  redmine
Redmine helpdesk
Lightweight helpdesk plugin for redmine.
Stars: ✭ 160 (-8.57%)
Mutual labels:  redmine
Redmine wysiwyg editor
Redmine WYSIWYG Editor plugin
Stars: ✭ 56 (-68%)
Mutual labels:  redmine
Redmine tagging
Add simple tagging support to Redmine Issues/Wiki pages
Stars: ✭ 111 (-36.57%)
Mutual labels:  redmine
Notify custom users
Email Notifications for Custom field with User type
Stars: ✭ 15 (-91.43%)
Mutual labels:  redmine
Docker Redmine
Docker Image for Redmine
Stars: ✭ 1,044 (+496.57%)
Mutual labels:  redmine
Redmine Progressive Projects List
Redmine plugin provides projects list with progress bars for every project and version
Stars: ✭ 80 (-54.29%)
Mutual labels:  redmine
Redmine impersonate
Redmine plugin allowing administrators to login as any user with a single click.
Stars: ✭ 22 (-87.43%)
Mutual labels:  redmine
Minelab
GitLab inspired Sass theme for Redmine 2.5.x using Font Awesome, with support for Redmine CRM plugins.
Stars: ✭ 129 (-26.29%)
Mutual labels:  redmine
Python Redmine
Python Redmine is a library for communicating with a Redmine project management application
Stars: ✭ 440 (+151.43%)
Mutual labels:  redmine
Redmine jenkins
A Redmine plugin which makes building your Jenkins projects easy ;)
Stars: ✭ 69 (-60.57%)
Mutual labels:  redmine
Bitnami Docker Redmine
Bitnami Docker Image for Redmine
Stars: ✭ 172 (-1.71%)
Mutual labels:  redmine
Redmine Net Api
.Net API for Redmine bug/task management systems.
Stars: ✭ 131 (-25.14%)
Mutual labels:  redmine
Redminetimetracker
Chrome/Electron app for tracking work time.
Stars: ✭ 82 (-53.14%)
Mutual labels:  redmine

Redmine view customize plugin

This a plugin allows you to customize the view for the Redmine.

Features

Customize the page by inserting JavaScript, CSS or HTML on the page that matched the condition.

Installation

Install the plugin in your Redmine plugins directory, clone this repository as view_customize:

cd {RAILS_ROOT}/plugins
git clone https://github.com/onozaty/redmine-view-customize.git view_customize
cd ../
bundle install --without development test
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

note: The directory name must be a view_customize. Directory name is different, it will fail to run the Plugin.

Usage

Add

When installing the plugin, "View customize" is added to the administrator menu.

Screenshot of admin menu

Click "View customize" go to the list screen.

Screenshot of list new

Click "New view customize" and enter items.

Screenshot of new

Use "Path pattern" and "Project pattern" to specify the target page.
If neither is set, all pages will be targeted.

"Path pattern" is a regular expression to specify the page path.
If a path pattern was set, the code will not be inserted if the path of the page do not match.

The following is an example.

  • /issues$ : Issue list
  • /issues/[0-9]+ : Issue detail page

"Project pattern" is a regular expression to specify the project identifier. It becomes item added in v2.7.0.
If the project pattern was set, the code will not be inserted if the current project do not match.

"Insertion position" is the code insertion position. It becomes item added in v1.2.0.

  • "Head of all pages" (The same position as the version before v1.2.0)
  • "Bottom of issue form"
    Issue input fields are reconstructed when trackers or statuses are changed. If "Bottom of issue form" is specified, it will be executed again when reconstructed.
  • "Bottom of issue detail"
  • "Bottom of all pages" (Last in HTML body)

If there is no part corresponding to the insertion position of the code on the page, the code is not insert. For example, even if there are no "Path pattern" and "Project pattern" settings and all pages are targeted, if "Bottom of issue detail" is specified for "Insertion position", it will be executed only on the issue detail page.

In "Type", select the type of code ("JavaScript", "CSS" or "HTML") and enter the actual code in "Code".

For "Comment" you can put an overview on customization. The contents entered here are displayed in the list display. When "Comment" is entered, "Comment" is displayed on the list. If "Comment" is not entered, "Code" is displayed in the list.

Addition is completed by clicking "Create" button.

On the page that matches the "Path pattern" and "Project pattern", the code will be embedded at the position specified in "Insertion position", and the page will be customized.

Screenshot of example

Edit / Delete

Screenshot of list edit

When you click the number of the customize list, go to the detail page.

Screenshot of detail

You can delete it by clicking "Delete".

Click "Edit" to switch to the edit page. The input item is the same as when creating a new one.

Disable / Private

You can disable it by unchecking "Enabled". If you check "Private", it will be enable only for the author.

Screenshot of enabled and private

If you check the operation with "Private" and there is no problem in operation, it will be good to release it to the all.

ViewCustomize.context (JavaScript)

You can access information on users and projects using ViewCustomize.context.

ViewCustomize.context is as follows.

ViewCustomize = {
  "context": {
    "user": {
      "id": 1,
      "login": "admin",
      "admin": true,
      "firstname": "Redmine",
      "lastname": "Admin",
      "lastLoginOn": "2019-09-22T14:44:53Z",
      "groups": [
        {"id": 5, "name": "Group1"}
      ],
      "apiKey": "3dd35b5ad8456d90d21ef882f7aea651d367a9d8",
      "customFields": [
        {"id": 1, "name": "[Custom field] Text", "value": "text"},
        {"id": 2, "name": "[Custom field] List", "value": ["B", "A"]},
        {"id": 3, "name": "[Custom field] Boolean", "value": "1"}
      ]
    },
    "project": {
      "identifier": "project-a",
      "name": "Project A",
      "roles": [
        {"id": 6, "name": "RoleX"}
      ],
      "customFields": [
        {"id": 4, "name": "[Project Custom field] Text", "value": "text"}
      ]
    },
    "issue": {
      "id": 1
    }
  }
}

For example, to access the user's API access key is ViewCustomize.context.user.apiKey.

API access key

The API access key is created when the "Show" link of the API access key on the My account page is click for the first time.

Screenshot of my account

If you want to created it automatically, set "Automatically create API access key" to ON in the plugin configure page. API access keys can be created without having each user operate the My account page.

Screenshot of plugin configure

To use the API access key, "Enable REST web service" must be turned on in the "API" tab of the setting page.

Examples

Supported versions

  • Current version : Redmine 3.1.x - 3.4.x, 4.0.x or later
  • 1.2.2 : Redmine 2.0.x - 3.4.x

License

The plugin is available under the terms of the GNU General Public License, version 2 or later.

Author

onozaty

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].