Skip to main content

Human Resource Management in Plone

Project description

Plone HRM basic product

plonehrm is a product that aims to be an extensible basis for simple HRM applications. Small firms, possibly divided into a couple of worklocations or other business units. Each with a couple of employees.

The actual functionality like address data, contracts, financial information and so must be provided by separate so-called employee modules.

It runs on Plone 3.0.

What plonehrm provides

  • The basic content types “worklocation” and “employee”.

  • An interface to which employee modules must conform.

  • The content types have the capability to visualise themselves using the available employee modules.

  • A portal_tool you can use: to register employee modules; to get a list of those employee modules; to get a list of all employees.

Upgrade information

Between version 1.0 and 2.0 the plonehrm.personaldata module was merged into Products.plonehrm. You need to run some upgrade steps for this. With Plone 3.3 you can do this from the Add/Remove products panel. In earlier Plone versions, go to the Zope Management interface, then portal_setup, then the Upgrades tab, choose the Products.plonehrm:default profile and run the upgrade steps.

History of Products.plonehrm

2.5 (2009-08-05)

  • CSS file for jQuery UI calendar picker is not mergeable anymore, which makes images to change month visible again. [vincent]

  • Updated default view of a worklocation. Now the checklist column is not visible anymore and three more columns have been added (address, zipcode and city). You need to run the upgrade step to see the changes. [vincent]

  • Added insurance information for the worklocation. [vincent]

  • Added the ‘checklist’ page. This page display tasks for all employees the user has access to, depending on the context. If the page is called inside a worklocation, only tasks of employee in this worklocation will be displayed. This page also allows to change date of tasks and to check them. [vincent]

2.4.1 (2009-07-29)

  • Bug fix: absences workflow did not work with third party tool using ploneHRM. Corrected mapping in profiles/default/workflows.xml. [jladage+vincent]

2.4 (2009-07-29)

  • Added two-state workflow for absences. An absence can now be ‘opened’ or ‘closed’. When closed, only the manager (not HRM manager) can edit an absence. The absence state automattically changes when the user sets an end date using the absence viewlet. A migration step has also been added to set the right state for absences which have an end date. [vincent]

  • A status message is displayed when a file is uploaded from the employee view. [vincent]

  • Added BSN validator, and used it on the BSN field of employees. [vincent]

  • Updated translations [jladage]

2.3.1 (2009-07-24)

  • Added css for checklist notelist. [laurens]

  • bug fix: solved weird cases in worklocation absence view. Now we can not have more than 100% of absence during the year and the computation of absences days only starts on the first day covered by the contract. [vincent]

  • Added headers in checklist notelist, including translations and css. [laurens]

2.3 (2009-07-22)

  • Added ‘manage HRM content’ permission. [mark+vincent]

  • Updated substitution system to deal with the new portal_absence. So now, when providing the parameters, it does not only check that ‘portal_jobperformance’ is not in the context URL, but checks that the context is a contract or a letter. Also added a verification on the dictionary access in the ‘substitute’ method to avoid raising exceptions. [vincent]

  • Added a migration step to remove old Documents templates and creates new ones with the right Archetype. [vincent]

  • Added the ‘Template’ archetype, that will be use to manage every type of template (contracts, letter, job performance and absence evaluation) used in ploneHRM. [vincent]

2.2.9 (2009-07-10)

  • Added ‘1 week’ to the pay period options of a work location. [maurits]

2.2.8 (2009-07-07)

  • Reverted changes from 2.2.7: having three names is just too silly. [maurits]

2.2.7 (2009-07-07)

  • Added tradeName field to Worklocation. The title field is now used as the name of the work location. Then we still have the legal name; apparently one name is not enough… [maurits]

2.2.6 (2009-07-07)

  • Added upgrade step to replace old substitution parameters within the tools templates. [maurits+markvl]

  • Added field payPeriod to WorkLocation. Vocabulary: month or 4 weeks. Added substitution parameter worklocation_pay_period. [maurits]

  • Substitution: added employee_first_name and employee_full_name. [maurits+markvl]

  • Substitution: renamed company_official_name to company_legal_name. [maurits+markvl]

  • Disabled floats for the elements inside the fields for editing the profile image of an employee. [laurens]

  • Don’t use the plural “days” if the employee is sick for just one day. [markvl]

  • The percentage of absence for an employee is now displayed in the absence view of the worklocation, instead of the absence viewlet in the employee view. [vincent]

  • Added a new upgrade step that reindex all employees. This allows to display the facebook, as this one uses metadata that were not indexed previously. [vincent]

  • Added a facebook. Each employee has a portrait that can be set with his personal data. This portrait is displayed in the Employee viewlet and a special view has been created in the WorkLocation view, allowing to display portraits of all active employees. [vincent]

2.2.5 (2009-06-23)

  • Updated translations and remove link to folder_contents. [jladage]

2.2.4 (2009-06-16)

  • Removed the brachets that where used in absencelist overview for the dates. [laurens]

2.2.3 (2009-06-15)

  • Avoid possible ZeroDevisionError in absence list per work location. [maurits]

2.2.2 (2009-06-15)

  • Transparancy fix bullet image. [laurens]

2.2.1 (2009-06-15)

  • Removed the bracets for the dates. [laurens]

  • Added calculation for sickness per month. [maurits]

  • Added bullet image for use in non-list modules, modified the css to display the change correctly. [laurens]

  • ccs fix content .notelist, css portlet-parameters. [laurens]

  • Changed h2 to h3 in checklisttools_view. [laurens]

  • Added the skeleton for the Absence listing at the worklocation level. to be continued. [jladage]

  • Restructured layout contract viewlet. [jean-paul, laurens]

  • Call the method to update an employee only when the object has been initialized, not everytime it is modified. Do not use events.employeeModified anymore (removed that) but just use the utils.updateEmployee method directly (which now accepts an optional event argument and happily ignores it). Mostly this gets rid of Checklist that ended up in the portal_catalog with as parent an Employee that was still in the portal_factory. [maurits]

  • Pagetemplate and css modifications for viewlets file, jobpreformance, contract. [laurens]

  • Catch AttributeErrors and KeyErrors thrown by brain.getObject(). [maurits]

2.2 (2009-06-12)

  • css checklist viewlet. [laurens]

  • Removed red color from contract letter, restructured the file viewlet. [laurens]

2.1.10 (2009-06-11)

  • Restructured the layout of absence_viewlet. [laurens]

2.1.9 (2009-06-09)

  • Do not allow adding Files to a worklocation and do not show non-Employee items there. [maurits+jladage]

  • Removed reference to ManagementFile. [maurits+jladage]

  • Disallow adding the PersonalData content type in an Employee, as that is deprecated. [maurits]

2.1.8 (2009-06-04)

  • Improved the migration for genders again. [maurits]

  • Changed birthdate requirement to not required.[mike]

  • In utils.py changed age method if check to return a None. [mike]

  • Fixed the substitution for work location and company address as those are just strings now instead of lines. [maurits]

  • Changed viewlets display in the employee view. Now, the viewlets are not floating anymore, but displayed inside two columns. [vincent]

  • Removed gender vocabulary from personaldata_properties. [maurits]

  • Reverted the change in 2.1.5 to the civilStatus field of an Employee: use personaldata_properties again. With migration. [maurits]

  • Changed order of viewlets again. [maurits]

  • Removed variables from the worklocation workflow so the state dropdown is not displayed. [jladage]

2.1.7 (2009-06-03)

  • Catch Unauthorized exception during adding a WorkLocation when the current user does not have the right to get or set the placeful workflow policy. Just use the default then. [maurits+vincent]

  • The WorkLocation type now inheritates from BaseFolder instead of ATFolder. This allows to remove dynamic view, and so the ‘Display’ tab. [vincent + fred]

  • Moved ‘Legal company name’ in the worklocation type. Worklocation’s address and company’s address are now StringField. In order to get proper values for these fields, you have to run the upgrade tool. [vincent + fred]

2.1.6 (2009-06-02)

  • Removed several other properties from the propertiestool.xml that were already in config.py so they only get set once, instead of each time the profile is applied. [maurits+markvl]

  • Removed the setting of the viewlets in the plonehrm_properties to the setuphandlers in Products.plonehrm, where we only set the order once. [maurits+markvl]

2.1.5 (2009-05-29)

  • Depend on plonehrm.absence>=1.0b5 and plonehrm.contracts>=2.0.4. [maurits]

  • Added contract_expirydate to substitution parameters. [maurits]

  • Added previous_contract_start_date to substitution parameters. [maurits]

  • Added migration for the change in the gender and civilStatus vocabularies. We can only make this an example migration that happens to work with the Dutch values we filled in in the personaldata_properties sheet. [maurits]

  • Made the gender field of an Employee just use strings and a DisplayList that can be translated, instead of reading from the personaldata_properties. Substitution view is fixed for that. Same for the civil status field (which is not used in substitution btw). [maurits]

  • Added notedays class to plonehrm.css. [mike]

  • Added the possibility to upload files directly from the employee view. KSS rules are used to display a form instead of the file list. [vincent]

  • Added a plonehrm_tool_workflow for our three tools (ChecklistTool, ContractTool, JobPerformanceTool). [maurits]

  • Now, the File viewlet shows icon, size and date of the files. The files are now sorted (most recent first). The file_list() in the method has been changed to return brains instead of objects. [vincent]

  • removed css hack absence viewlet (gave problems, wasn’t needed), removed fixed width .notedate. [laurens]

2.1.4 (2009-05-26)

  • Absence viewlet css for edit cel, and min-width for viewlet. [laurens]

  • Absenceview css for layout display. [laurens]

  • Files viewlet title is now ‘Files’, instead of ‘Add new file’ [vincent]

  • We depend on plonehrm.absence (bigger than or equal to 1.0b4) again as that has seen its big refactoring. Needs a new plonehrm.absence release. [maurits]

  • Do not use a workflow for the types defined in plonehrm.absence. [maurits]

  • Fixed substitution when the context is not a direct child of an Employee but is a bit further down. [maurits+vincent]

  • Explicitly load some css and javascript in employee.pt so the kss calendar when adding an absence (if plonehrm.absence is used) works. [maurits]

  • Added xm.theme print.css styles. [laurens]

  • Added clean print.css. [laurens]

2.1.3 (2009-05-15)

  • Do not depend on plonehrm.absence anymore, as that will be changed radically. [maurits]

  • During substitution, we substitute None with an ellipsis instead of ‘None’. [maurits+mike]

  • Added icon and link to delete files. [mark + vincent]

  • Added icon images (doc, excel, pdf) and metadata. [laurens]

  • Renamed substitution parameters so all employee related parameters start with ‘_employee’, etc. [maurits]

  • Work Location: added fields for company (or main office) address; changed label/description of the current address fields to mean the visiting address of the actual work location. [maurits]

  • Removed .mo files from locales. This means those translations will not be visible in the old Plone 3.0. [maurits]

  • Changed label of Title field of Work location into Trade Name. [maurits]

2.1.2 (2009-05-06)

  • Added in_worklocation and all_worklocations methods to worklocation state view. [mark]

  • Added worklocation state view. [mark]

  • Added margin-top to #absencelist .context buttons. [laurens]

  • Removed margins .plone_jscalenader. [laurens] (didns’t traverse in kantoor-ladage theme). [laurens]

  • Changed message id for closing_absence (alt & title). [laurens]

  • Increased margin-bottom for calendar in viewlet absencelist. [laurens]

  • Added class context to button notes and checklist templates. [laurens]

2.1.1 (2009-04-22)

  • Nothing changed yet.

2.1.0 (2009-04-22)

  • Added plonehrm.absence in the list of employee details viewlets. [maurits+mike]

  • Added plonehrm.absence dependency in setup.py. [maurits]

2.0 (2009-04-20)

  • Nothing changed yet.

2.0rc2 (2009-04-16)

  • Avoid throwing errors when the ‘Migrate personal data’ upgrade step tries to migrate employees that are already migrated and have no personal object anymore. [maurits]

  • Removed the code that ran the upgrade steps automatically when (re)installing Products.plonehrm. It is not what I would expected (though I added it myself last year and it does work). [maurits]

2.0rc1 (2009-04-16)

  • Require plonehrm.contracts 2.0 or higher. [maurits]

  • Require plonehrm.personaldata 2.0 or higher. [maurits]

  • Catch ValueError in the updateEmployee function when we try to add an instance of a content type that does not exist. [maurits+mike]

  • Moved GenericSetup stuff from configure.zcml to the new profiles.zcml. [maurits+mike]

  • Added an upgrade step to remove old import step from plonehrm.personaldata. [maurits+mike]

  • Added an upgrade step to remove remove ‘PersonalData,personal’ from the portal_types_to_create property. [maurits+mike]

  • In the upgrade step remove the ‘personal’ object from all Employees. [maurits+mike]

  • migrated plonehrm.personaldata.notifications from plonehrm.personaldata.notifications to Products.plonehrm.notifications [maurits+mike]

  • Removed PersonalData from the types that we create in each Employee. [maurits, jladage]

  • added migration code for the merge of personaldata objects into the employee objects. [maurits+mike]

  • If there is no contract workStartDate will still give a date whitch calculates te years a employee works at the company.

  • In the Plonehrm.contracts added the years and months the employee is at the company. When the workStartDate is filled in in personal edit that is the date the employee started working at the company.[mike]

  • added validator.py with DateValidator,AgeValidator to Products.plonehrmProductsplonehrm witch will check the date when adding new employees birthday, workStartDate to not be in the future. And will check employees workStartDate to not be too young.[mike]

  • workStartDate is added to employee.py in content so you can see when the employee stared working at a company.[mike]

  • employeeNumber is added to employee.py in content so the employees now have numbers in front of their name.[mike]

  • Many files of Plonehrm.personal were copyed too Products.plonehrm, such as the content types and browser templates.[mike]

  • Depend on the new collective.autopermission from Martin Aspeli for defining new permissions, getting rid of a hack we needed to do. [maurits]

1.0.4 (2009-02-16)

  • Bug fix: load plone.app.portlets zcml in browser/configure.zcml before defining a portlet. Gave startup problems otherwise for some people. [maurits]

1.0.3 (2008-11-21)

  • Fixed possible unicode error in the substituter. [maurits]

  • Fixed possible unicode error when rendering the title or official name of an employee. [maurits]

1.0.2 (2008-10-20)

  • Setting plonehrm as placeful workflow for all existing WorkLocations is now a GenericSetup upgrade step, which is run by reinstalling. [maurits]

  • In the plonehrm placeful workflow, explicitly give Files and Images the Default workflow. Otherwise they will still be visible/searchable. [maurits]

  • Added placeful workflow ‘plonehrm’. This is set when creating a WorkLocation. Using this gives every content item the worklocation_workflow, except Employees who get the employee_workflow. Upon reinstall this policy is set in all WorkLocations. [maurits]

1.0.1 (2008-10-10)

  • Bug fix: load plone.app.portlets zcml before loading our zcml to avoid Zope startup error on some computers. Thanks to davideilmore for finding this. [maurits]

  • End-of-line and svn:ignore fixes. [maurits]

1.0 (2008-10-02)

  • Added notification control panel. [maurits]

  • Added profiles/default/metadata.xml. [maurits]

1.0 beta 4 (2008-09-02)

  • Eggified: now available as Products.plonehrm on the python cheese shop. [maurits]

  • Fixed the email_adresses_of_local_managers function in utils.py so it correctly gets email addresses and full names of members. [maurits]

1.0 beta 3 (2008-07-28)

  • Only test setup + pep8/pyflakes changes. [reinout]

1.0 beta

  • Make Employee searchable and add its title to the searchable text. [maurits]

  • Added substitution parameters ‘trial_period’ and ‘contract_duration’. [maurits]

  • Added tests for the workflows. [reinout]

  • Added first workflow: active/inactive for employee. This also adds the roles hrm_manager, worklocation_manager and worklocation_employee. Still old-fashioned 2.5 workflow code, though. [reinout]

  • First version of working worklocation view with rendering of employee modules. [reinout]

  • Removed interface. Using configuration now to handle the title/url/template/etc for use in the employee_view, instead of relying on methods in the employee modules. Should get rid of some serious amount of code. [reinout]

  • Added a few fields that can come in handy for contracts: official name of the worklocation, address. [reinout]

  • Removed dependency on utility, the view now grabs objects that can be adapted to IEmployeeModule and filters out employee modules in that way. Later on, some caching is probably needed: objectValues()! [reinout]

  • Moved Description to the end of the fields and added initials. And…. started this changelog :-) [reinout]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Products.plonehrm-2.5.tar.gz (145.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page