Redmine "pimped"

Post to Twitter

Redmine is a very useful open source project management tool. It has great features and just works!

We use it for our internal quality management, as project documentation system and for time tracking. The time tracking feature is good but has some limitations. It is not possible to enter start/end time, only hours are possible.

Why we need start/end time?

The Austrian law defines that an official time recording, needs start and end time.

We found no plugin that offers the missing features, so we changed Redmine (2.0.3) to fulfill our needs. We added From/To input fields in the time tracking form, added a new permission for the time tracking module because only managers should see the time recordings of other users. A Developer or Reporter should not see time recordings of other users. It was not a lot of work, but it helps a lot :)

Here are some screenshots:

Time spent overview

Time spent overview

New link

New link

 
Spent time

Spent time

New permission

New permission

If you find our extensions useful or if you need the same features, leave us a comment.

5 Responses to “Redmine "pimped"”

  1. Alex says:

    Yes, that's what I'm looking for. Will you consider sharing / publishing it ?

  2. rjahn says:

    Would be possible, but needs some time to find differences :)

  3. Alex says:

    I would be really thankful

  4. rjahn says:

    I'll do my best.

  5. rjahn says:

    Use the patch (based on Redmine 2.0.3)

    DB: time_entries

    CREATE TABLE `time_entries` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `project_id` INT(11) NOT NULL,
    `user_id` INT(11) NOT NULL,
    `issue_id` INT(11) NULL DEFAULT NULL,
    `hours` FLOAT NOT NULL,
    `comments` VARCHAR(255) NULL DEFAULT NULL,
    `activity_id` INT(11) NOT NULL,
    `spent_on` DATE NOT NULL,
    `tyear` INT(11) NOT NULL,
    `tmonth` INT(11) NOT NULL,
    `tweek` INT(11) NOT NULL,
    `from` VARCHAR(5) NULL DEFAULT NULL,
    `to` VARCHAR(5) NULL DEFAULT NULL,
    `pause` INT(3) NULL DEFAULT NULL,

    `created_on` DATETIME NOT NULL,
    `updated_on` DATETIME NOT NULL,
    PRIMARY KEY (`id`),
    INDEX `time_entries_project_id` (`project_id`),
    INDEX `time_entries_issue_id` (`issue_id`),
    INDEX `index_time_entries_on_activity_id` (`activity_id`),
    INDEX `index_time_entries_on_user_id` (`user_id`),
    INDEX `index_time_entries_on_created_on` (`created_on`)
    )
    COLLATE='utf8_general_ci'
    ENGINE=InnoDB
    AUTO_INCREMENT=1;

Leave a Reply

Spam protection by WP Captcha-Free