Skip to content

shivam1111/pls

Repository files navigation


SETUP


Restrictions

  • A user can have only one employee
  • Make sure that the circle manager and project manager have the right hierarchy and an employee. is always there for them also the related user field should be filled
  • To ensure this there is a not null constraint on related user for employees if the user is project manager or circle head
  • Do not delete the default property created by this module for setting the default timings for project manager
  • Make sure that there is one employee made for the admin user too otherwise there will lot places where the admin will not be able to override
  • Set the attendance cron job timer. During the installation set randomly
  • To take project attendance or use attendance functionality it's state should be 'wip'
  • Make Sure that Admin gets the corporate account otherwise the cron jobs will not work
  • easy_install pytz(for timezone)
  • Install the Aeroo Reports. The installation instructions are given in the report folder
  • While installing there was a problem. The report_aeroo was not isntalled automatically hence PLS could not be installed completely. So first install PLS module then report_aeroo to complete the instalaltion

To set up the users and accesses

  • Create all users
    • Director
    • Circle Head
    • Project Manager
    • Employees
  • Make related user for all the Circle Heads ,Project Manager, Director otherwise they wont be able to see their employee database
  • Set all the corporate ids other than admin and the circle head under admin. Otherwise the admin will not be able to see their projects

Do not leave the project managers,circle heads without related users in hr.employee

  • Access Rights for Telecom Module

    • Project Manager -
    • Manager
    • Circle Head -- Circle Head ,
    • Admin or Corporate --- Corporate
  • Access Rights for HR Module

    The first three users will be hr employees

    • Employee
    • Project Manager
    • Circle Head should be employee
    • Corporate and admin will be Manager

Attendance Functionality


The user who creates the attendance line will show in the created by field

Cron logs

  • Unsubmitted attendance lines of each user
    • It could be created by project manager since it is a single man project
    • It culd have been created by other sharing project manager but both of them did not submit it
  • Project Manager who did not submit their attendance
  • UID who do not have an emp_id
  • All attendance.attendance records that are unsubmitted (Warning to close it)

Attendance Functionality

  • Create todays attendance.attendance menuitem (Done by adding todays filter)

  • Only when all the project lines are submitted the attendance.attendance will be allowed to be submitted manually

  • When any project line is changed to state pending then the attendance record also changes to pending

  • when the submit button is clicked the project attendance is submitted

  • Create a setting panel where the time limit for attendance can be setup

    • Create a property field to hold default attendance time in res.users named permitted_attendance_time
    • Make ir.property for this field and set the default time to 11:00
  • In order to override the time limit the admin will tick on 'Allow overriding the time limit option' in hr.employee to let him override.Every time this option is ticked a note will be logged stating the reason for overriding. Also after one hour that option will close it self. The reason for overriding will be logged to display the project manager monthly report

    • Created a new subtype "overrides"
    • Created Menu item Permission Override Logs

    Inheritted and customized the default complaint_system module. So that the pls module and complaint_system modules are completely independent of each other

    • Put a restriction on "Take attendance button based on time and permission to override
    • To do this create a field in project manager (res.users,boolean field)
  • In the submit button there will be a check that if all the project's attendance of that project manager is submitted then attendance will close

  • Check if the attendance is submitted by the corporate or project manager/circle head) - [x] If the project manager submits the attendance then the attendance record will get submitted either after allowed time or after all his project attendance is submitted

  • If after the allowed time the manager tries to take attendance they wont be allowed until and unless they are allowed to override by admin panel

  • The overriding option will always be open for only 1 hour.

  • Create a cron job that does the following

    Make sure that 'Allow overriding the time limit option' is taken into consideration each time

    • If within the allowed time the attendance.attendance record is not closed then a log for that project manager will be created ('mail.message') and a mail will be dispatched to the follower of that document ("send a message" functionality).
    • Check if the project manager has taken all the attendances. If not then log an internal note
    • At allowed time the cron job will run and that time automatically all unsubmitted attendances will be submitted and all the project manager attendance.attendance records will close.
    • Once all the attendances are submitted a new cron job will trigger that will check if the manager has taken all the attendances. If not then an internal note will be logged for him and a mail will be dispatched to the follower of the documents
    • A final cron summary will be logged in a seperate document that the admin can check and know the status of everything
      • This will also show the projects for which the attendance was not taken at all
  • Remove the cron button from the attendance and test it with actual cron

  • Attendance Dash Board

    • Corporate
    • Manager
    • Circle Head

About

Precise Logistic Solution

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published