Giter Site home page Giter Site logo

intera / redmine_time_logging_app Goto Github PK

View Code? Open in Web Editor NEW
8.0 6.0 3.0 2.31 MB

this redmine plugin adds a new menu entry and separate section to log and edit ones own spent time in one place, in a quick way.

Ruby 27.26% HTML 10.50% CSS 7.71% CoffeeScript 53.70% Shell 0.83%
redmine redmine-plugin spent-time time-tracking

redmine_time_logging_app's Introduction

redmine time logging app

this redmine plugin adds a new menu entry and separate section to log and edit ones own spent time in one place, in a quick way.

screenshot-1

features

  • powerful autocomplete that searches projects, issues and versions that accepts word fragments in any order
  • lists the spent time entries per day and allows to switch fast between days
  • time entry create/edit/move/copy/delete
  • overview page that lists the total hours per day, month, and year
  • a timer that will add elapsed time to the hours and minutes field
  • link to the selected issue or project
  • shows individual and everyone's total spent time for issues and projects
  • automatically skips weekends without time entries
  • supports project-specific activities
  • a click into an empty search field suggests issues recently changed by the user
  • a click on the logged hours or activity opens the redmine time entry list for the issue or project
  • translatableare any

installation

download

dowload a release or a zip file via github and unpack the archive. alternatively, you can clone the source code repository with "git clone https://github.com/Intera/redmine_time_logging_app.git".

setup

  • move the "redmine_time_logging_app" directory from the download to your redmine instance directory to "plugins/", so that it lies at "plugins/redmine_time_logging_app"
  • if the file system permissions are right, the plugin should now be installed
  • restart redmine
  • go into redmine under "Administration" -> "Plugins" to check that it is listed

usage

after successful installation, if the current redmine user has the redmine permissions to log time and to edit own time entries, a menu entry "Time Logging" or similar in the topmost navigation bar in redmine should be visible. clicking on the menu entry should open a new browser tab where the time entry editor app appears.

if you have made time entries today, a list of your spent time entries for today is displayed. you can use the left/right arrow buttons at the top left, or the date field and date picker, to change between days.

to create a new spent time entry, use the search field to search and select the desired issue or project, fill in at least a time and activity and click "create".

to edit a time entry, click on the pencil button in the list of time entries. you can change the date freely. when you click on "update" the changes will be saved.

screenshot-2 screenshot-3

configuration

see "Administration" -> "Plugins" -> "redmine time logging app" -> "Configure".

optionName default description
date format "D d.m.y" jQuery datepicker format
earliest selectable date -6m format
latest selectable date +0 format
first day of week 1 0-6, sunday to monday
load closed issues of the past n days 7 include closed issues as long as they are not older than the given number of days
warn when exceeding estimated time off show a warning when trying to log time that would exceed the estimated time of the issue
disallow logging time on projects off redmine allows spent time on issues and projects, this setting allows time entries only on issues

developer information

how to add a new translation language

  • copy one of the files in "config/locales/" to a new one named with the appropriate language code
  • edit the file and replace the translations with your translations

the plugin tries to use the language that the user has configured in redmine under "my account" and falls back to english

code development dependencies

  • nodejs

development setup

  • execute "npm install" on the command-line to install the required nodejs modules at once (coffeescript, browserify, coffeeify and fs-extra)

interesting files

  • "app/controllers/time_logging_app_controller.rb" is the backend interface
  • the javascript code is under "src/js" and written as coffeescript
  • the main javascript entry point is "js/main.coffee"
  • src/js/lib/* contains any javascript files that are maintained elsewhere
  • "src/js/config.coffee" is a configuration file and contains some additional settings that can not be set via the plugin configuration page

how to recompile the javascript application

  • execute "./exe/compile". should that not work, try "node exe/compile"
  • changes will only become active after a redmine restart, because redmine installs new plugin assets only when it starts
  • css and javascript files are compiled into the redmine plugin assets directory

possible enhancements

  • timer
    • remember elapsed seconds. currently only full minutes are logged
    • continue logging in the background even when the app page is not open
  • remove the focus style on buttons on touch devices (trying to fix it by overwriting .ui-state-focus css did not work)

redmine_time_logging_app's People

Contributors

jkalbhenn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

redmine_time_logging_app's Issues

Time log

Hi,
I would enjoy to have a time logger that count alone the time I spent on the different project.
I know that 'toggl' is interfaced with redmine, but I do not want a third-party to store my data somewhere.
Currently, I am using 'gtimelog' on Ubuntu, but then I have to re-enter manually my timelog on redmine. Even if it is now quicker with your plugin...
I can see difficulties:

  • It should allow breaks, not recorded in redmine
  • It should continue to work even if the session/computer is stopped during the day.

Well, I do not know if you ever planned to do this...
If not, you can close this issue. I'll find a way to fill in redmine database with the text file from gtimelog...

Start and Stop Timer

Add buttons to start and stop timer. also add a icon on menu bar so user can see that the timer is running if they hover on the icon show all the issue timer running by clicking them they can open it and submit.

search with special characters might miss results

  • ensure that a recent issue with "one-way" in the title exists
  • open time-logging and search for "one-way"
  • error result: the issue does not appear in the search results

"one way" on the other hand works.

Ticketsystem says: Eintrag nicht gefunden

Hi,
I just installed your plugin.
When I click on "Time-logging" in the top menu, a new tab opens and I have this pop-up windows saying:

Ticketsystem says:
Eintrag nicht gefunden

My redmine configuration is the following:
Environment:
Redmine version 3.3.2.stable.16343
Ruby version 2.3.1-p112 (2016-04-26) [x86_64-linux-gnu]
Rails version 4.2.7.1
Environment production
Database adapter Mysql2

I run redmine on my own laptop on localhost
I have a user "redmine" on my system
My database is named redmine_default

PS1: On my redmine installation, "enable rest web service" is under "Administration" -> "Settings" -> "API"

http status 422

initially I had this working ok on Redmine v4.1.1 on Ubuntu 20.0, but now I am getting "http status 422" errors if i try to log hours at project level. It seems to still work when logging hours to issues. (I have left the "Disallow logging time on projects" checkbox in plugin options unchecked.)

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.