GithubHelp home page GithubHelp logo

bandlow / redmine_time_limit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from twinslash/redmine_time_limit

0.0 0.0 0.0 270 KB

Redmine Time Limit Plugin is used to monitor spent time by employees at the working place.

Home Page: http://www.redmine.org/plugins/redmine_time_limit

JavaScript 12.28% Ruby 87.72%

redmine_time_limit's Introduction

Redmine Time Limit Plugin

Redmine Time Limit Plugin is used to monitor spent time by employees at the working place.

Functionality

  • New right in 'Roles and permissions': 'Disable time limit'
  • You need to log in Redmine via 'allowed' IP-address for starting timer. Allowed IP-addresses are setup in plugin configuration.
  • Validation of time entries. It is forbidden to write off more time than the timer has.
  • Validation presence of comment for time entries.
  • Restriction to create time entries in some statuses.
  • Restriction to create time entries from 'not allowed' IP-addresses.

The source of the plugin

https://github.com/twinslash/redmine_time_limit

Installation

To install the plugin run clone from plugin directory (REDMINE/plugins):

cd REDMINE/plugins
git clone https://github.com/twinslash/redmine_time_limit.git

Migrate the database:

bundle exec rake redmine:plugins:migrate

Restart your Redmine server

Uninstallation

Revert changes in database:

cd REDMINE
bundle exec rake redmine:plugins:migrate NAME=redmine_time_limit VERSION=0

Delete folder with the plugin

cd REDMINE/plugins
rm redmine_time_limit -rf

Restart your Redmine server

Setting

NB: This plugin works only for those roles where the rights 'Edit time logs' and 'Edit own time logs' are disabled.

If you need to have a role without restriction on time entries then enable the right for it 'Disable time limit' in the Administration-> Roles and Permissions.

In plugin configurations (Administration->Plugins->Redmine Time Limit Plugin):

  • Specify the IP-addresses which will be considered as 'allowed'. IP-addresses can be specified in the format of the subnet mask.
  • Specify a list of statuses which are prohibited for creating time entries. In case when a task status is changing user can create time entry if at least one of the statuses allows to do it.

Usage

Once the user is logged in, he has a timer in the upper right corner with two numbers divided by '/'. The number on the left shows his time spent at the workplace. The number on the right shows the hours which can be written off. The user can not write off more time than total amount of time.

User can create time entry only on tasks in defined statuses. For example, there are three statuses TODO, Working, Finish. The plugin allows you to write off time only in Working status. Then the order will be as follows:

  • User opens the task in TODO status and changes the status to Working
  • Block with time entry appears
  • Now user can enter time entry and submit the form
  • Then user can re-open the task and change the status to Finish, a block with time entry is displayed and it is allowed to create a new time entry.

If a user first time comes into Redmine from 'unapproved' IP-address, the timer will be set to -99 hours. The user will not be able to create time entry. If next time the same user comes from 'approved' IP-address then the timer will be reset. If the same user comes from 'unapproved' IP at that day then the timer is NOT reset (and the time will accumulate), but the user can not create time entry using this IP.

redmine_time_limit's People

Contributors

gotva avatar rqz13 avatar serge-xxx avatar vaski avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.