{ "info": { "author": "Zest Software", "author_email": "info@zestsoftware.nl", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Plone HRM\n=========\n\nPlone HRM is an open source Plone product designed to manage human\nresources.\n\nFunctionalities (for end users):\n--------------------------------\n\nPloneHRM is formed around two major types of items: worklocations\nand employees. You can create as many worklocations as you need and in\neach of them, as many employees as you want without any limitation.\nOne goal of PloneHRM is to be easy to use, so almost all\nfunctionalities are handled in employee folders and worklocation views.\n\nWhen seeing the folder of an employee, you have access to several\nwidgets that help you maintain your employee folder.\n\nPersonal data:\n\n- save all personal data about your employee (contact, birth date,\n portrait ...)\n\nNotes:\n\n- add notes about your employee\n\nTasks:\n\n- create tasks for each employee\n- set a due date for the task. The task will appear orange on the due\n date and red if the task has not been done after the due date\n- get a notification by mail on the due date\n\nFiles:\n\n- save files about your employee (correspondence, passport copies,\n vacations overview ...) \n\nContracts:\n\n- create contracts and change letters\n- use templates to automatically generate the contract from\n the data of the employee\n- manage which days an employee works on odd/even weeks and how many\n hours each day\n- get notifications when a contract or a trial period is close to\n expire\n\nJob performance interviews:\n\n- use templates to generate the skeleton of your interview reports\n- store improvements areas\n\nAbsences:\n\n- create/close an employee absence\n- manage percentage of presence/productivity during an absence\n- have a history of the percentages evolution\n- obtain the exact number of absence days from contract definition\n- create interviews about re-integration after long absences\n- add notes and files to an absence\n- get notified when an employee is absent for a long period\n\n\nThe worklocation page offers six different overviews:\n\n- the list of employees currently employed in a worklocation with\n their contact information\n- the improvement area view lets you see all improvement areas defined\n with your employees during the last job interviews\n- the absence view provides a year overview of the absences of your\n employees and allows you to export the list of absences for a given \n period as a CSV file (compatible with Excel)\n- the facebook view shows a facebook of your employees with a quick\n access to their folders\n- the tasks view shows all tasks that are left to be done and allows\n to change the due date or mark them as done\n- the inactive employee view allows you to access the folders of your\n former employees\n\n\nIncoming features:\n------------------\n\nPloneHRM is still evolving and some new features are planned for the\ncoming months:\n\n- new widget to manage employees vacations\n- year/month/week overview of the vacations for a worklocation\n- new widget to manage correspondence with employees\n- new widget to manage education and courses of employees\n- template system allowing to automatically generate forms for\n administrations\n\n\nPloneHRM features (for integrators):\n---------------------------------------------------\n\nPloneHRM can be easily integrated in your Plone site. In your\nbuildout, add the following code::\n\n [buildout]\n ...\n eggs =\n Products.plonehrm\n versions = versions\n\n [versions]\n Products.plonehrm = 2.14\n plonehrm.absence = 1.5\n plonehrm.checklist = 1.3\n plonehrm.contracts = 2.6\n plonehrm.jobperformance = 1.3\n plonehrm.notes = 1.1\n plonehrm.notifications = 1.2\n plonehrm.personaldata = 2.0.1\n\nIn the next major release (3.0), PloneHRM will be a single package, so\nyou will not have to specify versions for each sub-package.\n\nOnce PloneHRM is installed in your Plone instance, you get the\npossibility to add Worklocation objects inside any Plone folder\n(except if you restricted addable types of course).\n\nNew configlets will also be added in your plone control panel:\n\n- PloneHRM notifications allows you to set when notifications are sent\n by the system.\n- absence evaluation templates let you define templates for interviews\n done during absences\n- job performance templates do the same for job performance templates\n- contract templates allow you to define templates for contracts and\n letters\n\nYou can simply customise all e-mail notifications sent by PloneHRM,\nfor example using HTML mails using your company logo. See the 'for\ndevelopers' section of this file for more explanation.\n\nPloneHRM is a modular system and you can decide to restrict access to\nyour users by using custom roles and permissions (see the 'for\ndevelopers' for more details). You can hide a widget in the employees\nviews, show a widget as static widget (no possibility to add a new\ntask for example) or allow the full access to the widget.\nFor each widget, you can control how the user will access it.\n\n\nPloneHRM features (for developers):\n------------------------------------\n\nPloneHRM defines several permissions to restrict user interface. Those\npermissions are named 'plonehrm: ...'.\n\nFor each viewlet/widget in the Employee view, you have a permission\ncalled 'plonehrm: view ... viewlet' that you can use to hide the\nviewlet to certain roles. The 'plonehrm: manage ...' is used to grant\naccess to the viewlets functionalities.\n\nContent types also have custom permissions that you can use to\nrestrict access, like 'plonehrm: Add Contract' for example can be used\nto (un)allow a user to add new contracts.\n\nIf you want to change the look of notification mails, you have to\noverride the base_email.pt template in the skin folder. This template\ndefines three macros that are used to render content of the mails:\n\n- ``plonehrm_mail`` defines the content of the mail.\n- ``plonehrm_p`` defines a text block (can be rendered as a 'p' tag in an\n html mail)\n- ``plonehrm_link`` defines how a link should be rendered.\n\n\nLicensing and releases:\n-----------------------\n\nPlone HRM is released under the GNU Public Licence (see\n'docs/LICENCE.GPL'). Still, the SVN repository is not a public\nrepository, as we (Zest software) want to keep the newest features for\nour customers. There will still be releases on Pypi\n(http://pypi.python.org/pypi/Products.plonehrm/) but the eggs\npublication will be delayed compared to the internal releases (for\nexample, the 3.0 release egg will be publicly available when the\ninternal 4.0 release will occur).\n\nIf you are interested in contributing to the project, please contact\nthe product manager (v.pretre at zestsoftware dot nl) to get an access\nto the SVN repository. Contributors will be able to use the latest\nreleases.\n\nThe old public releases (see below) will still be accessible on Pypi\nand sources will be accessible on the Plone collective SVN repository.\nThe list below provides, for each PloneHRM product, the last public\nrelease and the SVN repository access::\n\n Products.ploneHRM 2.14 http://svn.plone.org/svn/collective/Products.plonehrm/\n plonehrm.absence 1.5 http://svn.plone.org/svn/collective/plonehrm.absence/\n plonehrm.checklist 1.3 http://svn.plone.org/svn/collective/plonehrm.checklist/\n plonehrm.contracts 2.6 http://svn.plone.org/svn/collective/plonehrm.contracts/\n plonehrm.jobperformance 1.3 http://svn.plone.org/svn/collective/plonehrm.jobperformance/\n plonehrm.notes 1.1 http://svn.plone.org/svn/collective/plonehrm.notes/\n plonehrm.notifications 1.2 http://svn.plone.org/svn/collective/plonehrm.notifications/\n plonehrm.personaldata 2.0.1 http://svn.plone.org/svn/collective/plonehrm.personaldata/\n plonehrm/dutch 1.3.1 http://svn.plone.org/svn/collective/plonehrm.dutch/\n\n\nHistory of Products.plonehrm\n============================\n\n2.14 (2010-01-15)\n-----------------\n\n- Updated README file. [vincent]\n\n- Integrated changes from 2.12.4 (was a release done from a branch at\n the same time than 2.13). [vincent]\n\n\n2.13 (2010-01-06)\n-----------------\n\n- Added a bit of CSS to make the label in a form appear next to the\n checkbox. [mark]\n\n- Updated notification for birthday to use the new templating system. [vincent]\n\n- Added 'html_mail' portal property, to know which format is used to\n send the mails (plain or html). [vincent]\n\n\n2.12.4 (2010-01-07)\n-------------------\n\n- The commands in the task overview page are now protected with\n 'plonehrm: Modify checklist' and 'plonehrm: Modify manager\n checklist' permissions. [vincent]\n\n- The file viewlet is now guarded by the 'plonehrm: view files\n viewlet' permission. The 'delete' button is guarded by 'plonehrm:\n manage files'. The 'add' button is still guarded by 'AtContent: add\n file'. [vincent]\n\n- The 'edit' button of the personal data viewlet is now guarded by the\n 'plonehrm: manage personal data' permission and the whole viewlet is\n only visible is the user has the 'plonehrm: view personal data\n viewlet' permission. [vincent]\n\n- Added permissions to manage visible viewlets and functionalities in\n the employee view. [vincent]\n\n\n2.12.3 (2010-01-05)\n-------------------\n\n- bugfix: getInitials() now handles cases in which initials are stored\n with spaces and avoids adding dots where it is not needed. [vincent]\n\n\n2.12.2 (2009-11-18)\n-------------------\n\n- bugfix release - files missing in the previous release (problems\n with svn > 1.5 and setuptools caused it). [vincent]\n\n\n2.12.1 (2009-11-18)\n-------------------\n\n- bugfix release - files missing in the previous release. [vincent]\n\n\n2.11 (2009-11-18)\n-----------------\n\n- Added [today_written_month] substitution variable for templates. It\n displays the date with the month name fully writen. [vincent]\n\n- Added a new template word, [employee_formal_title], to start a\n letter with 'Dear Sir/Madam'. [vincent]\n\n- Added a new field in Worklocation, so users can chose if\n notification when a contract end will ask them to make a new\n contract or a new letter. [vincent]\n\n- Added get_last_contract method to the employee, which returns the\n contract that ends the later (used for notifications). [vincent]\n\n\n2.10 (2009-10-08)\n-----------------\n\n- Hidden useless fields in edit forms for Templates, Employees and\n Worklocations. Simpler and more reliable than custom edit forms. [vincent]\n\n\n2.9.2 (2009-09-21)\n------------------\n\n- Absence overview now takes into account absences that start on a\n half-day for arbo managers. [vincent]\n\n\n2.9.1 (2009-09-18)\n------------------\n\n- Changed Absences workflow to avoid adding documents in closed\n absences. [maurits + vincent]\n\n- Bugfix in CSV import, now created employees have correct\n ids. [maurits + vincent]\n\n- Added 'absence_overview' page, which provides informations about\n absences for every worklocations. [vincent]\n\n- Added page to import CSV file containing employees data in\n Worklocation. [vincent]\n\n- Removed custom forms to edit Employees and Worklocations. [vincent]\n\n- bugfix: absences export did not work on IE when site was using\n https. [vincent]\n\n\n2.9 (2009-09-11)\n----------------\n\n- Fixed layout of job performance for PloneHRM [mirella]\n\n- Added custom forms for editing worklocations and\n employees. [vincent]\n\n- Added base_edit class, which provides some help to create edit form\n for custom content. [vincent]\n\n\n2.8.1 (2009-09-09)\n------------------\n\n- Hidden Workflow menu for employees. [vincent]\n\n- Added average percentage/total/count of absences in\n worklocation/absence view. [vincent]\n\n- Updated checklist view to sort table on employee names by\n default. [vincent]\n\n- Changed size of columns in checklist view (greater width for text\n and lesser one for dates). [vincent]\n\n- Changed release number (issues fixing release). [vincent]\n\n\n2.8 (2009-09-02)\n----------------\n\n- In the worklocation/absence view, the number of days absent is now\n computed more efficiently for Arbo managers. [vincent]\n\n- Code refactoring to compute absence length for Arbo\n managers. [vincent]\n\n- Added CSV export for absences from worklocation/absence\n view. [vincent]\n\n- In the checker for nearing birth days, do not warn about unknown\n birth days, but log it as a debug message.\n [maurits]\n\n- changes some dutch translations into proper dutch. [mirella]\n\n- Bugfix: it is now possible to upload file with Safari. [vincent]\n\n- Added new way to compute absence days/percentage in worklocation\n view for Arbo managers. This method does not use absence lenght\n provided by the users, but uses calendar and how hours are spread in\n the contracts and letter. [vincent]\n\n- Added ArboManager role and 'plonehrm: manage Arbo content'\n permission. For the moment, this permission only allows to spread\n hours more efficiently in contracts. [vincent]\n\n\n2.7 (2009-08-26)\n----------------\n\n- Added a new column in worklocation absences view that displays\n number of absences for the current year. [vincent]\n\n- Added function apply_template_of_tool in utils.py. This will be\n called by other packages to set the text (of e.g. a job performance\n interview) based on the chosen template, without needing a\n setTemplate method that can have unwanted side effects.\n [maurits]\n\n\n2.6.3 (2009-08-24)\n------------------\n\n- Fixed the validator for Dutch social security numbers.\n [maurits]\n\n- Removed properties.xml as it was still adding the old style\n portlet_parameters portlet in the right slots on the root of the\n site. (To do: turn this into a proper new style portlet.)\n [maurits]\n\n\n2.6.2 (2009-08-17)\n------------------\n\n- Moved the properties show_state, show_country,\n civil_status_vocabulary and id_type_vocabulary from\n propertiestool.xml to config.py and setuphandlers.py. Reinstalling\n should not override user changes. [maurits]\n\n\n2.6.1 (2009-08-14)\n------------------\n\n- Let the Template content type use the portal factory.\n [maurits]\n\n\n2.6 (2009-08-13)\n----------------\n\n- Added 'Contact person' in worklocation archetype, and\n [worklocation_contactperson] template field which fetches\n it. [vincent]\n\n- Added [first_contract_startdate] template field. [vincent]\n\n- Updated [employee_initials] template field. It now automatically\n computes initials from employee's first name. [vincent]\n\n- When adding an end employment date to an employee, default end\n employment items are copied in his checklist. [vincent]\n\n- Added annotations to store reason and date of employment\n end.[vincent]\n\n- Updated CSS for portal_checklist managment page. [vincent]\n\n\n2.5.1 (2009-08-05)\n------------------\n\n- bugfix in employeesOverview migration. [vincent]\n\n\n2.5 (2009-08-05)\n----------------\n\n- CSS file for jQuery UI calendar picker is not mergeable anymore,\n which makes images to change month visible again. [vincent]\n\n- Updated default view of a worklocation. Now the checklist column is\n not visible anymore and three more columns have been added (address,\n zipcode and city). You need to run the upgrade step to see the\n changes. [vincent]\n\n- Added insurance information for the worklocation. [vincent]\n\n- Added the 'checklist' page. This page display tasks for all\n employees the user has access to, depending on the context. If the\n page is called inside a worklocation, only tasks of employee in this\n worklocation will be displayed. This page also allows to change date\n of tasks and to check them. [vincent]\n\n\n2.4.1 (2009-07-29)\n------------------\n\n- Bug fix: absences workflow did not work with third party tool using\n ploneHRM. Corrected mapping in\n profiles/default/workflows.xml. [jladage+vincent]\n\n\n2.4 (2009-07-29)\n----------------\n\n- Added two-state workflow for absences. An absence can now be\n 'opened' or 'closed'. When closed, only the manager (not HRM\n manager) can edit an absence. The absence state automattically\n changes when the user sets an end date using the absence viewlet.\n A migration step has also been added to set the right state for\n absences which have an end date. [vincent]\n\n- A status message is displayed when a file is uploaded from the\n employee view. [vincent]\n\n- Added BSN validator, and used it on the BSN field of employees. [vincent]\n\n- Updated translations [jladage]\n\n\n2.3.1 (2009-07-24)\n------------------\n\n- Added css for checklist notelist. [laurens]\n\n- bug fix: solved weird cases in worklocation absence view. Now we can\n not have more than 100% of absence during the year and the\n computation of absences days only starts on the first day covered by\n the contract. [vincent]\n\n- Added headers in checklist notelist, including translations and css. [laurens]\n\n\n2.3 (2009-07-22)\n----------------\n\n- Added 'manage HRM content' permission. [mark+vincent]\n\n- Updated substitution system to deal with the new portal_absence. So\n now, when providing the parameters, it does not only check that\n 'portal_jobperformance' is not in the context URL, but checks that\n the context is a contract or a letter. Also added a verification on\n the dictionary access in the 'substitute' method to avoid raising\n exceptions. [vincent]\n\n- Added a migration step to remove old Documents templates and creates\n new ones with the right Archetype. [vincent]\n\n- Added the 'Template' archetype, that will be use to manage every\n type of template (contracts, letter, job performance and absence\n evaluation) used in ploneHRM. [vincent]\n\n\n2.2.9 (2009-07-10)\n------------------\n\n- Added '1 week' to the pay period options of a work location.\n [maurits]\n\n\n2.2.8 (2009-07-07)\n------------------\n\n- Reverted changes from 2.2.7: having three names is just too silly.\n [maurits]\n\n\n2.2.7 (2009-07-07)\n------------------\n\n- Added tradeName field to Worklocation. The title field is now used\n as the name of the work location. Then we still have the legal\n name; apparently one name is not enough... [maurits]\n\n\n2.2.6 (2009-07-07)\n------------------\n\n- Added upgrade step to replace old substitution parameters within the\n tools templates. [maurits+markvl]\n\n- Added field payPeriod to WorkLocation. Vocabulary: month or 4\n weeks. Added substitution parameter worklocation_pay_period.\n [maurits]\n\n- Substitution: added employee_first_name and employee_full_name.\n [maurits+markvl]\n\n- Substitution: renamed company_official_name to company_legal_name.\n [maurits+markvl]\n\n- Disabled floats for the elements inside the fields for editing the profile\n image of an employee. [laurens]\n\n- Don't use the plural \"days\" if the employee is sick for just one\n day. [markvl]\n\n- The percentage of absence for an employee is now displayed in the\n absence view of the worklocation, instead of the absence viewlet in\n the employee view. [vincent]\n\n- Added a new upgrade step that reindex all employees. This allows to\n display the facebook, as this one uses metadata that were not\n indexed previously. [vincent]\n\n- Added a facebook. Each employee has a portrait that can be set with\n his personal data. This portrait is displayed in the Employee\n viewlet and a special view has been created in the WorkLocation\n view, allowing to display portraits of all active employees. [vincent]\n\n\n2.2.5 (2009-06-23)\n------------------\n\n- Updated translations and remove link to folder_contents. [jladage]\n\n\n2.2.4 (2009-06-16)\n------------------\n\n- Removed the brachets that where used in absencelist overview for\n the dates. [laurens]\n\n\n2.2.3 (2009-06-15)\n------------------\n\n- Avoid possible ZeroDevisionError in absence list per work location.\n [maurits]\n\n\n2.2.2 (2009-06-15)\n------------------\n\n- Transparancy fix bullet image. [laurens]\n\n\n2.2.1 (2009-06-15)\n------------------\n\n- Removed the bracets for the dates. [laurens]\n\n- Added calculation for sickness per month. [maurits]\n\n- Added bullet image for use in non-list modules, modified the css\n to display the change correctly. [laurens]\n\n- ccs fix content .notelist, css portlet-parameters. [laurens]\n\n- Changed h2 to h3 in checklisttools_view. [laurens]\n\n- Added the skeleton for the Absence listing at the worklocation level.\n to be continued. [jladage]\n\n- Restructured layout contract viewlet. [jean-paul, laurens]\n\n- Call the method to update an employee only when the object has been\n initialized, not everytime it is modified. Do not use\n events.employeeModified anymore (removed that) but just use the\n utils.updateEmployee method directly (which now accepts an optional\n event argument and happily ignores it). Mostly this gets rid of\n Checklist that ended up in the portal_catalog with as parent an\n Employee that was still in the portal_factory.\n [maurits]\n\n- Pagetemplate and css modifications for viewlets file, jobpreformance,\n contract. [laurens]\n\n- Catch AttributeErrors and KeyErrors thrown by brain.getObject().\n [maurits]\n\n\n2.2 (2009-06-12)\n----------------\n\n- css checklist viewlet. [laurens]\n\n- Removed red color from contract letter, restructured the file viewlet. [laurens]\n\n\n2.1.10 (2009-06-11)\n-------------------\n\n- Restructured the layout of absence_viewlet. [laurens]\n\n\n2.1.9 (2009-06-09)\n------------------\n\n- Do not allow adding Files to a worklocation and do not show\n non-Employee items there. [maurits+jladage]\n\n- Removed reference to ManagementFile. [maurits+jladage]\n\n- Disallow adding the PersonalData content type in an Employee, as\n that is deprecated. [maurits]\n\n\n2.1.8 (2009-06-04)\n------------------\n\n- Improved the migration for genders again. [maurits]\n\n- Changed birthdate requirement to not required.[mike]\n\n- In utils.py changed age method if check to return a None.\n [mike]\n\n- Fixed the substitution for work location and company address as\n those are just strings now instead of lines.\n [maurits]\n\n- Changed viewlets display in the employee view. Now, the viewlets are\n not floating anymore, but displayed inside two columns. [vincent]\n\n- Removed gender vocabulary from personaldata_properties.\n [maurits]\n\n- Reverted the change in 2.1.5 to the civilStatus field of an\n Employee: use personaldata_properties again. With migration.\n [maurits]\n\n- Changed order of viewlets again. [maurits]\n\n- Removed variables from the worklocation workflow so the state dropdown is\n not displayed. [jladage]\n\n\n2.1.7 (2009-06-03)\n------------------\n\n- Catch Unauthorized exception during adding a WorkLocation when the\n current user does not have the right to get or set the placeful\n workflow policy. Just use the default then. [maurits+vincent]\n\n- The WorkLocation type now inheritates from BaseFolder instead of\n ATFolder. This allows to remove dynamic view, and so the 'Display'\n tab. [vincent + fred]\n\n- Moved 'Legal company name' in the worklocation type. Worklocation's\n address and company's address are now StringField. In order to get\n proper values for these fields, you have to run the upgrade\n tool. [vincent + fred]\n\n\n2.1.6 (2009-06-02)\n------------------\n\n- Removed several other properties from the propertiestool.xml that\n were already in config.py so they only get set once, instead of each\n time the profile is applied. [maurits+markvl]\n\n- Removed the setting of the viewlets in the plonehrm_properties to\n the setuphandlers in Products.plonehrm, where we only set the order\n once. [maurits+markvl]\n\n\n2.1.5 (2009-05-29)\n------------------\n\n- Depend on plonehrm.absence>=1.0b5 and plonehrm.contracts>=2.0.4.\n [maurits]\n\n- Added contract_expirydate to substitution parameters.\n [maurits]\n\n- Added previous_contract_start_date to substitution parameters.\n [maurits]\n\n- Added migration for the change in the gender and civilStatus\n vocabularies. We can only make this an example migration that\n happens to work with the Dutch values we filled in in the\n personaldata_properties sheet. [maurits]\n\n- Made the gender field of an Employee just use strings and a\n DisplayList that can be translated, instead of reading from the\n personaldata_properties. Substitution view is fixed for that.\n Same for the civil status field (which is not used in substitution btw).\n [maurits]\n\n- Added notedays class to plonehrm.css. [mike]\n\n- Added the possibility to upload files directly from the employee\n view. KSS rules are used to display a form instead of the file\n list. [vincent]\n\n- Added a plonehrm_tool_workflow for our three tools (ChecklistTool,\n ContractTool, JobPerformanceTool). [maurits]\n\n- Now, the File viewlet shows icon, size and date of the files. The\n files are now sorted (most recent first). The file_list() in the\n method has been changed to return brains instead of\n objects. [vincent]\n\n- removed css hack absence viewlet (gave problems, wasn't needed),\n removed fixed width .notedate. [laurens]\n\n2.1.4 (2009-05-26)\n------------------\n\n- Absence viewlet css for edit cel, and min-width for viewlet. [laurens]\n\n- Absenceview css for layout display. [laurens]\n\n- Files viewlet title is now 'Files', instead of 'Add new file'\n [vincent]\n\n- We depend on plonehrm.absence (bigger than or equal to 1.0b4) again\n as that has seen its big refactoring. Needs a new plonehrm.absence\n release. [maurits]\n\n- Do not use a workflow for the types defined in plonehrm.absence.\n [maurits]\n\n- Fixed substitution when the context is not a direct child of an\n Employee but is a bit further down. [maurits+vincent]\n\n- Explicitly load some css and javascript in employee.pt so the kss\n calendar when adding an absence (if plonehrm.absence is used) works.\n [maurits]\n\n- Added xm.theme print.css styles. [laurens]\n\n- Added clean print.css. [laurens]\n\n\n2.1.3 (2009-05-15)\n------------------\n\n- Do not depend on plonehrm.absence anymore, as that will be changed\n radically. [maurits]\n\n- During substitution, we substitute None with an ellipsis instead of\n 'None'. [maurits+mike]\n\n- Added icon and link to delete files. [mark + vincent]\n\n- Added icon images (doc, excel, pdf) and metadata. [laurens]\n\n- Renamed substitution parameters so all employee related parameters\n start with '_employee', etc. [maurits]\n\n- Work Location: added fields for company (or main office) address;\n changed label/description of the current address fields to mean the\n visiting address of the actual work location. [maurits]\n\n- Removed .mo files from locales. This means those translations will\n not be visible in the old Plone 3.0. [maurits]\n\n- Changed label of Title field of Work location into Trade Name.\n [maurits]\n\n\n2.1.2 (2009-05-06)\n------------------\n\n- Added in_worklocation and all_worklocations methods to worklocation\n state view. [mark]\n\n- Added worklocation state view. [mark]\n\n- Added margin-top to #absencelist .context buttons. [laurens]\n\n- Removed margins .plone_jscalenader. [laurens]\n (didns't traverse in kantoor-ladage theme). [laurens]\n\n- Changed message id for closing_absence (alt & title). [laurens]\n\n- Increased margin-bottom for calendar in viewlet absencelist. [laurens]\n\n- Added class context to button notes and checklist templates. [laurens]\n\n\n2.1.1 (2009-04-22)\n------------------\n\n- Nothing changed yet.\n\n\n2.1.0 (2009-04-22)\n------------------\n\n- Added plonehrm.absence in the list of employee details viewlets.\n [maurits+mike]\n\n- Added plonehrm.absence dependency in setup.py. [maurits]\n\n\n2.0 (2009-04-20)\n----------------\n\n- Nothing changed yet.\n\n\n2.0rc2 (2009-04-16)\n-------------------\n\n- Avoid throwing errors when the 'Migrate personal data' upgrade step\n tries to migrate employees that are already migrated and have no\n personal object anymore. [maurits]\n\n- Removed the code that ran the upgrade steps automatically when\n (re)installing Products.plonehrm. It is not what I would expected\n (though I added it myself last year and it does work). [maurits]\n\n\n2.0rc1 (2009-04-16)\n-------------------\n\n- Require plonehrm.contracts 2.0 or higher. [maurits]\n\n- Require plonehrm.personaldata 2.0 or higher. [maurits]\n\n- Catch ValueError in the updateEmployee function when we try to add\n an instance of a content type that does not exist. [maurits+mike]\n\n- Moved GenericSetup stuff from configure.zcml to the new\n profiles.zcml. [maurits+mike]\n\n- Added an upgrade step to remove old import step from\n plonehrm.personaldata. [maurits+mike]\n\n- Added an upgrade step to remove remove 'PersonalData,personal' from\n the portal_types_to_create property. [maurits+mike]\n\n- In the upgrade step remove the 'personal' object from all\n Employees. [maurits+mike]\n\n- migrated plonehrm.personaldata.notifications from\n plonehrm.personaldata.notifications to\n Products.plonehrm.notifications [maurits+mike]\n\n- Removed PersonalData from the types that we create in each Employee.\n [maurits, jladage]\n\n- added migration code for the merge of personaldata objects\n into the employee objects. [maurits+mike]\n\n- If there is no contract workStartDate will still give a date whitch\n calculates te years a employee works at the company.\n\n- In the Plonehrm.contracts added the years and months the employee is\n at the company. When the workStartDate is filled in in personal edit\n that is the date the employee started working at the company.[mike]\n\n- added validator.py with DateValidator,AgeValidator to\n Products.plonehrm\\Products\\plonehrm witch will check the date when\n adding new employees birthday, workStartDate to not be in the future.\n And will check employees workStartDate to not be too young.[mike]\n\n- workStartDate is added to employee.py in content so you can see when\n the employee stared working at a company.[mike]\n\n- employeeNumber is added to employee.py in content so the employees\n now have numbers in front of their name.[mike]\n\n- Many files of Plonehrm.personal were copyed too Products.plonehrm,\n such as the content types and browser templates.[mike]\n\n- Depend on the new collective.autopermission from Martin Aspeli for\n defining new permissions, getting rid of a hack we needed to do.\n [maurits]\n\n\n1.0.4 (2009-02-16)\n------------------\n\n- Bug fix: load plone.app.portlets zcml in browser/configure.zcml\n before defining a portlet. Gave startup problems otherwise for some\n people. [maurits]\n\n\n1.0.3 (2008-11-21)\n------------------\n\n- Fixed possible unicode error in the substituter. [maurits]\n\n- Fixed possible unicode error when rendering the title or official\n name of an employee. [maurits]\n\n\n1.0.2 (2008-10-20)\n------------------\n\n- Setting plonehrm as placeful workflow for all existing WorkLocations\n is now a GenericSetup upgrade step, which is run by reinstalling.\n [maurits]\n\n- In the plonehrm placeful workflow, explicitly give Files and Images\n the Default workflow. Otherwise they will still be\n visible/searchable. [maurits]\n\n- Added placeful workflow 'plonehrm'. This is set when creating a\n WorkLocation. Using this gives every content item the\n worklocation_workflow, except Employees who get the\n employee_workflow. Upon reinstall this policy is set in all\n WorkLocations. [maurits]\n\n\n1.0.1 (2008-10-10)\n------------------\n\n- Bug fix: load plone.app.portlets zcml before loading our zcml to avoid\n Zope startup error on some computers. Thanks to davideilmore for\n finding this. [maurits]\n\n- End-of-line and svn:ignore fixes. [maurits]\n\n\n1.0 (2008-10-02)\n----------------\n\n- Added notification control panel. [maurits]\n\n- Added profiles/default/metadata.xml. [maurits]\n\n\n1.0 beta 4 (2008-09-02)\n-----------------------\n\n- Eggified: now available as Products.plonehrm on the python cheese\n shop. [maurits]\n\n- Fixed the email_adresses_of_local_managers function in utils.py so\n it correctly gets email addresses and full names of members. [maurits]\n\n\n1.0 beta 3 (2008-07-28)\n-----------------------\n\n- Only test setup + pep8/pyflakes changes. [reinout]\n\n\n1.0 beta\n--------\n\n\n- Make Employee searchable and add its title to the searchable text.\n [maurits]\n\n- Added substitution parameters 'trial_period' and\n 'contract_duration'. [maurits]\n\n- Added tests for the workflows. [reinout]\n\n- Added first workflow: active/inactive for employee. This also adds\n the roles hrm_manager, worklocation_manager and\n worklocation_employee. Still old-fashioned 2.5 workflow code,\n though. [reinout]\n\n- First version of working worklocation view with rendering of\n employee modules. [reinout]\n\n- Removed interface.\n Using configuration now to handle the title/url/template/etc for use\n in the employee_view, instead of relying on methods in the employee\n modules. Should get rid of some serious amount of code. [reinout]\n\n- Added a few fields that can come in handy for contracts: official\n name of the worklocation, address. [reinout]\n\n- Removed dependency on utility, the view now grabs objects that can\n be adapted to IEmployeeModule and filters out employee modules in\n that way. Later on, some caching is probably needed: objectValues()!\n [reinout]\n\n- Moved Description to the end of the fields and added\n initials. And.... started this changelog :-) [reinout]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": "", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "Products.plonehrm", "package_url": "https://pypi.org/project/Products.plonehrm/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Products.plonehrm/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/Products.plonehrm/2.14/", "requires_dist": null, "requires_python": null, "summary": "Human Resource Management in Plone", "version": "2.14" }, "last_serial": 1152254, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "d512b21b92ca9c8ce51d054867297c57", "sha256": "6186817d51559586afc7d67485501808181140801bfcb3dc6d0392c670317323" }, "downloads": -1, "filename": "Products.plonehrm-1.0.tar.gz", "has_sig": false, "md5_digest": "d512b21b92ca9c8ce51d054867297c57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42712, "upload_time": "2008-10-02T17:36:39", "url": "https://files.pythonhosted.org/packages/13/5c/452ddf448e838886e53c047ecca0e40eb4ae83617e7d3d87e6ad5f2d9b35/Products.plonehrm-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a48953f213605171874635ee8a63d6d9", "sha256": "022dfd31652b908eee2c4fd112f75f2bb5ae700c34e56d7a2b8cf1c902e840cf" }, "downloads": -1, "filename": "Products.plonehrm-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a48953f213605171874635ee8a63d6d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43095, "upload_time": "2008-10-10T15:05:35", "url": "https://files.pythonhosted.org/packages/30/2d/76c80ea11c857744335a4a4e72f7afa22b7a64b80a094397837a07e820d2/Products.plonehrm-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "3ef08fc6cfe5547b71b62a5bbbed3500", "sha256": "ef2e19c60d600cd838e2c754439efe0e511fca99973e11bbf511ebc3b5f84770" }, "downloads": -1, "filename": "Products.plonehrm-1.0.2.tar.gz", "has_sig": false, "md5_digest": "3ef08fc6cfe5547b71b62a5bbbed3500", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45143, "upload_time": "2008-10-20T12:26:14", "url": "https://files.pythonhosted.org/packages/28/0c/69bbe924cae775c6d9ceae53ae7f172bcc3b8de3476f2d9f614195346087/Products.plonehrm-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "3d9903600913fd74ea31dbc9513688d5", "sha256": "8f97a48c3b8eacd1809fb19c9510c271ed7bb69653e4cd88502db3ce75ee95c4" }, "downloads": -1, "filename": "Products.plonehrm-1.0.3.tar.gz", "has_sig": false, "md5_digest": "3d9903600913fd74ea31dbc9513688d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45360, "upload_time": "2008-11-21T09:20:57", "url": "https://files.pythonhosted.org/packages/2e/d6/703a0ab0b6564bf560f3581357f51808f4da6658396736297f921ee939e4/Products.plonehrm-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "743668a782756bf22cb2ec57143c1804", "sha256": "1caa6aaa3ed18029bc36b184cbe76703903b2acbd1d0c6813a9b0ae5cd446b7c" }, "downloads": -1, "filename": "Products.plonehrm-1.0.4.tar.gz", "has_sig": false, "md5_digest": "743668a782756bf22cb2ec57143c1804", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47481, "upload_time": "2009-02-16T10:31:18", "url": "https://files.pythonhosted.org/packages/df/33/316a3f90522eac5330285f03420e70aa423dd421b0f2821def7af89036c7/Products.plonehrm-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "4b83e80601cf37297f79912efb6953fc", "sha256": "f80eaa474144f6879e56fc0ae43912e35158109c179e95ff0bd64b03781e8527" }, "downloads": -1, "filename": "Products.plonehrm-1.0.5.tar.gz", "has_sig": false, "md5_digest": "4b83e80601cf37297f79912efb6953fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48213, "upload_time": "2009-04-16T16:59:21", "url": "https://files.pythonhosted.org/packages/86/58/57e776a925ee4d15d8df4291f662de12170471e78053e7a93af4f3e53ee9/Products.plonehrm-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "e9aa800a158528dfa036ca58ac7ee52a", "sha256": "284aec830f9d2699c3027c2fdb9bed0620c92f10f7dd8b2ca991980b040d6f66" }, "downloads": -1, "filename": "Products.plonehrm-1.0.6.tar.gz", "has_sig": false, "md5_digest": "e9aa800a158528dfa036ca58ac7ee52a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48229, "upload_time": "2009-04-16T17:22:57", "url": "https://files.pythonhosted.org/packages/bd/ca/6cf3ac3a7dae5d01226822814f4a8034b0d3d101a0ebb0555e7e24db31c6/Products.plonehrm-1.0.6.tar.gz" } ], "1.0b4": [ { "comment_text": "", "digests": { "md5": "902421e58a23688b77cc8975bc5ac47c", "sha256": "08aad558bb6cb9b1a9939a214e66987d189870b239b72542a3767ac3218e891b" }, "downloads": -1, "filename": "Products.plonehrm-1.0b4.tar.gz", "has_sig": false, "md5_digest": "902421e58a23688b77cc8975bc5ac47c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39000, "upload_time": "2008-09-02T16:15:58", "url": "https://files.pythonhosted.org/packages/11/c6/121e503f0ba6bb179e44d19d4aa17f6d0cc39e50117d7073d820606c72ab/Products.plonehrm-1.0b4.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "529b113b7e09a15f3d0ec0d78eef6ec8", "sha256": "3d96ddda3895da04bdb328cd3bff1a5c16b03c1591080207fd84bd1e69429096" }, "downloads": -1, "filename": "Products.plonehrm-2.0.tar.gz", "has_sig": false, "md5_digest": "529b113b7e09a15f3d0ec0d78eef6ec8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56655, "upload_time": "2009-04-20T11:26:06", "url": "https://files.pythonhosted.org/packages/2a/85/b7a9f72cd179cd838a27cf0d8911e1dba9fb854774fb696026458f15b32d/Products.plonehrm-2.0.tar.gz" } ], "2.0rc1": [ { "comment_text": "", "digests": { "md5": "fc55fd75acd984c1c1d60a1346a8a33d", "sha256": "e6654927ca01dd1eef05522e6881d5fa388b32dc6e18a3c98b6ad5a8b1887215" }, "downloads": -1, "filename": "Products.plonehrm-2.0rc1.tar.gz", "has_sig": false, "md5_digest": "fc55fd75acd984c1c1d60a1346a8a33d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56004, "upload_time": "2009-04-16T17:31:20", "url": "https://files.pythonhosted.org/packages/69/e2/502a983657e9fdd997e688a60e1ff0efd465030c227c4d9a9bd1596680c9/Products.plonehrm-2.0rc1.tar.gz" } ], "2.0rc2": [ { "comment_text": "", "digests": { "md5": "5458520d13b9ac4431e68a545ff8bcf5", "sha256": "6b4923aa060a6d6096da4640f2cae6beb298a3c93e7e1a866a20a6e812feff70" }, "downloads": -1, "filename": "Products.plonehrm-2.0rc2.tar.gz", "has_sig": false, "md5_digest": "5458520d13b9ac4431e68a545ff8bcf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56623, "upload_time": "2009-04-16T19:20:26", "url": "https://files.pythonhosted.org/packages/97/36/5964a03145839f4d49ec60aef8edecd36f0e212e9dcf60dfd0f45a034431/Products.plonehrm-2.0rc2.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "49129f165972d0f94163b46c9c7fa753", "sha256": "aee7fc78b7d60ca75094abdbce0420dc6413c6487c0c45cb9e535cafee8aa5aa" }, "downloads": -1, "filename": "Products.plonehrm-2.1.0.tar.gz", "has_sig": false, "md5_digest": "49129f165972d0f94163b46c9c7fa753", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59112, "upload_time": "2009-04-22T16:43:24", "url": "https://files.pythonhosted.org/packages/1e/dc/3f941d355778c68315e621a2f89e435ca76439028d48329d7675ec355e94/Products.plonehrm-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "962a23f733bd7fb3abad98cd7309b58f", "sha256": "9fb1e3fde69cd7b8529c1ceeac4b1e8110063afcc9529cb63e00846e2d98d459" }, "downloads": -1, "filename": "Products.plonehrm-2.1.1.tar.gz", "has_sig": false, "md5_digest": "962a23f733bd7fb3abad98cd7309b58f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59239, "upload_time": "2009-04-22T19:12:12", "url": "https://files.pythonhosted.org/packages/fc/ea/bece8df717e2e5a25008a35799b47b4450ed4ace9f4335d907fae1bd248b/Products.plonehrm-2.1.1.tar.gz" } ], "2.1.10": [ { "comment_text": "", "digests": { "md5": "b1df8ccab840acf2a177db39343b67cd", "sha256": "929adaf3153debfe8f26cbcb2baa5e448887249b483002754fa6c38f21c64bab" }, "downloads": -1, "filename": "Products.plonehrm-2.1.10.tar.gz", "has_sig": false, "md5_digest": "b1df8ccab840acf2a177db39343b67cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70275, "upload_time": "2009-06-11T13:54:18", "url": "https://files.pythonhosted.org/packages/54/82/9a99ac81cdd2300d579f140d6b9e9774825de298ee5312fe38f6df175f06/Products.plonehrm-2.1.10.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "cf52d00c21f5107b50bfc18327d43e30", "sha256": "e23f4619c43844e7ecd3c08ee04b7370658dce41ae3c28b9b13722ad1f11ac4b" }, "downloads": -1, "filename": "Products.plonehrm-2.1.2.tar.gz", "has_sig": false, "md5_digest": "cf52d00c21f5107b50bfc18327d43e30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60837, "upload_time": "2009-05-06T23:03:53", "url": "https://files.pythonhosted.org/packages/9a/97/865f97766b0b9f3290dc6295aba87923aacd8ab1f5d728c19f6c99bb3f2b/Products.plonehrm-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "6d24f13e21fbb0c0684f955241fcd996", "sha256": "85cc0251dea4e8375db86c1d2e12eb22cd2e25353a3aabd0a81f6162a6cd45ea" }, "downloads": -1, "filename": "Products.plonehrm-2.1.3.tar.gz", "has_sig": false, "md5_digest": "6d24f13e21fbb0c0684f955241fcd996", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61015, "upload_time": "2009-05-15T01:22:18", "url": "https://files.pythonhosted.org/packages/92/e2/8f5ef71ed551d15fd0c7f9dbd04606fcc57bfaebf1d98f849d328fa48665/Products.plonehrm-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "f8173f4192afa76cc011a927eaa2bce7", "sha256": "9e5e8f12d0ff36e6ee018d12c26aa0ff729d9857636898549269c850eb9ccde7" }, "downloads": -1, "filename": "Products.plonehrm-2.1.4.tar.gz", "has_sig": false, "md5_digest": "f8173f4192afa76cc011a927eaa2bce7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67046, "upload_time": "2009-05-26T14:58:25", "url": "https://files.pythonhosted.org/packages/02/31/ace5d4ec61e0c19dfcc6c0ae3d480652991e5889080aca7a134a9b5a53be/Products.plonehrm-2.1.4.tar.gz" } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "fa5fdb1ebbcbf4e5eb18fa3bb607aa4e", "sha256": "79b1b2e6adbd017fb0ac569f4a8923a2d209d5463ad7a9be3e7b01b84c2f93b5" }, "downloads": -1, "filename": "Products.plonehrm-2.1.5.tar.gz", "has_sig": false, "md5_digest": "fa5fdb1ebbcbf4e5eb18fa3bb607aa4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72676, "upload_time": "2009-05-29T16:35:16", "url": "https://files.pythonhosted.org/packages/19/bc/21739991fb008e6dba657d1487cc26ca23d2c83235f9e0b7d69300335bdb/Products.plonehrm-2.1.5.tar.gz" } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "44f6af1043ae319ed174740b15e6fdb6", "sha256": "e34333539e9c7d35ed9c7280e2078d861025d6e1653f940602253e55435e3917" }, "downloads": -1, "filename": "Products.plonehrm-2.1.6.tar.gz", "has_sig": false, "md5_digest": "44f6af1043ae319ed174740b15e6fdb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72942, "upload_time": "2009-06-02T14:33:50", "url": "https://files.pythonhosted.org/packages/dd/b6/51e415d1605bf8273ae0d71bbcb168fbf2360dab412ffc9c2e5ba7cdaee9/Products.plonehrm-2.1.6.tar.gz" } ], "2.1.7": [ { "comment_text": "", "digests": { "md5": "4475b38651d2419ad3e28cfcfd5cfb31", "sha256": "f044a5a854afb9cb09e2f0be16369ef2a7a8553cb07539c69f1b89728249c71d" }, "downloads": -1, "filename": "Products.plonehrm-2.1.7.tar.gz", "has_sig": false, "md5_digest": "4475b38651d2419ad3e28cfcfd5cfb31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73942, "upload_time": "2009-06-03T13:50:54", "url": "https://files.pythonhosted.org/packages/65/68/b9a670b7b2c87fe5dae4c1c2c81a86d49c4c3251be25cc333842bc06e7cb/Products.plonehrm-2.1.7.tar.gz" } ], "2.1.8": [ { "comment_text": "", "digests": { "md5": "e2db025401f9e8ef52f8fc73001ce543", "sha256": "d1491236813672ec4d8821297823ddcbdfc060edaf5c92e6feeec38eedc23ee7" }, "downloads": -1, "filename": "Products.plonehrm-2.1.8.tar.gz", "has_sig": false, "md5_digest": "e2db025401f9e8ef52f8fc73001ce543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74891, "upload_time": "2009-06-04T17:48:47", "url": "https://files.pythonhosted.org/packages/04/1e/31d4a22a81526e42528d56a2a30d2e180db29306822c9864ab561b563168/Products.plonehrm-2.1.8.tar.gz" } ], "2.1.9": [ { "comment_text": "", "digests": { "md5": "dd3733ce5db3ba65704af2ecea168dd3", "sha256": "0ab11eec5be074837c7e5a605b4e431a918a0944768e897cf0d1fd1081ba12b5" }, "downloads": -1, "filename": "Products.plonehrm-2.1.9.tar.gz", "has_sig": false, "md5_digest": "dd3733ce5db3ba65704af2ecea168dd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74993, "upload_time": "2009-06-09T17:01:40", "url": "https://files.pythonhosted.org/packages/f3/08/96d9a473ea1a29b2d49fbf2eaa6788e907df578e24603d4c7f560db4f28d/Products.plonehrm-2.1.9.tar.gz" } ], "2.10": [ { "comment_text": "", "digests": { "md5": "9ca9bd386dcd04472ce34de5014c4b28", "sha256": "3657dfd4d1e54ea75d5aa1c0b77a7cc50bb7a9adf17acc2201769b615614bc51" }, "downloads": -1, "filename": "Products.plonehrm-2.10.tar.gz", "has_sig": false, "md5_digest": "9ca9bd386dcd04472ce34de5014c4b28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 179946, "upload_time": "2009-10-08T10:49:14", "url": "https://files.pythonhosted.org/packages/4a/ac/0fb05ddab470c8ea739275e3344eed8cf5639617f6096aad8732e6041c78/Products.plonehrm-2.10.tar.gz" } ], "2.11": [ { "comment_text": "", "digests": { "md5": "7a94a5a2893bfe30578f1976783bee46", "sha256": "a3b67e99092a602784b21923e3bf908a5152118bb013a3f0936706509482736e" }, "downloads": -1, "filename": "Products.plonehrm-2.11.tar.gz", "has_sig": false, "md5_digest": "7a94a5a2893bfe30578f1976783bee46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49841, "upload_time": "2009-11-18T14:56:34", "url": "https://files.pythonhosted.org/packages/90/84/dd7a6bc7493fc6c80805217a0260806a958d24a86a61196fd7fb2a33c210/Products.plonehrm-2.11.tar.gz" } ], "2.12.1": [ { "comment_text": "", "digests": { "md5": "1e78bbff9c0f2eb2c066bc817a82d14a", "sha256": "404a46b13410a76e5a31ee0eac9500624ebc3aa64e308373519a9acd10e1c3d8" }, "downloads": -1, "filename": "Products.plonehrm-2.12.1.tar.gz", "has_sig": false, "md5_digest": "1e78bbff9c0f2eb2c066bc817a82d14a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49865, "upload_time": "2009-11-18T16:11:03", "url": "https://files.pythonhosted.org/packages/61/36/b1c81837157f26fc1876855f2207f6a251dc9a466eda30d031d3aabc5cf4/Products.plonehrm-2.12.1.tar.gz" } ], "2.12.2": [ { "comment_text": "", "digests": { "md5": "06cebd2e4302404b077fe9e4afc13be4", "sha256": "200bfffb8b4b19193af9a5e9e251ca1a261d6d4a6817c2408551a0724e23f24d" }, "downloads": -1, "filename": "Products.plonehrm-2.12.2.tar.gz", "has_sig": false, "md5_digest": "06cebd2e4302404b077fe9e4afc13be4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 188679, "upload_time": "2009-11-18T17:23:17", "url": "https://files.pythonhosted.org/packages/b9/94/dd5bf732f6b4012edced2e649bdbcf94f6c5ae5c40c65f7ae7d1de7f9428/Products.plonehrm-2.12.2.tar.gz" } ], "2.12.3": [ { "comment_text": "", "digests": { "md5": "e652fbb636805dbed20f961749c58cff", "sha256": "3a3eb1e916eaae9a04cb0a3f86f2d08acf2c179a00f3b774f247ef332a011c20" }, "downloads": -1, "filename": "Products.plonehrm-2.12.3.tar.gz", "has_sig": false, "md5_digest": "e652fbb636805dbed20f961749c58cff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 188972, "upload_time": "2010-01-05T10:31:58", "url": "https://files.pythonhosted.org/packages/bf/0e/9f372dc013810594a7a0434239511a8588698dd1ea45be57c2483239d4b5/Products.plonehrm-2.12.3.tar.gz" } ], "2.12.4": [ { "comment_text": "", "digests": { "md5": "7d59375b47529cd7a38e68eddb7eaa27", "sha256": "e9a1c8eb30a65465a4730c9ab9b3e1c9fcd1c7363064c7b3bbbdd8e86cd78046" }, "downloads": -1, "filename": "Products.plonehrm-2.12.4.tar.gz", "has_sig": false, "md5_digest": "7d59375b47529cd7a38e68eddb7eaa27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 190713, "upload_time": "2010-01-07T16:12:09", "url": "https://files.pythonhosted.org/packages/6e/8e/fb14af58714e3db0e0f1ef5ddf5a3a4ccd8e701efc92d9a6ffdd03f5b5fa/Products.plonehrm-2.12.4.tar.gz" } ], "2.13": [ { "comment_text": "", "digests": { "md5": "617b0edf041c478bffc3dfee91fd771e", "sha256": "5c43d9dec5e27d62b3b7def4df565263a79279d5b9c35a7191f4ca1b266d13d3" }, "downloads": -1, "filename": "Products.plonehrm-2.13.tar.gz", "has_sig": false, "md5_digest": "617b0edf041c478bffc3dfee91fd771e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 191301, "upload_time": "2010-01-06T14:21:30", "url": "https://files.pythonhosted.org/packages/5d/48/c0eaa4b789aecbb96d5179ee6d336a5182f8f3035baf398067e33fe5a8a3/Products.plonehrm-2.13.tar.gz" } ], "2.14": [ { "comment_text": "", "digests": { "md5": "6cb4d1b075f139bfdad6b3378f8bff75", "sha256": "3972ad1385e61d4e9c3c52515a5e31dc2e1641e913be9e8fbe56f9d1452b7e9a" }, "downloads": -1, "filename": "Products.plonehrm-2.14.tar.gz", "has_sig": false, "md5_digest": "6cb4d1b075f139bfdad6b3378f8bff75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198315, "upload_time": "2010-01-15T11:52:06", "url": "https://files.pythonhosted.org/packages/2a/be/c7e4ed080e08f9a4bbce0ffe3c51a1c5704f25b43dfb9db0a4ef79a9d012/Products.plonehrm-2.14.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "c517d5e0a310cfbc5e0ac9df14e7e461", "sha256": "0b3f24ee11555ec5c2af35d0443fc4da30360b0150351cc389ba9fc7875c4415" }, "downloads": -1, "filename": "Products.plonehrm-2.2.tar.gz", "has_sig": false, "md5_digest": "c517d5e0a310cfbc5e0ac9df14e7e461", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75408, "upload_time": "2009-06-12T13:39:47", "url": "https://files.pythonhosted.org/packages/ba/85/f63a6b9bac4629c75a26318c23ed76e98751008a59ff41560d97f4ba46fc/Products.plonehrm-2.2.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "16137a60b715170843f9a8909e5b10bf", "sha256": "a6d212cb1a5f252303b917a470da90c408af7b9286006c0410f8bc061a90e6b9" }, "downloads": -1, "filename": "Products.plonehrm-2.2.1.tar.gz", "has_sig": false, "md5_digest": "16137a60b715170843f9a8909e5b10bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78479, "upload_time": "2009-06-15T14:48:36", "url": "https://files.pythonhosted.org/packages/df/83/e304f169dcc799e94c2ba97b869734d6bed405bf7a32e64c8a8bf4e3da2d/Products.plonehrm-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "edf7d7dd25010f13becbf512c0c4523f", "sha256": "20522e643999ae5d657fda5007fec541e26427bc009270ebde5e00bffb1bd6e4" }, "downloads": -1, "filename": "Products.plonehrm-2.2.2.tar.gz", "has_sig": false, "md5_digest": "edf7d7dd25010f13becbf512c0c4523f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78510, "upload_time": "2009-06-15T17:25:20", "url": "https://files.pythonhosted.org/packages/d7/d2/7e7a592f88ad9830db68df40bcb8cdc993def2ea6cb84577b8736e9615c7/Products.plonehrm-2.2.2.tar.gz" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "498f159050f1e84a722fd4b77ae9ead6", "sha256": "37921b0135a5e59d74f3116910a63e8aaddca55cfaa571dba779d6cc21ffe7ff" }, "downloads": -1, "filename": "Products.plonehrm-2.2.3.tar.gz", "has_sig": false, "md5_digest": "498f159050f1e84a722fd4b77ae9ead6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78604, "upload_time": "2009-06-15T18:27:14", "url": "https://files.pythonhosted.org/packages/33/36/d134aa136a9c1080875ee56d96a4535e1b414a4a746657c84b11b62500e9/Products.plonehrm-2.2.3.tar.gz" } ], "2.2.4": [ { "comment_text": "", "digests": { "md5": "8a90946b1795f3c6db23438ba6790ad4", "sha256": "aa799b509abee47f7482a784e755593dceaed5464b18a283c27d155aa3b687f5" }, "downloads": -1, "filename": "Products.plonehrm-2.2.4.tar.gz", "has_sig": false, "md5_digest": "8a90946b1795f3c6db23438ba6790ad4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78685, "upload_time": "2009-06-16T17:41:57", "url": "https://files.pythonhosted.org/packages/19/b9/79acf2324d6eb333a5da70e01ae224f296a1ba848bd507d8a6f9960d401d/Products.plonehrm-2.2.4.tar.gz" } ], "2.2.5": [ { "comment_text": "", "digests": { "md5": "81db360936ddb6f88cb4d1cb27000bbd", "sha256": "2b2339332bb198cbb31001c017ff2d1386cb9b17fe530ad97cf864c064e42c5c" }, "downloads": -1, "filename": "Products.plonehrm-2.2.5.tar.gz", "has_sig": false, "md5_digest": "81db360936ddb6f88cb4d1cb27000bbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74556, "upload_time": "2009-06-23T16:23:55", "url": "https://files.pythonhosted.org/packages/bd/c8/034a75aa77af336b3842634eb39a68eb421e445d84a391bc958e5a483c82/Products.plonehrm-2.2.5.tar.gz" } ], "2.2.6": [ { "comment_text": "", "digests": { "md5": "65dbe627faac0e2ab43d43007b6aa707", "sha256": "7648fbdd7d2385347c95963b363743cc335e0d7ff93441eefe51def19849c1b1" }, "downloads": -1, "filename": "Products.plonehrm-2.2.6.tar.gz", "has_sig": false, "md5_digest": "65dbe627faac0e2ab43d43007b6aa707", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84208, "upload_time": "2009-07-07T16:45:59", "url": "https://files.pythonhosted.org/packages/15/73/09fdb477e5d2767ab0062414773ec99eb35b6a22e867b604c0ebf0b2eb88/Products.plonehrm-2.2.6.tar.gz" } ], "2.2.7": [ { "comment_text": "", "digests": { "md5": "70b185c64f738303a3bfc28d51187531", "sha256": "8958408bbeab43f276cd5c776b316dac9e994bee5c5bb3cf56d9e74d3a1f8375" }, "downloads": -1, "filename": "Products.plonehrm-2.2.7.tar.gz", "has_sig": false, "md5_digest": "70b185c64f738303a3bfc28d51187531", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84477, "upload_time": "2009-07-07T18:32:32", "url": "https://files.pythonhosted.org/packages/cf/ab/b93e700bc86dc8a5d2f6fedf6c6da983f084da2d43fdc50651027e6f15e2/Products.plonehrm-2.2.7.tar.gz" } ], "2.2.8": [ { "comment_text": "", "digests": { "md5": "398062f9974e59e4a7efca8e8cf8bad7", "sha256": "e80dd255d150d3d2cada99ad182dc225a81f1f97d52ccf713132edaf20eb1f07" }, "downloads": -1, "filename": "Products.plonehrm-2.2.8.tar.gz", "has_sig": false, "md5_digest": "398062f9974e59e4a7efca8e8cf8bad7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84503, "upload_time": "2009-07-07T19:00:54", "url": "https://files.pythonhosted.org/packages/17/20/4d0342b6962f9f2c80834ebd816ab404ed57c2529fba741d3e2d6bcc155b/Products.plonehrm-2.2.8.tar.gz" } ], "2.2.9": [ { "comment_text": "", "digests": { "md5": "d91f95dd589f6fcd8945acb609403b5d", "sha256": "7cec6a5cae9dc4a0952969d2870db215f547ef62f827933a6d8ad5b4406c0728" }, "downloads": -1, "filename": "Products.plonehrm-2.2.9.tar.gz", "has_sig": false, "md5_digest": "d91f95dd589f6fcd8945acb609403b5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84662, "upload_time": "2009-07-10T17:30:04", "url": "https://files.pythonhosted.org/packages/50/a9/b338ce46e063cd25eca09723d7dfbb09471081171f914086f8ef486a06c2/Products.plonehrm-2.2.9.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "efbacd6c2f6d03926b3448400c1977a2", "sha256": "ff2aa52250ff426cdabde9ddbc01efc3b268dd2a74f3ddf9c3cf694fc87023c6" }, "downloads": -1, "filename": "Products.plonehrm-2.3.tar.gz", "has_sig": false, "md5_digest": "efbacd6c2f6d03926b3448400c1977a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83292, "upload_time": "2009-07-22T15:00:43", "url": "https://files.pythonhosted.org/packages/20/cb/051daaaf26fd8c9912101a32e035b12783f98fad0e3b630f02bf58bec7e7/Products.plonehrm-2.3.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "633e3ce9d6844ebddfa4d9cc85ec414d", "sha256": "4dcf312be9e3029245d341e44eb1f410143bf166bbbf67139e582f97181dcfa9" }, "downloads": -1, "filename": "Products.plonehrm-2.3.1.tar.gz", "has_sig": false, "md5_digest": "633e3ce9d6844ebddfa4d9cc85ec414d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84071, "upload_time": "2009-07-24T15:56:17", "url": "https://files.pythonhosted.org/packages/d3/8e/9d3e6cac27959fc400964de6c92aae2e22d83c07a090717b23c6fd2956a4/Products.plonehrm-2.3.1.tar.gz" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "5cc464a451dd6138a8046588cf0a4893", "sha256": "abe3555ede846be26332217e9269f454c28d23a24c39651bb6b880065c3a8231" }, "downloads": -1, "filename": "Products.plonehrm-2.4.tar.gz", "has_sig": false, "md5_digest": "5cc464a451dd6138a8046588cf0a4893", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86718, "upload_time": "2009-07-29T11:59:09", "url": "https://files.pythonhosted.org/packages/bc/75/74d11ee4e74ecab187f25af9702b6c7c8865f8285df710811fa8932ed249/Products.plonehrm-2.4.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "e4454a52974dfc69bd1bdf9df39c5fc1", "sha256": "71d274460e23230fb6d5e5bd2eff25cdab5a880168336f5d9e67407835012eed" }, "downloads": -1, "filename": "Products.plonehrm-2.4.1.tar.gz", "has_sig": false, "md5_digest": "e4454a52974dfc69bd1bdf9df39c5fc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86812, "upload_time": "2009-07-29T15:26:25", "url": "https://files.pythonhosted.org/packages/92/4e/ba455bc64845b9208e9636832f28453b5ad11bf5fd455c6b03b6166ec16a/Products.plonehrm-2.4.1.tar.gz" } ], "2.5": [ { "comment_text": "", "digests": { "md5": "14a1fd334773f455714dfd0b84f2e125", "sha256": "0d98e84d8c411903600bd5fc77ea076713454cf2bf65bc515a0efdbe8047012d" }, "downloads": -1, "filename": "Products.plonehrm-2.5.tar.gz", "has_sig": false, "md5_digest": "14a1fd334773f455714dfd0b84f2e125", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145660, "upload_time": "2009-08-05T11:07:38", "url": "https://files.pythonhosted.org/packages/10/da/fdf4d1dc5f2bf62f4989e2ddbe0ba660b77e1c1ef8536c286d4ddbf7df23/Products.plonehrm-2.5.tar.gz" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "d2b0dc163220332537f51f144730b6af", "sha256": "c569cb6091e5400b9ff356918114741ac3873c9485c093eb68be0883b1362173" }, "downloads": -1, "filename": "Products.plonehrm-2.5.1.tar.gz", "has_sig": false, "md5_digest": "d2b0dc163220332537f51f144730b6af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145741, "upload_time": "2009-08-05T11:34:14", "url": "https://files.pythonhosted.org/packages/08/1e/7db98fe3ea1f126730f6d6953cc8da7689a45fb1df2f259c77aecc6d6473/Products.plonehrm-2.5.1.tar.gz" } ], "2.6": [ { "comment_text": "", "digests": { "md5": "88f3fc727a9890345697b05353353cbe", "sha256": "ac6614c90f87e6fb05023a523b6cc11ec33af129c217d1c948ee5daa2eea5752" }, "downloads": -1, "filename": "Products.plonehrm-2.6.tar.gz", "has_sig": false, "md5_digest": "88f3fc727a9890345697b05353353cbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147171, "upload_time": "2009-08-13T12:27:46", "url": "https://files.pythonhosted.org/packages/4c/07/18ad9036e6c252178483666fed5f06dfdab21714e6287c6bec89123afdd8/Products.plonehrm-2.6.tar.gz" } ], "2.6.1": [ { "comment_text": "", "digests": { "md5": "f98144ca2f781a3cfbe832ae1060e2fc", "sha256": "051930979e875f082943dc3a4d5ae7d1b66ad0a994926038bbcaa420e48e9230" }, "downloads": -1, "filename": "Products.plonehrm-2.6.1.tar.gz", "has_sig": false, "md5_digest": "f98144ca2f781a3cfbe832ae1060e2fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154545, "upload_time": "2009-08-14T13:46:09", "url": "https://files.pythonhosted.org/packages/39/b6/07f2a31e11f2ac583f116cbe92ef53acae86c80ec1b54babe26d8fa1818b/Products.plonehrm-2.6.1.tar.gz" } ], "2.6.2": [ { "comment_text": "", "digests": { "md5": "bad14106bec13914a2b88f7ba0f586c8", "sha256": "bcf0e8925b4bd96e49518475c390086ff8552f5fc5f91ca1876ec68416c4e2fb" }, "downloads": -1, "filename": "Products.plonehrm-2.6.2.tar.gz", "has_sig": false, "md5_digest": "bad14106bec13914a2b88f7ba0f586c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154894, "upload_time": "2009-08-17T18:17:17", "url": "https://files.pythonhosted.org/packages/cb/df/d8d270cc81ee62e236b3fdbaf9240f4c9d38bd198856dd32c3a41430fd53/Products.plonehrm-2.6.2.tar.gz" } ], "2.6.3": [ { "comment_text": "", "digests": { "md5": "05bb6a7efa49be43caa5ab954b0dc684", "sha256": "d43c6880f17ef2e7bed14df198e47891176bc1a5edb173f2d94f019bacddffec" }, "downloads": -1, "filename": "Products.plonehrm-2.6.3.tar.gz", "has_sig": false, "md5_digest": "05bb6a7efa49be43caa5ab954b0dc684", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 155426, "upload_time": "2009-08-24T19:07:23", "url": "https://files.pythonhosted.org/packages/f0/9d/2c6243eafb2e1b3bed65a4b31f5e7349f16e1cd5c75540a8ce294d8cae59/Products.plonehrm-2.6.3.tar.gz" } ], "2.7": [ { "comment_text": "", "digests": { "md5": "7b2a7db0c9e543897a66b99b04def2bf", "sha256": "688b2b7b28443252a516777657ba4fe5adbaaa97c0106dffff3345a6e1a87a47" }, "downloads": -1, "filename": "Products.plonehrm-2.7.tar.gz", "has_sig": false, "md5_digest": "7b2a7db0c9e543897a66b99b04def2bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156941, "upload_time": "2009-08-26T16:07:24", "url": "https://files.pythonhosted.org/packages/20/94/d69fb1add23acd27c0a47dbf5f08f2dbcde86b45bf00db2d5584e215fd00/Products.plonehrm-2.7.tar.gz" } ], "2.8": [ { "comment_text": "", "digests": { "md5": "0fe505038eb13b90cb385129c987992b", "sha256": "3bd0bca8797f60a4823d32474901f0115ab96df88e35dffff0e581e91d8c82dd" }, "downloads": -1, "filename": "Products.plonehrm-2.8.tar.gz", "has_sig": false, "md5_digest": "0fe505038eb13b90cb385129c987992b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172395, "upload_time": "2009-09-02T15:51:19", "url": "https://files.pythonhosted.org/packages/10/c2/e087692f8343efb4f3834e72f491d47972b1b2b64550c087e17f186b4e41/Products.plonehrm-2.8.tar.gz" } ], "2.8.1": [ { "comment_text": "", "digests": { "md5": "416aac56bcf600a52b7c9e0813cd6ccb", "sha256": "c9ebf93b68bc0049f19d6e6ed8e2bd4bb37a1814956763188b24db0fadde160e" }, "downloads": -1, "filename": "Products.plonehrm-2.8.1.tar.gz", "has_sig": false, "md5_digest": "416aac56bcf600a52b7c9e0813cd6ccb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 173198, "upload_time": "2009-09-09T11:43:27", "url": "https://files.pythonhosted.org/packages/c3/c2/85a0d73f35be73e1b6b4cc70721715b5a1aaa1d0d0cf4171d8659b671b4f/Products.plonehrm-2.8.1.tar.gz" } ], "2.9": [ { "comment_text": "", "digests": { "md5": "ebb7e578992aa770159f23dab2cfa8e2", "sha256": "e3cff799adcbec6e92e0ea83ad893d467ab2f65ec2b9e5079a66f2aaa2d7e100" }, "downloads": -1, "filename": "Products.plonehrm-2.9.tar.gz", "has_sig": false, "md5_digest": "ebb7e578992aa770159f23dab2cfa8e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 182294, "upload_time": "2009-09-11T14:47:22", "url": "https://files.pythonhosted.org/packages/0b/2e/740906387aa869ad85632967053f49532cd9c83e2edd1f15920ba31b2f7e/Products.plonehrm-2.9.tar.gz" } ], "2.9.1": [ { "comment_text": "", "digests": { "md5": "91ffe8222fb281190c2f265b3e0e8424", "sha256": "b8ae2fa8a24b630a5903ee20af701c202df02435901b74563c6634b6363da085" }, "downloads": -1, "filename": "Products.plonehrm-2.9.1.tar.gz", "has_sig": false, "md5_digest": "91ffe8222fb281190c2f265b3e0e8424", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 185800, "upload_time": "2009-09-18T19:45:42", "url": "https://files.pythonhosted.org/packages/8d/3b/6d7d2a0417fec4395d8b7174d947656d761affb42cc8920825b655535c53/Products.plonehrm-2.9.1.tar.gz" } ], "2.9.2": [ { "comment_text": "", "digests": { "md5": "66e2a959d91e71e1cb0fe6e30267a946", "sha256": "6bad6ffa846bbefb07e073b92f975c7477f10d59d24b50443e1cda5bba538028" }, "downloads": -1, "filename": "Products.plonehrm-2.9.2.tar.gz", "has_sig": false, "md5_digest": "66e2a959d91e71e1cb0fe6e30267a946", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186184, "upload_time": "2009-09-21T14:52:04", "url": "https://files.pythonhosted.org/packages/7c/12/dec02cf8cce2290332cab4b090d2d88c7011c04cb45ef930ae507816dff5/Products.plonehrm-2.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6cb4d1b075f139bfdad6b3378f8bff75", "sha256": "3972ad1385e61d4e9c3c52515a5e31dc2e1641e913be9e8fbe56f9d1452b7e9a" }, "downloads": -1, "filename": "Products.plonehrm-2.14.tar.gz", "has_sig": false, "md5_digest": "6cb4d1b075f139bfdad6b3378f8bff75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198315, "upload_time": "2010-01-15T11:52:06", "url": "https://files.pythonhosted.org/packages/2a/be/c7e4ed080e08f9a4bbce0ffe3c51a1c5704f25b43dfb9db0a4ef79a9d012/Products.plonehrm-2.14.tar.gz" } ] }