Compare commits

..

26 Commits

Author SHA1 Message Date
Kusal Kalhara
190984a560 add custom data to table 2019-09-05 15:49:02 +05:30
Thilina Hasantha
91bb1d2d8a Add ant to travis ci 2019-08-30 03:18:38 +02:00
Thilina Hasantha
526ee66e2d Fix travis CI build 2019-08-30 03:17:35 +02:00
Thilina Hasantha
0d92c820f7 Fix travis CI build 2019-08-30 03:12:53 +02:00
Thilina Hasantha
15a45150cb Update mysql version for travis 2019-08-30 03:09:48 +02:00
Thilina Hasantha
984b0fac5c Fix npm module vulnerabilities 2019-08-29 08:26:43 +02:00
Thilina Hasantha
08a52d216c Automate vagrant setup 2019-08-29 08:07:57 +02:00
Thilina Hasantha
61abe71314 Add more php versions 2019-07-28 10:27:10 +02:00
Thilina Hasantha
cae28f03a5 Fix code style issues 2019-07-28 10:23:45 +02:00
Thilina Hasantha
4a4d895592 Update readme 2019-07-26 04:22:32 +02:00
Thilina Hasantha
c05e815c17 Add settings endpoint 2019-07-26 04:17:25 +02:00
Thilina Hasantha
6e77aa99c4 Update google api key setting 2019-07-26 04:04:32 +02:00
Thilina Hasantha
fd99ea299e v26.6.0 updates 2019-07-26 03:53:24 +02:00
Thilina Hasantha
c3344b99fa Adding mobile modules endpoint 2019-02-19 07:05:10 +01:00
Thilina Hasantha
ca58e75556 Meta data rest endpoint 2019-02-18 07:46:24 +01:00
Thilina Hasantha
bf43ed8730 Order attendance list by in time latest 2019-02-18 07:45:07 +01:00
Thilina Hasantha
b922a48141 Fix vagrant url 2019-02-04 06:37:07 +01:00
Thilina Hasantha
26e55e8644 Fix php 5.6 compatibility 2019-02-04 06:20:05 +01:00
Thilina Hasantha
af9b9119ef Update release notes 2019-02-04 06:16:40 +01:00
Thilina Hasantha
afa345f374 Read me updated 2019-02-04 06:15:00 +01:00
Thilina Hasantha
a3d6430102 Update release notes 2019-02-03 16:14:45 +01:00
nightwatch75
e625f6013a Update it.po (#166)
- Weird accented characters (Società, pò etc.)
- About in italian is "info"
- Capital letter in some string
2019-02-03 14:42:32 +01:00
Thilina Hasantha
577ed9938f Update readme and disable broken unit tests 2019-02-03 14:37:15 +01:00
Thilina Hasantha
2ade4d9a4a Allow non admin users to ad own attendance entries via api 2019-02-03 14:14:37 +01:00
Thilina Hasantha
a55c56215a Delete cache properties 2019-02-03 14:06:14 +01:00
Thilina Hasantha
16014bb38e Upgrade to v26 (#172)
* A bunch of new updates from icehrm pro

* Push changes to frontend
2019-02-03 14:00:34 +01:00
206 changed files with 17506 additions and 2350 deletions

BIN
.swp Normal file

Binary file not shown.

View File

@@ -1,7 +1,11 @@
services:
- mysql
addons:
apt:
packages:
- ant
before_script:
- echo "USE mysql;\nUPDATE user SET password=PASSWORD('dev') WHERE user='root';\nFLUSH PRIVILEGES;\n" | mysql -u root
- echo "USE mysql;\nUPDATE user SET authentication_string=PASSWORD('dev') WHERE user='root';\nFLUSH PRIVILEGES;\n" | mysql -u root
install:
#- rm $TRAVIS_BUILD_DIR/tools/phpunit
#- composer require --dev phpunit/phpunit ~6.5.5
@@ -10,6 +14,8 @@ install:
script: ant build-ci
language: php
php:
- '5.6'
- '7.0'
- '7.1'
- '7.2'
after_failure: "cat /tmp/icehrm.test.log"

8
Vagrantfile vendored
View File

@@ -15,14 +15,12 @@ Vagrant.configure(2) do |config|
config.vm.provision "shell", inline: <<-SHELL
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AA8E81B4331F7F50
sudo apt-get update
chmod ugo+x /vagrant/deployment/vagrant/runonce.sh
sh /vagrant/deployment/vagrant/runonce.sh
SHELL
config.vm.hostname = "icehrm.open"
config.hostsupdater.aliases = [
"app.icehrm-open.test",
"clients.icehrm-open.test"
]
end

View File

@@ -11,7 +11,7 @@
<property name="installpath" value="/var/www/apps.gamonoid.com/icehrm-open-core"/>
<target name="build-ci"
depends="prepare,lint,phpcs-ci,copyapp,phpunit"
depends="prepare,lint,phpcs-ci"
description=""/>
<target name="build"
@@ -19,11 +19,11 @@
description=""/>
<target name="buildlocal"
depends="prepare,lint,phpcs,copyapp,phpunit"
depends="prepare,lint,phpcs,copyapp"
description=""/>
<target name="releaseapp"
depends="prepare,lint,copyapp,phpunit,release"
depends="prepare,lint,copyapp,release"
description=""/>
<target name="clean"
@@ -135,15 +135,13 @@
<arg value="--extensions=php" />
<arg value="--ignore=autoload.php" />
<arg path="${basedir}/core/src" />
<arg path="${basedir}/test/unit" />
<arg path="${basedir}/test/integration" />
</exec>
</target>
<target name="phpcs-ci"
depends="prepare"
description="Find coding standard violations using PHP_CodeSniffer and log result in XML format. Intended for usage within a continuous integration environment.">
<exec executable="${toolsdir}phpcs" output="/dev/null" failonerror="true">
<exec executable="${toolsdir}phpcs" failonerror="true">
<arg value="--report=checkstyle" />
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
<arg value="--standard=PSR2" />
@@ -312,8 +310,5 @@
<gzip destfile="${basedir}/build/release/${env.appname}_${env.Version}.tar.gz" src="${basedir}/build/release/${env.appname}_${env.Version}.tar"/>
</target>
</project>

View File

@@ -1,499 +0,0 @@
#Fri Feb 01 06:41:09 GMT+00:00 2019
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceUtil.php=34fe63a4c0f954451afae6c359ea5b38
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/ClientProjectTimeReport.php=f860b3cff536b5074bb7d1e193c1c41d
/Users/Thilina/Projects/icehrm-open/core/src/Classes/S3FileSystem.php=6308aca72380cef1981625946b59652f
/vagrant/core/src/Classes/AbstractInitialize.php=a6e16a53a0178bc30b27dcf3684fbdad
/vagrant/core/src/Reports/User/Reports/EmployeeTimeSheetData.php=2d6e95947963949b1c5150269d7527f7
/vagrant/core/src/Classes/ReportHandler.php=80b280cae34fdfbee864b05b07c6789a
/vagrant/core/src/Classes/Migration/AbstractMigration.php=324fe15e15a0ca2b0f50f4029ae10548
/vagrant/core/src/Classes/Crypt/AesCtr.php=4897c7fe9a510f38eeb91046127d79f7
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApproveAdminActionManager.php=01eaf59752e8379205bc52f3278f96fc
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/DataActionManager.php=82f3ced08b946ca6e10a83c6e07475db
/Users/Thilina/Projects/icehrm-open/core/src/Utils/CalendarTools.php=9f60bf1aaa928a02163680da60ac255c
/vagrant/core/src/Data/Admin/Api/DataAdminManager.php=3913dc1f43ae1965956c420d0d9084c8
/vagrant/core/src/Travel/User/Api/TravelActionManager.php=d055895c69bafe0b6855566dc4054699
/vagrant/core/src/Reports/Admin/Reports/ExpenseReport.php=397c8deb446994b64e2b9fef2845bb89
/vagrant/core/src/Metadata/Common/Model/CurrencyType.php=0fc8e338a2f0f149ac24757427470971
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Nationality.php=639ee9f14c53032ff26e7105c2219593
/vagrant/core/src/Classes/Migration/MigrationManager.php=b2a6fae32ad9370a4e3375a623330fa7
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Common/Model/EmployeeProject.php=b0de956de8ec4c423604195b96f57df9
/vagrant/core/src/Classes/Cron/IceCron.php=217fba4cf5ce69cdf734447f6a45b356
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/Admin/Api/DashboardAdminManager.php=800b72969de1b8c311a8e1b7d2940c79
/Users/Thilina/Projects/icehrm-open/test/bootstrap.php=0e9cfabb3aec1ac52ecf4d27334f2624
/vagrant/core/src/Reports/Admin/Reports/EmployeeTimesheetReport.php=8661944cf39b10c441841a8af72cb988
/vagrant/core/src/Company/Admin/Api/CompanyAdminManager.php=484a8b669d5fed117f1f40f289f2c6f4
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/User/Api/QualificationsModulesManager.php=e668d64139ecc146af9ebaea2f91e1fe
/vagrant/core/src/Loans/Common/Model/EmployeeCompanyLoan.php=abc8959df2ec0f3e19ff6da12c3163f9
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Province.php=0ff661394cbcfec7f514f2d5eae7ca25
/Users/Thilina/Projects/icehrm-open/core/src/Salary/User/Api/SalaryModulesManager.php=050d077e79532353a7d12a7221829b7c
/vagrant/core/src/Utils/Math/EvalMathFuncs.php=d6f7c26eab307d205ee8483d87a380cb
/vagrant/core/src/Metadata/Common/Model/Nationality.php=639ee9f14c53032ff26e7105c2219593
/vagrant/core/src/Data/Common/Model/DataImport.php=a6af4d8acd5585932823889509cca581
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeTimeTrackReport.php=eddda882fae0c258e97fb50aafe21061
/Users/Thilina/Projects/icehrm-open/core/src/FieldNames/Admin/Api/FieldNamesAdminManager.php=5eca8c33ccd8d9fc1c4e5b7fa81ed93c
/vagrant/core/src/Projects/Common/Model/Project.php=05b1cd967d67cb977558f2567d7f6cb6
/Users/Thilina/Projects/icehrm-open/test/integration/ApprovalStatusIntegration.php=8b9243e5cbb302513d906ff9de246acd
/Users/Thilina/Projects/icehrm-open/test/TestTemplate.php=8e6ff185d587f339892a9a720e2bfa5f
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Admin/Api/EmployeesAdminManager.php=15e983c78e17191ced1a7eec13be0d3e
/vagrant/core/src/Payroll/Common/Model/PayrollCalculations.php=70d1b733b1adbb6c6a2ea0dcec89efca
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/Query/DataQuery.php=eae53f27055f569d43fd2cad06b7beff
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeDetailsReport.php=1e415e088afc4fc56e3cbf77af8f84c5
/vagrant/core/src/Dashboard/Admin/Api/DashboardActionManager.php=5e8e996f9f4b77f1fbd10e026a5d1351
/Users/Thilina/Projects/icehrm-open/core/src/Classes/BaseService.php=92bd3a9bb4e7eb84e079b0db75d5f752
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApprovalStatus.php=7a3bc0a73f237eb677254b245887f48f
/vagrant/core/src/Model/Audit.php=6259d9e1d7e7777bb8cde096bdc742aa
/vagrant/core/src/Utils/Math/EvalMathStack.php=4b86e2041c19d8ef8eaf7f4ea630e116
/vagrant/core/src/Reports/Admin/Reports/PayrollDataExport.php=83bd6faa73c75667ecf25091c3729abc
/vagrant/test/integration/ApprovalStatusIntegration.php=cff0c3e3e051bf87d6a5313655b741cd
/vagrant/core/src/Employees/Common/Model/EmployeeApproval.php=481ddd171d66e644bb442ab02e97b097
/Users/Thilina/Projects/icehrm-open/core/src/EmergencyContacts/Common/Model/EmergencyContact.php=6ec07210d94e695732c6d1a6a0fb34be
/vagrant/core/src/Users/Common/Model/User.php=ad497e45b540b026aa80fa58f5055cc1
/Users/Thilina/Projects/icehrm-open/core/src/Company/Common/Model/CompanyStructure.php=a1957202858bc093b29e8dfe48955cc6
/Users/Thilina/Projects/icehrm-open/test/test.includes.php=66d627b31f3f6b76f1739a54e7d9fd9f
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApproveModuleActionManager.php=834a7aad3a07c194a0a830cc353daec9
/vagrant/core/src/Reports/User/Reports/TravelRequestReport.php=810d405042307fe9c6ca82e082c3673e
/Users/Thilina/Projects/icehrm-open/core/src/Users/Common/Model/UserRole.php=9f9021a51c94b25e203cc3c0322c80d7
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/Payroll.php=8aa76dfc05183abe955552b15e3c4351
/vagrant/core/src/Classes/PermissionManager.php=149c16e23f9066538e9c7a0ee3bb397f
/vagrant/core/src/Employees/User/Api/EmployeesActionManager.php=e34f4fe38b3e0eb45cb65232fa6ec359
/vagrant/core/src/Classes/Email/SwiftMailer.php=eca37dc0add437ae1089c695b5074b90
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeLeaveEntitlementReport.php=9be41bfeb88fd0171028203f6513c799
/vagrant/core/src/Projects/Admin/Api/ProjectsAdminManager.php=8f20c5277a8560a69318263166b804e3
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeTimeSheetData.php=2d6e95947963949b1c5150269d7527f7
/vagrant/core/src/Employees/User/Api/EmployeesModulesManager.php=ad9ab05afd9cf551870352dba82e6d69
/vagrant/core/src/Reports/Admin/Reports/EmployeeTimeSheetData.php=9d612ee603fdf4e6b710eec725da2656
/Users/Thilina/Projects/icehrm-open/core/src/Travel/User/Api/TravelActionManager.php=d055895c69bafe0b6855566dc4054699
/vagrant/core/src/Metadata/Common/Model/ImmigrationStatus.php=f0dc9a94bcc487df21d53387ae8e89ba
/vagrant/test/test.config.php=68587cbb63b8a37dc07fdac177eb23a4
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/Employee.php=1e8f3958597a1d2f138e927115671538
/Users/Thilina/Projects/icehrm-open/core/src/Classes/IceResponse.php=bb74495c33fab87e96f72b610cfd5374
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/OvertimeSummaryReport.php=3918d7210957040977b8a43c580abae0
/vagrant/core/src/Travel/Common/Model/ImmigrationDocument.php=c0636d2ce3e7d89d9e4ebb00c8d1450f
/vagrant/core/src/Reports/Admin/Reports/OvertimeSummaryReport.php=16d9e2f10de82f25d0965e2d327086b9
/vagrant/core/src/Jobs/Common/Model/PayGrade.php=9cc01a86f03deb884884681a73deb27a
/vagrant/core/src/Classes/RestEndPoint.php=48bd6506bb12af195f32d65c0ae635f2
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Admin/Api/PayrollActionManager.php=c95c4e2ae643a16b8e59fa73dc1f0193
/vagrant/core/src/Data/Admin/Import/EmployeeDataImporter.php=d1b66e2d042335df792fa8913d363d5f
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsModulesManager.php=63a8c4364cd579be46b60a2e83f8f87f
/vagrant/test/bootstrap.php=0e9cfabb3aec1ac52ecf4d27334f2624
/vagrant/core/src/Salary/Common/Model/PayrollEmployee.php=1a01bd60d1f82fc6f3eeb1875006f659
/vagrant/core/src/Employees/Admin/Api/EmployeesAdminManager.php=15e983c78e17191ced1a7eec13be0d3e
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeLanguage.php=66127455502fb29181324c1cc25f93c4
/Users/Thilina/Projects/icehrm-open/core/src/Model/Cron.php=9e638c23f7cb93500a1b1f1ef4edf86f
/Users/Thilina/Projects/icehrm-open/core/src/Utils/SessionUtils.php=cdb9d769cf1f51bab1462ddac2387e81
/vagrant/core/src/Classes/Cron/Task/EmailIceTask.php=b754a286061db310b3f18677946d7b43
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Common/Model/EmployeeOvertime.php=4275d184646684892b289524b33cf9d7
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Macaw.php=5a2f26ffcb41c9f42af776a91c283572
/Users/Thilina/Projects/icehrm-open/core/src/StaffDirectory/Common/Model/StaffDirectory.php=73f3c132e741460f200be3b3100833f6
/vagrant/core/src/Jobs/Admin/Api/JobsAdminManager.php=12546328edffcc5bda7e84f6a8c56d9e
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/User/Api/OvertimeModulesManager.php=b29d52a4e3f021cdd786f41cbf1b9837
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Model/Attendance.php=aa0945e6fc70e6e3418d0e09f7110082
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/EmploymentStatus.php=6e72924fac0cecc49aaf070389f8d73a
/Users/Thilina/Projects/icehrm-open/core/src/Modules/Common/Model/Module.php=6930680c77dfbcd410e1425c76511c16
/Users/Thilina/Projects/icehrm-open/core/src/Data/Common/Model/DataImport.php=a6af4d8acd5585932823889509cca581
/vagrant/core/src/Modules/Admin/Api/ModulesActionManager.php=a4f9c92a8f6de83ed72c5f775369b883
/Users/Thilina/Projects/icehrm-open/core/src/Dependents/User/Api/DependentsModulesManager.php=409b6ea72b6ce0319bb12df6458d2bef
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/PayFrequency.php=fab16310b7db7bb9aace5a6b038c9d2a
/Users/Thilina/Projects/icehrm-open/core/src/Classes/FileService.php=b948c3e305263af82269976e01af17c4
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Crypt/AesCtr.php=4897c7fe9a510f38eeb91046127d79f7
/Users/Thilina/Projects/icehrm-open/core/src/FieldNames/Common/Model/CustomField.php=32400d304e8064e69624311c3c80dffb
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Country.php=be5371104ea0bbfa7132201d5e31e62f
/vagrant/core/src/EmergencyContacts/Common/Model/EmergencyContact.php=6ec07210d94e695732c6d1a6a0fb34be
/Users/Thilina/Projects/icehrm-open/core/src/Settings/Admin/Api/SettingsAdminManager.php=5e5df0056db6f9593128720581feca18
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Ethnicity.php=5f5935cdeab1b41ac0d2db9f6973f6b0
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsPayrollUtils.php=85db5b3cf330d2010ac14aaff1bccc2a
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeLeavesReport.php=bd5efb4666ca4103a2e7e98aa24e1c83
/Users/Thilina/Projects/icehrm-open/core/src/Employees/User/Api/EmployeesModulesManager.php=ad9ab05afd9cf551870352dba82e6d69
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/IceCron.php=217fba4cf5ce69cdf734447f6a45b356
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/DataImporter.php=ad94e2de98e11c1d3f0f0b32c46f358c
/vagrant/core/src/Loans/User/Api/LoansModulesManager.php=4f0650c7b4ab3ec6c241bd32c680dfca
/Users/Thilina/Projects/icehrm-open/test/unit/UserAttendanceActionManagerUnit.php=1d71d366a13f253ef6931aa87202ac42
/vagrant/core/src/Attendance/Common/Calculations/BasicOvertimeCalculator.php=9c96ae3f71796029d3f93e5c63783f53
/vagrant/core/src/Reports/Admin/Api/PDFReportBuilder.php=fbbc196b5ea432671667bcc239d8bf54
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/PDFReportBuilderInterface.php=cc049c4c1b86e5a5e4fd99ddf24e563d
/vagrant/core/src/Reports/Admin/Api/CSVReportBuilderInterface.php=6ada9a15e850c09162fc75020d6b00e4
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Model/AttendanceStatus.php=ad80af2d596e584a3ab60a5fce4aac09
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/CurrencyType.php=0fc8e338a2f0f149ac24757427470971
/vagrant/test/integration/MigrationManagerIntegration.php=f0f5bccf120067b34396f1e61fd6d20a
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/PayrollEmployee.php=1a01bd60d1f82fc6f3eeb1875006f659
/vagrant/core/src/Reports/User/Reports/ExpenseReport.php=7c8d187bc57175a92b8bc0fa33e501f0
/vagrant/core/src/Model/UserReport.php=0a8a8476e3088011cc54fda139567b56
/Users/Thilina/Projects/icehrm-open/core/src/Classes/LanguageManager.php=e019a01be56a46a93177a50340fc3eea
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Education.php=327f74726fca1a976e2fc6272ffecdea
/vagrant/core/src/TimeSheets/Common/Model/QTDays.php=32a00e65a966331b776dc37cc0609edf
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsInitialize.php=d47372f12494019c1004a04cbe57013d
/Users/Thilina/Projects/icehrm-open/test/helper/EmployeeTestDataHelper.php=65ec2048653c9e4e4359d9b6967a860d
/vagrant/core/src/Classes/Approval/ApprovalStatus.php=7a3bc0a73f237eb677254b245887f48f
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/User/Api/AttendanceModulesManager.php=f1b34fae71cc963e197b41ed2ca032ca
/vagrant/core/src/Reports/User/Reports/OvertimeReport.php=431965980b2458019398d2ed6d7fc39a
/vagrant/core/src/Overtime/User/Api/OvertimeActionManager.php=5ace85f1fdbd23f5adc8d089f2d6b5fa
/vagrant/core/src/Model/File.php=3bc6c71925ad1e20721ffd63567c7783
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Admin/Api/OvertimeAdminManager.php=701c52c0bca0b0d89c5bb8e7cbafac8e
/vagrant/core/src/Settings/Admin/Api/SettingsInitialize.php=148bc391f5d101121f915a590f991a6b
/vagrant/core/src/Utils/SessionUtils.php=cdb9d769cf1f51bab1462ddac2387e81
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/CronUtils.php=b55a1fe1c4ed55dc582e208b341f52b4
/vagrant/core/src/Reports/Admin/Api/CSVReportBuilder.php=5c5f7175cc2aff776388c3281cea9cf3
/Users/Thilina/Projects/icehrm-open/core/src/Projects/User/Api/ProjectsModulesManager.php=4fc0463507ca7768a1e493d703ac2581
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollColumn.php=0f2e8fd9b44c038f163ae646d3c6f4b6
/vagrant/core/src/Classes/SimpleImage.php=fdfb7b2e71e14975ebce16de44ea9dee
/vagrant/core/src/Dashboard/User/Api/DashboardActionManager.php=3f797cf4807ad5cd4f881607142df049
/Users/Thilina/Projects/icehrm-open/core/src/Classes/SettingsManager.php=ebed24cde74d7fb33cca4ba156389760
/vagrant/core/src/FieldNames/Common/Model/FieldNameMapping.php=e3e81b3a4e0f6c74cd687038632107d8
/vagrant/core/src/Reports/Admin/Reports/NewHiresEmployeeReport.php=64eab525953538d481dab6052dd76d81
/vagrant/core/src/Classes/Email/SNSEmailSender.php=fa905e3ab63ea745c591e744d6741b6b
/Users/Thilina/Projects/icehrm-open/core/src/Model/ApproveModel.php=97c98d153a6cca455cbeb0b637eac098
/vagrant/core/src/Jobs/Common/Model/JobTitle.php=2f24525e14942c7f284a44c8e416cd34
/Users/Thilina/Projects/icehrm-open/core/src/Loans/Common/Model/EmployeeCompanyLoan.php=abc8959df2ec0f3e19ff6da12c3163f9
/vagrant/core/src/Loans/Common/Model/CompanyLoan.php=cca60a4d5fa1189cdbd35146b010a2c7
/vagrant/core/src/Reports/User/Reports/PayslipReport.php=7582da680dd305d073faf95d268083cd
/vagrant/core/src/Classes/FileService.php=b948c3e305263af82269976e01af17c4
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/ArchivedEmployee.php=6056e5073538c0d7a22dea52b6c25374
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Skill.php=293e642127ea74960ebd79d81f11b0f9
/Users/Thilina/Projects/icehrm-open/core/src/Model/Notification.php=fe1cf65671434bc29c8d17a78577e1f3
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/SupportedLanguage.php=3ec1220796f6e33641998a33f036d709
/vagrant/core/src/FieldNames/Admin/Api/FieldNamesAdminManager.php=5eca8c33ccd8d9fc1c4e5b7fa81ed93c
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsPayrollUtils.php=85db5b3cf330d2010ac14aaff1bccc2a
/vagrant/core/src/Reports/Admin/Reports/EmployeeTimeTrackReport.php=eddda882fae0c258e97fb50aafe21061
/Users/Thilina/Projects/icehrm-open/core/src/StaffDirectory/Rest/StaffDirectoryRestEndPoint.php=ba417b136c9c65cd5096c3bde7d141c2
/vagrant/core/src/Classes/Approval/ApproveCommonActionManager.php=c1b7efb8c4f3fe8199c7e0d6fdd1ccce
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ReportBuilderInterface.php=dd7e723c48ec4f97db98ffec0d0f39cb
/vagrant/core/src/Reports/Admin/Reports/EmployeeDetailsReport.php=1e415e088afc4fc56e3cbf77af8f84c5
/vagrant/core/src/Qualifications/Common/Model/Skill.php=293e642127ea74960ebd79d81f11b0f9
/Users/Thilina/Projects/icehrm-open/test/integration/MigrationManagerIntegration.php=f0f5bccf120067b34396f1e61fd6d20a
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeEducation.php=8ba4cbc034b5ee23d593cc3352cf46a9
/vagrant/core/src/Overtime/Common/Model/OvertimeCategory.php=49198d964e954be3d427e3a7a29a6443
/vagrant/core/src/Data/Admin/Import/PayrollDataImporter.php=7350ec94ef8a70ba6c263e53c70c7073
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/TravelRequestReport.php=c4bdd4c88f4a7b15c8091a0dcbb5018a
/vagrant/core/src/Classes/Email/SMTPEmailSender.php=0df2a519ce3a2d61d486b9527782f72b
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeTimesheetReport.php=2ec16a7dccb131862f295ad97db9067b
/Users/Thilina/Projects/icehrm-open/core/src/Utils/Math/EvalMathFuncs.php=d6f7c26eab307d205ee8483d87a380cb
/vagrant/core/src/Qualifications/Common/Model/EmployeeCertification.php=96045388cba569f4ea9617dc8fbeded6
/vagrant/core/src/Classes/AbstractModuleManager.php=69d73f9f71155445c32222050528b2e0
/vagrant/core/src/Classes/Approval/ApproveModuleActionManager.php=834a7aad3a07c194a0a830cc353daec9
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/Task/EmailIceTask.php=b754a286061db310b3f18677946d7b43
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/ActiveEmployeeReport.php=261180dfbe69ab83d9d63646111695ba
/vagrant/core/src/Classes/Macaw.php=5a2f26ffcb41c9f42af776a91c283572
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Calculations/CaliforniaOvertimeCalculator.php=a1a5ff46939030747f505710fbd49ffd
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeSkill.php=a02c5ceda0489aba4ed47df010d4892e
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeAttendanceReport.php=600c1feca3eab6d724ac9661f2f514d5
/Users/Thilina/Projects/icehrm-open/core/src/Users/Admin/Api/UsersAdminManager.php=695662b7186616d4379d0a588b5130e6
/Users/Thilina/Projects/icehrm-open/core/src/Users/Admin/Api/UsersActionManager.php=52c9dc80e7d81e244b5f0ed9a90693cd
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/OvertimeReport.php=431965980b2458019398d2ed6d7fc39a
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ReportsAdminManager.php=be16482fcb8d6714f13618407acf25a5
/vagrant/core/src/Reports/User/Reports/EmployeeTimeTrackReport.php=ce6f2b098845233342c336f837001554
/vagrant/core/src/Classes/LDAPManager.php=e88dd0634a6ca372564faa5a1d540796
/vagrant/core/src/Classes/Email/PHPMailer.php=54789d10177cc5075cb4d50838b05821
/Users/Thilina/Projects/icehrm-open/core/src/Company/Common/Model/Timezone.php=50aff3bc39221658c35041abdc55ad98
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/DataReader.php=b788e0ab03f397f845ee49427f9689da
/vagrant/core/src/Utils/LogManager.php=144ebae4d0ff60f0fd21e79a45aa6e6a
/Users/Thilina/Projects/icehrm-open/core/src/Utils/Math/EvalMathStack.php=4b86e2041c19d8ef8eaf7f4ea630e116
/Users/Thilina/Projects/icehrm-open/core/src/Model/IceEmail.php=02bd3cd01cb37ab05d763e468cba3835
/vagrant/core/src/Users/Admin/Api/UsersAdminManager.php=695662b7186616d4379d0a588b5130e6
/Users/Thilina/Projects/icehrm-open/core/src/Model/UserReport.php=0a8a8476e3088011cc54fda139567b56
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Import/EmployeeDataImporter.php=d1b66e2d042335df792fa8913d363d5f
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/EmployeeImmigration.php=1dcb690d0045699a1aa65eda033f9adf
/vagrant/core/src/Classes/UIManager.php=b43c282c50f732086e6cc07381794cf6
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Admin/Api/OvertimePayrollUtils.php=839c6f828000c302512d8d3058286506
/vagrant/core/src/Model/ApproveModel.php=97c98d153a6cca455cbeb0b637eac098
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ReportBuilder.php=9b0e8e996157caebcf17a2a342ba0f6e
/Users/Thilina/Projects/icehrm-open/core/src/Loans/Admin/Api/LoansAdminManager.php=0954d425f553598a6f3a9dbefc19fb45
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/OvertimeRequestReport.php=3cd3bc887da768a32bfc61c152489528
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Admin/Api/MetadataAdminManager.php=9f383f9c34ec98a8e2e701825c548a8a
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/Query/FieldMapping.php=59bf4b2160b88d4ceb3729588b341b64
/Users/Thilina/Projects/icehrm-open/core/src/Classes/HistoryManager.php=4741dd856bb81ec2e27bd016afb8e042
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Common/Model/EmployeeOvertimeApproval.php=edd2eedebb9f62a44f0e588c615654ce
/vagrant/core/src/Qualifications/Common/Model/Language.php=16759d70f3d52e38cbe81abed9b220d8
/vagrant/core/src/Attendance/Admin/Api/AttendanceDashboardManager.php=c08fc7c021dd0c0780851c308225291f
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/SNSEmailSender.php=fa905e3ab63ea745c591e744d6741b6b
/Users/Thilina/Projects/icehrm-open/core/src/Modules/Admin/Api/ModulesAdminManager.php=e0bc5316cc3c7c6e214761c54e738e9c
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/TerminatedEmployeeReport.php=1b8b58d6e85eb77e45aaf44f426025ea
/vagrant/core/src/Model/Notification.php=fe1cf65671434bc29c8d17a78577e1f3
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Migration/AbstractMigration.php=324fe15e15a0ca2b0f50f4029ae10548
/vagrant/core/src/Dashboard/User/Api/DashboardModulesManager.php=2e8968121b445353ee864c76c44483d3
/Users/Thilina/Projects/icehrm-open/core/src/Loans/User/Api/LoansModulesManager.php=4f0650c7b4ab3ec6c241bd32c680dfca
/Users/Thilina/Projects/icehrm-open/core/src/Modules/Admin/Api/ModulesActionManager.php=a4f9c92a8f6de83ed72c5f775369b883
/vagrant/core/src/Classes/CustomFieldManager.php=ed6fd78e1a485b2dc05e4fe683ec4731
/vagrant/core/src/Loans/Admin/Api/LoansAdminManager.php=0954d425f553598a6f3a9dbefc19fb45
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceActionManager.php=ebf11e8f9395c7ef272b08c8f1fcd22c
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Certification.php=39426e51081f6385feb4803f6a62e937
/vagrant/core/src/Reports/Admin/Reports/EmployeeAttendanceReport.php=a20c94c986fa57c52daebbcbf4fa1f3f
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/Common/Model/QTDays.php=32a00e65a966331b776dc37cc0609edf
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/PDFReportBuilder.php=fbbc196b5ea432671667bcc239d8bf54
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/Task/EmailSenderTask.php=f0c93e7c807706922cb812723e51bd09
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/ExpenseReport.php=397c8deb446994b64e2b9fef2845bb89
/vagrant/core/src/Dashboard/Admin/Api/DashboardAdminManager.php=800b72969de1b8c311a8e1b7d2940c79
/vagrant/core/src/Classes/ModuleBuilder/ModuleTab.php=89136363d7520967c2d42e175052f4d5
/Users/Thilina/Projects/icehrm-open/core/src/Dependents/Common/Model/EmployeeDependent.php=1f4b6cd6dfbc14269b53dbbac3730f9e
/Users/Thilina/Projects/icehrm-open/core/src/Utils/Math/EvalMath.php=bdae5673431ca215e080d3b0aa0f74c8
/vagrant/core/src/Utils/CalendarTools.php=9f60bf1aaa928a02163680da60ac255c
/Users/Thilina/Projects/icehrm-open/core/src/Jobs/Common/Model/JobTitle.php=2f24525e14942c7f284a44c8e416cd34
/vagrant/core/src/StaffDirectory/User/Api/StaffDirectoryModulesManager.php=01de49a245a08bcf9a770bcee9331136
/vagrant/core/src/Classes/Cron/Task/EmailSenderTask.php=f0c93e7c807706922cb812723e51bd09
/vagrant/core/src/Reports/User/Reports/ClientProjectTimeReport.php=f860b3cff536b5074bb7d1e193c1c41d
/vagrant/core/src/Reports/User/Api/ReportsModulesManager.php=1645b61be16b96d0085510f6a2d30b68
/Users/Thilina/Projects/icehrm-open/core/src/Classes/AbstractInitialize.php=a6e16a53a0178bc30b27dcf3684fbdad
/vagrant/core/src/Salary/Admin/Api/SalaryAdminManager.php=8bedb5d82608974feedd1c094cac64fa
/vagrant/core/src/Employees/Common/Model/EmploymentStatus.php=6e72924fac0cecc49aaf070389f8d73a
/vagrant/core/src/Classes/HistoryManager.php=4741dd856bb81ec2e27bd016afb8e042
/Users/Thilina/Projects/icehrm-open/core/src/Loans/Common/Model/CompanyLoan.php=cca60a4d5fa1189cdbd35146b010a2c7
/vagrant/core/src/Travel/Admin/Api/TravelActionManager.php=3a1057fd319a38ff8eecf55b4879d517
/vagrant/core/src/Projects/Common/Model/Client.php=e4ee80d40f4bbcd94516d767b639f4e4
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/CSVReportBuilder.php=5c5f7175cc2aff776388c3281cea9cf3
/vagrant/core/src/Reports/Admin/Api/PDFReportBuilderInterface.php=cc049c4c1b86e5a5e4fd99ddf24e563d
/vagrant/core/src/Overtime/User/Api/OvertimeModulesManager.php=b29d52a4e3f021cdd786f41cbf1b9837
/Users/Thilina/Projects/icehrm-open/core/src/Permissions/Admin/Api/PermissionsAdminManager.php=c66e06b926b4006e8a2d7f2e77e0f1fa
/vagrant/core/src/Attendance/Common/Calculations/CaliforniaOvertimeCalculator.php=a1a5ff46939030747f505710fbd49ffd
/Users/Thilina/Projects/icehrm-open/test/test.config.php=68587cbb63b8a37dc07fdac177eb23a4
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/Admin/Api/DashboardActionManager.php=5e8e996f9f4b77f1fbd10e026a5d1351
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/PayslipReport.php=7582da680dd305d073faf95d268083cd
/vagrant/core/src/Salary/Common/Model/EmployeeSalary.php=f7d994ee11b471fff1a6d522d0c62232
/vagrant/core/src/Classes/BaseService.php=92bd3a9bb4e7eb84e079b0db75d5f752
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeTimesheetReport.php=8661944cf39b10c441841a8af72cb988
/vagrant/core/src/Settings/Admin/Api/SettingsAdminManager.php=5e5df0056db6f9593128720581feca18
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/EmployeeApproval.php=481ddd171d66e644bb442ab02e97b097
/vagrant/core/src/Permissions/Common/Model/Permission.php=0745dd3786e95cfc5265c32f47f4ee4a
/Users/Thilina/Projects/icehrm-open/core/src/Utils/LogManager.php=144ebae4d0ff60f0fd21e79a45aa6e6a
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/User/Api/DashboardModulesManager.php=2e8968121b445353ee864c76c44483d3
/vagrant/core/src/Users/Admin/Api/UsersEmailSender.php=44ef76064fa528f8c88b0cf6b6e9b448
/Users/Thilina/Projects/icehrm-open/core/src/StaffDirectory/User/Api/StaffDirectoryModulesManager.php=01de49a245a08bcf9a770bcee9331136
/vagrant/core/src/StaffDirectory/Rest/StaffDirectoryRestEndPoint.php=ba417b136c9c65cd5096c3bde7d141c2
/vagrant/core/src/Payroll/Common/Model/PayslipTemplate.php=cc9bf7552cfccd84a0b9b1431f224f1f
/vagrant/core/src/Classes/Email/EmailSender.php=7a77f7e9c4622634bddd8ac1ff7b6fa3
/vagrant/test/test.includes.php=66d627b31f3f6b76f1739a54e7d9fd9f
/vagrant/core/src/Attendance/Common/Model/AttendanceStatus.php=ad80af2d596e584a3ab60a5fce4aac09
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Admin/Api/QualificationsAdminManager.php=3037d64a2344a497ff0ceea52265d2a6
/Users/Thilina/Projects/icehrm-open/core/src/EmergencyContacts/User/Api/EmergencyContactModulesManager.php=527888466137dad3da5c6bf5b7bf9b28
/vagrant/core/src/Classes/MemcacheService.php=e07916b1c628686162c19fa26aad93d5
/vagrant/core/src/Payroll/Common/Model/PayrollData.php=f1a49da4e6e5a91695dd96c9585e1686
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Migration/MigrationManager.php=b2a6fae32ad9370a4e3375a623330fa7
/vagrant/core/src/Classes/IceResponse.php=bb74495c33fab87e96f72b610cfd5374
/vagrant/core/src/Classes/Cron/Task/DocumentExpiryNotificationTask.php=c5f29d1d3ea8b984b442fee8d07d08a1
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/DataAdminManager.php=3913dc1f43ae1965956c420d0d9084c8
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Rest/AttendanceRestEndPoint.php=98b5f7f6dc8bfe0fb0eddbc8f894837b
/vagrant/core/src/Utils/Math/EvalMath.php=bdae5673431ca215e080d3b0aa0f74c8
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Admin/Api/SalaryAdminManager.php=8bedb5d82608974feedd1c094cac64fa
/vagrant/core/src/Classes/IceConstants.php=76b653fed16d089de7da45fe4dfd32a0
/vagrant/core/src/Overtime/Admin/Api/OvertimeAdminManager.php=701c52c0bca0b0d89c5bb8e7cbafac8e
/vagrant/core/src/Classes/ModuleBuilder/ModuleBuilder.php=29fed2a27587032060efc02c7a30a838
/vagrant/test/unit/LanguageManagerUnit.php=ebb20febce875350bfddd7f0358e6ad0
/vagrant/core/src/Metadata/Common/Model/CalculationHook.php=14b41df5f777aa74832b359d43d45140
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/Task/DocumentExpiryNotificationTask.php=c5f29d1d3ea8b984b442fee8d07d08a1
/Users/Thilina/Projects/icehrm-open/core/src/Classes/CustomFieldManager.php=ed6fd78e1a485b2dc05e4fe683ec4731
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Admin/Api/OvertimeActionManager.php=63ef6d09e21234f0ee963106c417a196
/vagrant/core/src/Reports/Admin/Api/ReportBuilder.php=9b0e8e996157caebcf17a2a342ba0f6e
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Common/Model/OvertimeCategory.php=49198d964e954be3d427e3a7a29a6443
/vagrant/core/src/Classes/Data/Query/FieldMapping.php=59bf4b2160b88d4ceb3729588b341b64
/vagrant/core/src/Classes/MenuItemTemplate.php=7ad7eb3a874ec729ec1baf0760f0b4ed
/vagrant/core/src/Projects/User/Api/ProjectsModulesManager.php=4fc0463507ca7768a1e493d703ac2581
/Users/Thilina/Projects/icehrm-open/core/src/Classes/PermissionManager.php=149c16e23f9066538e9c7a0ee3bb397f
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceDashboardManager.php=c08fc7c021dd0c0780851c308225291f
/vagrant/core/src/Payroll/Common/Model/Deduction.php=1e49d0fd8d4673e3fd094cfb0e467df4
/vagrant/core/src/Employees/Common/Model/ArchivedEmployee.php=6056e5073538c0d7a22dea52b6c25374
/Users/Thilina/Projects/icehrm-open/core/src/Jobs/Common/Model/PayGrade.php=9cc01a86f03deb884884681a73deb27a
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/SwiftMailer.php=eca37dc0add437ae1089c695b5074b90
/vagrant/core/src/Data/Admin/Api/AbstractDataImporter.php=315bf5eec45aa13e174d412014e2237f
/Users/Thilina/Projects/icehrm-open/core/src/Model/BaseModel.php=18a7c31592c280ad3e6d2fdee42e1514
/vagrant/core/src/Metadata/Common/Model/SupportedLanguage.php=3ec1220796f6e33641998a33f036d709
/Users/Thilina/Projects/icehrm-open/core/src/Model/Migration.php=3f11c6dfaa18d4a6dcb2caa8d3677121
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsModulesManager.php=63a8c4364cd579be46b60a2e83f8f87f
/vagrant/core/src/Classes/SubActionManager.php=efcd05491fde9cd1f19c7baf8d09669a
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceAdminManager.php=21e4a22a3eb290704181e5a4a7a5df7a
/vagrant/core/src/Employees/Common/Model/Employee.php=1e8f3958597a1d2f138e927115671538
/vagrant/core/src/Qualifications/Common/Model/EmployeeLanguage.php=66127455502fb29181324c1cc25f93c4
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Common/Model/Project.php=05b1cd967d67cb977558f2567d7f6cb6
/Users/Thilina/Projects/icehrm-open/core/src/Classes/RestEndPoint.php=48bd6506bb12af195f32d65c0ae635f2
/vagrant/core/src/Reports/Admin/Api/ReportBuilderInterface.php=dd7e723c48ec4f97db98ffec0d0f39cb
/vagrant/core/src/Employees/Admin/Api/EmployeesActionManager.php=422c05fab85d0c9f398a8c71fdef6758
/vagrant/core/src/Classes/NotificationManager.php=e1bf4227b181f06feed9ed678a80ad2a
/vagrant/core/src/Attendance/Rest/AttendanceRestEndPoint.php=98b5f7f6dc8bfe0fb0eddbc8f894837b
/vagrant/core/src/Model/BaseModel.php=18a7c31592c280ad3e6d2fdee42e1514
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Language.php=16759d70f3d52e38cbe81abed9b220d8
/vagrant/core/src/Model/Migration.php=3f11c6dfaa18d4a6dcb2caa8d3677121
/vagrant/core/src/Employees/Rest/EmployeeRestEndPoint.php=c133d71de94b3c13fac97f9d1061ce06
/vagrant/core/src/Dependents/User/Api/DependentsModulesManager.php=409b6ea72b6ce0319bb12df6458d2bef
/vagrant/core/src/Salary/Common/Model/PayFrequency.php=fab16310b7db7bb9aace5a6b038c9d2a
/vagrant/core/src/Travel/Admin/Api/TravelAdminManager.php=9b3c6e369e2264d2bc9fca122e8ed90c
/vagrant/core/src/Classes/Cron/CronUtils.php=b55a1fe1c4ed55dc582e208b341f52b4
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ModuleBuilder/ModuleBuilder.php=29fed2a27587032060efc02c7a30a838
/Users/Thilina/Projects/icehrm-open/core/src/Company/Admin/Api/CompanyAdminManager.php=484a8b669d5fed117f1f40f289f2c6f4
/vagrant/core/src/Qualifications/Common/Model/Education.php=327f74726fca1a976e2fc6272ffecdea
/Users/Thilina/Projects/icehrm-open/core/src/Classes/NotificationManager.php=e1bf4227b181f06feed9ed678a80ad2a
/vagrant/core/src/Classes/LanguageManager.php=e019a01be56a46a93177a50340fc3eea
/vagrant/core/src/Classes/Data/Query/Filter.php=3ec1fa1e59c0cbc0955dd3f2f738d1c3
/vagrant/core/src/Metadata/Common/Model/Country.php=be5371104ea0bbfa7132201d5e31e62f
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/Common/Model/EmployeeTimeEntry.php=f69d37222ff6d528b5dde53fcbb5b3a8
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/User/Api/OvertimeActionManager.php=5ace85f1fdbd23f5adc8d089f2d6b5fa
/vagrant/core/src/Travel/Common/Model/EmployeeImmigration.php=1dcb690d0045699a1aa65eda033f9adf
/vagrant/test/unit/UserAttendanceActionManagerUnit.php=1d71d366a13f253ef6931aa87202ac42
/Users/Thilina/Projects/icehrm-open/core/src/Model/StatusChangeLog.php=0745140bddda3f06915dcfcc6ac97ce8
/vagrant/core/src/Reports/Admin/Reports/AssetUsageReport.php=176cc5363c46aee80f4fc1802b0d29c3
/Users/Thilina/Projects/icehrm-open/core/src/Users/Common/Model/User.php=ad497e45b540b026aa80fa58f5055cc1
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/AbstractDataImporter.php=315bf5eec45aa13e174d412014e2237f
/vagrant/core/src/Metadata/Admin/Api/MetadataAdminManager.php=9f383f9c34ec98a8e2e701825c548a8a
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Admin/Api/TravelActionManager.php=3a1057fd319a38ff8eecf55b4879d517
/vagrant/core/src/Metadata/Common/Model/Ethnicity.php=5f5935cdeab1b41ac0d2db9f6973f6b0
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/SalaryComponentType.php=d96878a0b1547f44731830526306ab56
/vagrant/core/src/Metadata/Common/Model/CustomFieldValue.php=a5d9109aa3b465bf98ba0b04ce5d0430
/vagrant/core/src/Model/Report.php=498c96015d1be2b31d8cd0bcedea7fab
/vagrant/core/src/Classes/SettingsManager.php=ebed24cde74d7fb33cca4ba156389760
/vagrant/core/src/Payroll/Admin/Api/PayrollAdminManager.php=9bac9a6ed8406c9eb6fe7ef666aee482
/Users/Thilina/Projects/icehrm-open/core/src/Jobs/Admin/Api/JobsAdminManager.php=12546328edffcc5bda7e84f6a8c56d9e
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Api/ReportsModulesManager.php=1645b61be16b96d0085510f6a2d30b68
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/EmailSender.php=7a77f7e9c4622634bddd8ac1ff7b6fa3
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsActionManager.php=ef271183cf6e71d8db24b8d3369e19b9
/Users/Thilina/Projects/icehrm-open/core/src/Model/Report.php=498c96015d1be2b31d8cd0bcedea7fab
/vagrant/core/src/Classes/Cron/IceTask.php=cc9b1481e824fd967eb503248eb92e29
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Admin/Api/EmployeesActionManager.php=422c05fab85d0c9f398a8c71fdef6758
/vagrant/core/src/Model/StatusChangeLog.php=0745140bddda3f06915dcfcc6ac97ce8
/vagrant/core/src/Attendance/User/Api/AttendanceModulesManager.php=f1b34fae71cc963e197b41ed2ca032ca
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Rest/EmployeeRestEndPoint.php=c133d71de94b3c13fac97f9d1061ce06
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/User/Api/AttendanceActionManager.php=feaa97dd192e7faec2045aba7dc03125
/Users/Thilina/Projects/icehrm-open/core/src/Employees/User/Api/EmployeesActionManager.php=e34f4fe38b3e0eb45cb65232fa6ec359
/vagrant/core/src/Classes/StatusChangeLogManager.php=b091e855d9800eea9d4190e0c75e3e8c
/vagrant/core/src/Reports/Admin/Reports/TravelRequestReport.php=c4bdd4c88f4a7b15c8091a0dcbb5018a
/vagrant/core/src/Permissions/Admin/Api/PermissionsAdminManager.php=c66e06b926b4006e8a2d7f2e77e0f1fa
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Admin/Api/TravelAdminManager.php=9b3c6e369e2264d2bc9fca122e8ed90c
/Users/Thilina/Projects/icehrm-open/core/src/Classes/IceConstants.php=76b653fed16d089de7da45fe4dfd32a0
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Crypt/Aes.php=d0b15a04faf73b0ff35efc308d09b6e7
/vagrant/core/src/Reports/User/Reports/OvertimeSummaryReport.php=3918d7210957040977b8a43c580abae0
/Users/Thilina/Projects/icehrm-open/test/unit/LanguageManagerUnit.php=ebb20febce875350bfddd7f0358e6ad0
/Users/Thilina/Projects/icehrm-open/core/src/Model/Setting.php=f24f377a9590eb8ead2400b186f18a80
/Users/Thilina/Projects/icehrm-open/core/src/Model/File.php=3bc6c71925ad1e20721ffd63567c7783
/vagrant/core/src/Reports/Admin/Reports/OvertimeReport.php=f630ae5402ec7957f42b64fa46cd1923
/vagrant/core/src/Qualifications/Common/Model/EmployeeSkill.php=a02c5ceda0489aba4ed47df010d4892e
/vagrant/core/src/Travel/Common/Model/EmployeeTravelRecordApproval.php=d84b2a1323f3663806cc30545e748cd4
/vagrant/core/src/Reports/Admin/Reports/EmployeeLeaveEntitlementReport.php=9be41bfeb88fd0171028203f6513c799
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/ExpenseReport.php=7c8d187bc57175a92b8bc0fa33e501f0
/vagrant/core/src/Data/Common/Model/DataImportFile.php=a0b3f8410e80862ba79aa9d8fed383d7
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayslipTemplate.php=cc9bf7552cfccd84a0b9b1431f224f1f
/vagrant/core/src/Payroll/Common/Model/DeductionGroup.php=c35db5b88aa4b0c7d78b8444688931b5
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ClassBasedReportBuilder.php=fc77219539745bdb6364fc81bdda2516
/vagrant/core/src/TimeSheets/Common/Model/EmployeeTimeEntry.php=f69d37222ff6d528b5dde53fcbb5b3a8
/vagrant/core/src/Classes/ModuleBuilder/ModuleTabGroup.php=d81cfc2b3dcad2f57317b1274c884d95
/Users/Thilina/Projects/icehrm-open/core/src/Travel/User/Api/TravelModulesManager.php=94c9204a67e99af9133cd2aa371cb6da
/vagrant/core/src/Projects/Common/Model/EmployeeProject.php=b0de956de8ec4c423604195b96f57df9
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/Common/Model/EmployeeTimeSheet.php=2a4e685315485e4933df5d2ba856d8fb
/Users/Thilina/Projects/icehrm-open/core/src/Users/Admin/Api/UsersEmailSender.php=44ef76064fa528f8c88b0cf6b6e9b448
/Users/Thilina/Projects/icehrm-open/core/src/Classes/RestApiManager.php=c53180aa40576c5fe8c519b2b0a39e32
/vagrant/core/src/Travel/Common/Model/EmployeeTravelRecord.php=5366a1927bd94630217ffbc9386ff605
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/EmployeeTravelRecordApproval.php=d84b2a1323f3663806cc30545e748cd4
/vagrant/core/src/Reports/Admin/Api/ReportsAdminManager.php=be16482fcb8d6714f13618407acf25a5
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/EmployeeTravelRecord.php=5366a1927bd94630217ffbc9386ff605
/vagrant/core/src/Users/Common/Model/UserRole.php=9f9021a51c94b25e203cc3c0322c80d7
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/Deduction.php=1e49d0fd8d4673e3fd094cfb0e467df4
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApproveCommonActionManager.php=c1b7efb8c4f3fe8199c7e0d6fdd1ccce
/vagrant/core/src/Payroll/Common/Model/PayrollColumnTemplate.php=cb69bf4717cfbaf0f395b931296efd9a
/vagrant/core/src/StaffDirectory/Common/Model/StaffDirectory.php=73f3c132e741460f200be3b3100833f6
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollCalculations.php=70d1b733b1adbb6c6a2ea0dcec89efca
/vagrant/core/src/Classes/Data/DataReader.php=b788e0ab03f397f845ee49427f9689da
/vagrant/core/src/Data/Admin/Api/DataActionManager.php=82f3ced08b946ca6e10a83c6e07475db
/vagrant/test/helper/EmployeeTestDataHelper.php=65ec2048653c9e4e4359d9b6967a860d
/vagrant/core/src/Payroll/Common/Model/PayrollColumn.php=0f2e8fd9b44c038f163ae646d3c6f4b6
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollData.php=f1a49da4e6e5a91695dd96c9585e1686
/vagrant/core/src/Reports/User/Reports/EmployeeTimesheetReport.php=2ec16a7dccb131862f295ad97db9067b
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/PayrollDataExport.php=83bd6faa73c75667ecf25091c3729abc
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/TravelRequestReport.php=810d405042307fe9c6ca82e082c3673e
/vagrant/core/src/Modules/Admin/Api/ModulesAdminManager.php=e0bc5316cc3c7c6e214761c54e738e9c
/vagrant/core/src/Company/Common/Model/CompanyStructure.php=a1957202858bc093b29e8dfe48955cc6
/vagrant/core/src/Qualifications/Common/Model/Certification.php=39426e51081f6385feb4803f6a62e937
/vagrant/core/src/Reports/Admin/Reports/EmployeeLeavesReport.php=bd5efb4666ca4103a2e7e98aa24e1c83
/vagrant/core/src/FieldNames/Common/Model/CustomField.php=32400d304e8064e69624311c3c80dffb
/vagrant/core/src/EmergencyContacts/User/Api/EmergencyContactModulesManager.php=527888466137dad3da5c6bf5b7bf9b28
/vagrant/core/src/Data/Admin/Import/AttendanceDataImporter.php=dc4dec4294b9feac08a5f996b85cab85
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Import/AttendanceDataImporter.php=dc4dec4294b9feac08a5f996b85cab85
/vagrant/core/src/Company/Common/Model/Timezone.php=50aff3bc39221658c35041abdc55ad98
/Users/Thilina/Projects/icehrm-open/core/src/Model/RestAccessToken.php=77c292675944ff887fc8b4c3f7b6da94
/Users/Thilina/Projects/icehrm-open/core/src/Model/ReportFile.php=0a766e94902b5473ef1fa24583cf2481
/vagrant/core/src/Classes/RestApiManager.php=c53180aa40576c5fe8c519b2b0a39e32
/Users/Thilina/Projects/icehrm-open/core/src/Classes/MemcacheService.php=e07916b1c628686162c19fa26aad93d5
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Admin/Api/ProjectsAdminManager.php=8f20c5277a8560a69318263166b804e3
/vagrant/core/src/Model/IceEmail.php=02bd3cd01cb37ab05d763e468cba3835
/vagrant/core/src/Salary/Common/Model/SalaryComponent.php=31e89f1115de7986cd790c8e113ab6d5
/vagrant/core/src/Dependents/Common/Model/EmployeeDependent.php=1f4b6cd6dfbc14269b53dbbac3730f9e
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/NewHiresEmployeeReport.php=64eab525953538d481dab6052dd76d81
/vagrant/core/src/Travel/User/Api/TravelModulesManager.php=94c9204a67e99af9133cd2aa371cb6da
/vagrant/core/src/Reports/Admin/Api/ClassBasedReportBuilder.php=fc77219539745bdb6364fc81bdda2516
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/DeductionGroup.php=c35db5b88aa4b0c7d78b8444688931b5
/vagrant/core/src/Modules/Common/Model/Module.php=6930680c77dfbcd410e1425c76511c16
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/ImmigrationStatus.php=f0dc9a94bcc487df21d53387ae8e89ba
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/Query/Filter.php=3ec1fa1e59c0cbc0955dd3f2f738d1c3
/vagrant/core/src/TimeSheets/Common/Model/EmployeeTimeSheet.php=2a4e685315485e4933df5d2ba856d8fb
/vagrant/core/src/Classes/S3FileSystem.php=6308aca72380cef1981625946b59652f
/vagrant/core/src/Salary/User/Api/SalaryModulesManager.php=050d077e79532353a7d12a7221829b7c
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Calculations/BasicOvertimeCalculator.php=9c96ae3f71796029d3f93e5c63783f53
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/ImmigrationDocument.php=c0636d2ce3e7d89d9e4ebb00c8d1450f
/vagrant/core/src/Attendance/Admin/Api/AttendanceAdminManager.php=21e4a22a3eb290704181e5a4a7a5df7a
/vagrant/core/src/Users/Admin/Api/UsersActionManager.php=52c9dc80e7d81e244b5f0ed9a90693cd
/vagrant/core/src/Model/RestAccessToken.php=77c292675944ff887fc8b4c3f7b6da94
/Users/Thilina/Projects/icehrm-open/core/src/Classes/MenuItemTemplate.php=7ad7eb3a874ec729ec1baf0760f0b4ed
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/CalculationHook.php=14b41df5f777aa74832b359d43d45140
/vagrant/core/src/Qualifications/Admin/Api/QualificationsAdminManager.php=3037d64a2344a497ff0ceea52265d2a6
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollColumnTemplate.php=cb69bf4717cfbaf0f395b931296efd9a
/Users/Thilina/Projects/icehrm-open/core/src/Classes/SimpleImage.php=fdfb7b2e71e14975ebce16de44ea9dee
/Users/Thilina/Projects/icehrm-open/core/src/Settings/Admin/Api/SettingsInitialize.php=148bc391f5d101121f915a590f991a6b
/vagrant/core/src/Overtime/Admin/Api/OvertimeActionManager.php=63ef6d09e21234f0ee963106c417a196
/vagrant/core/src/Attendance/Admin/Api/AttendanceActionManager.php=ebf11e8f9395c7ef272b08c8f1fcd22c
/Users/Thilina/Projects/icehrm-open/core/src/Utils/InputCleaner.php=e86fcb9daf1d32a4328edf40a31152f8
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeTimeSheetData.php=9d612ee603fdf4e6b710eec725da2656
/vagrant/core/src/Data/Admin/Api/DataImporter.php=ad94e2de98e11c1d3f0f0b32c46f358c
/Users/Thilina/Projects/icehrm-open/core/src/Model/Audit.php=6259d9e1d7e7777bb8cde096bdc742aa
/Users/Thilina/Projects/icehrm-open/core/src/Classes/UIManager.php=b43c282c50f732086e6cc07381794cf6
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/SMTPEmailSender.php=0df2a519ce3a2d61d486b9527782f72b
/vagrant/core/src/Qualifications/Common/Model/EmployeeEducation.php=8ba4cbc034b5ee23d593cc3352cf46a9
/vagrant/core/src/Metadata/Common/Model/Province.php=0ff661394cbcfec7f514f2d5eae7ca25
/Users/Thilina/Projects/icehrm-open/core/src/Classes/SubActionManager.php=efcd05491fde9cd1f19c7baf8d09669a
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/IceTask.php=cc9b1481e824fd967eb503248eb92e29
/Users/Thilina/Projects/icehrm-open/core/src/Classes/AbstractModuleManager.php=69d73f9f71155445c32222050528b2e0
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Common/Model/Client.php=e4ee80d40f4bbcd94516d767b639f4e4
/Users/Thilina/Projects/icehrm-open/core/src/Permissions/Common/Model/Permission.php=0745dd3786e95cfc5265c32f47f4ee4a
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/OvertimeSummaryReport.php=16d9e2f10de82f25d0965e2d327086b9
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/User/Api/DashboardActionManager.php=3f797cf4807ad5cd4f881607142df049
/Users/Thilina/Projects/icehrm-open/core/src/Classes/StatusChangeLogManager.php=b091e855d9800eea9d4190e0c75e3e8c
/vagrant/core/src/Reports/User/Reports/EmployeeAttendanceReport.php=600c1feca3eab6d724ac9661f2f514d5
/vagrant/core/src/Model/Setting.php=f24f377a9590eb8ead2400b186f18a80
/vagrant/core/src/Payroll/Admin/Api/PayrollActionManager.php=c95c4e2ae643a16b8e59fa73dc1f0193
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeTimeTrackReport.php=ce6f2b098845233342c336f837001554
/vagrant/core/src/Overtime/Common/Model/EmployeeOvertimeApproval.php=edd2eedebb9f62a44f0e588c615654ce
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeLeavesReport.php=0bd5801ac4c9803db53198c68904d5f5
/vagrant/core/src/Reports/Admin/Reports/TerminatedEmployeeReport.php=1b8b58d6e85eb77e45aaf44f426025ea
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/SalaryComponent.php=31e89f1115de7986cd790c8e113ab6d5
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeAttendanceReport.php=a20c94c986fa57c52daebbcbf4fa1f3f
/vagrant/test/TestTemplate.php=8e6ff185d587f339892a9a720e2bfa5f
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/AssetUsageReport.php=176cc5363c46aee80f4fc1802b0d29c3
/vagrant/core/src/Attendance/Admin/Api/AttendanceUtil.php=34fe63a4c0f954451afae6c359ea5b38
/vagrant/core/src/Classes/Approval/ApproveAdminActionManager.php=01eaf59752e8379205bc52f3278f96fc
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/CustomFieldValue.php=a5d9109aa3b465bf98ba0b04ce5d0430
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Import/PayrollDataImporter.php=7350ec94ef8a70ba6c263e53c70c7073
/vagrant/core/src/Overtime/Common/Model/EmployeeOvertime.php=4275d184646684892b289524b33cf9d7
/vagrant/core/src/Classes/Crypt/Aes.php=d0b15a04faf73b0ff35efc308d09b6e7
/Users/Thilina/Projects/icehrm-open/core/src/Classes/LDAPManager.php=e88dd0634a6ca372564faa5a1d540796
/vagrant/core/src/Reports/Admin/Reports/OvertimeRequestReport.php=3cd3bc887da768a32bfc61c152489528
/vagrant/core/src/Reports/Admin/Reports/ActiveEmployeeReport.php=261180dfbe69ab83d9d63646111695ba
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/PHPMailer.php=54789d10177cc5075cb4d50838b05821
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ModuleBuilder/ModuleTab.php=89136363d7520967c2d42e175052f4d5
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsActionManager.php=ef271183cf6e71d8db24b8d3369e19b9
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsInitialize.php=d47372f12494019c1004a04cbe57013d
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/OvertimeReport.php=f630ae5402ec7957f42b64fa46cd1923
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayFrequency.php=9207a551d667bab9734aa041e02a1be1
/vagrant/core/src/Classes/Data/Query/DataQuery.php=eae53f27055f569d43fd2cad06b7beff
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeCertification.php=96045388cba569f4ea9617dc8fbeded6
/Users/Thilina/Projects/icehrm-open/core/src/Model/DataEntryBackup.php=9ab3a7d48dbdd377a90c505cf692c17e
/vagrant/core/src/Attendance/User/Api/AttendanceActionManager.php=feaa97dd192e7faec2045aba7dc03125
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ModuleBuilder/ModuleTabGroup.php=d81cfc2b3dcad2f57317b1274c884d95
/vagrant/core/src/Utils/InputCleaner.php=e86fcb9daf1d32a4328edf40a31152f8
/vagrant/core/src/Salary/Common/Model/SalaryComponentType.php=d96878a0b1547f44731830526306ab56
/vagrant/core/src/Payroll/Common/Model/PayFrequency.php=9207a551d667bab9734aa041e02a1be1
/vagrant/core/src/Overtime/Admin/Api/OvertimePayrollUtils.php=839c6f828000c302512d8d3058286506
/vagrant/core/src/Attendance/Common/Model/Attendance.php=aa0945e6fc70e6e3418d0e09f7110082
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ReportHandler.php=80b280cae34fdfbee864b05b07c6789a
/vagrant/core/src/Model/ReportFile.php=0a766e94902b5473ef1fa24583cf2481
/Users/Thilina/Projects/icehrm-open/core/src/FieldNames/Common/Model/FieldNameMapping.php=e3e81b3a4e0f6c74cd687038632107d8
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/CSVReportBuilderInterface.php=6ada9a15e850c09162fc75020d6b00e4
/Users/Thilina/Projects/icehrm-open/core/src/Data/Common/Model/DataImportFile.php=a0b3f8410e80862ba79aa9d8fed383d7
/vagrant/core/src/Qualifications/User/Api/QualificationsModulesManager.php=e668d64139ecc146af9ebaea2f91e1fe
/vagrant/core/src/Payroll/Common/Model/Payroll.php=8aa76dfc05183abe955552b15e3c4351
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Admin/Api/PayrollAdminManager.php=9bac9a6ed8406c9eb6fe7ef666aee482
/vagrant/core/src/Reports/User/Reports/EmployeeLeavesReport.php=0bd5801ac4c9803db53198c68904d5f5
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/EmployeeSalary.php=f7d994ee11b471fff1a6d522d0c62232
/vagrant/core/src/Model/Cron.php=9e638c23f7cb93500a1b1f1ef4edf86f
/vagrant/core/src/Model/DataEntryBackup.php=9ab3a7d48dbdd377a90c505cf692c17e

View File

@@ -4,27 +4,29 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'attendance_monitor';
$moduleName = 'attendance';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';
$photoAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendance: Photo Attendance');
$mapAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendance: Request Attendance Location on Mobile');
?><div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabAttendance" href="#tabPageAttendance"><?=t('Monitor Attendance')?></a></li>
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabAttendance" href="#tabPageAttendance"><?=t('Monitor Attendance')?></a></li>
<li class=""><a id="tabAttendanceStatus" href="#tabPageAttendanceStatus"><?=t('Current Clocked In Status')?></a></li>
</ul>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tabPageAttendance">
<div id="Attendance" class="reviewBlock" data-content="List" style="padding-left:5px;">
<div class="tab-content">
<div class="tab-pane active" id="tabPageAttendance">
<div id="Attendance" class="reviewBlock" data-content="List" style="padding-left:5px;">
</div>
<div id="AttendanceForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
<div id="AttendanceForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="tabPageAttendanceStatus">
<div id="AttendanceStatus" class="reviewBlock" data-content="List" style="padding-left:5px;">
@@ -34,47 +36,69 @@ $photoAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendan
</div>
</div>
</div>
</div>
</div>
<div class="modal" id="attendancePhotoModel" tabindex="-1" role="dialog" aria-labelledby="messageModelLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><li class="fa fa-times"/></button>
<h3 style="font-size: 17px;">Attendance Details</h3>
</div>
<div class="modal-body">
<div class="row" style="background: #f3f4f5; padding: 10px;text-align: center;">
<h4 id="attendnaceCanvasEmp"></h4>
</div>
<div class="row" style="background: #f3f4f5; padding: 10px;">
<div class="col-sm-6" style="text-align: center;">
<canvas id="attendnaceCanvasIn" height="156" width="208" style="border: 1px #222 dotted;"></canvas>
<hr/>
<span id="attendnaceCanvasPunchInTime"></span>
</div>
<div class="col-sm-6" style="text-align: center;">
<canvas id="attendnaceCanvasOut" height="156" width="208" style="border: 1px #222 dotted;"></canvas>
<hr/>
<span id="attendnaceCanvasPunchOutTime"></span>
</div>
</div>
</div>
<div class="modal-footer">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><li class="fa fa-times"/></button>
<h3 style="font-size: 17px;">Attendance Details</h3>
</div>
<div class="modal-body">
<div class="row" style="background: #f3f4f5; padding: 10px;text-align: center;">
<h4 id="attendnaceCanvasEmp"></h4>
</div>
<div class="row" style="background: #f3f4f5; padding: 10px;">
<div id="attendnaceCanvasPunchInTimeWraper" class="col-sm-6" style="text-align: center;">
<b>In: </b><span id="attendnaceCanvasPunchInTime"></span>
</div>
<div id="attendnaceCanvasPunchOutTimeWrapper" class="col-sm-6" style="text-align: center;">
<b>Out: </b><span id="attendnaceCanvasPunchOutTime"></span>
</div>
</div>
<div id="attendancePhoto" class="row" style="background: #f3f4f5; padding: 10px;display:none;">
<div class="col-sm-6" style="text-align: center;">
</div>
</div>
</div>
</div>
<div class="col-sm-6" style="text-align: center;">
</div>
</div>
<div id="attendanceMap" class="row" style="background: #f3f4f5; padding: 10px;display:none;">
<div id="attendnaceMapCanvasInWrapper" class="col-sm-6" style="text-align: center;">
</div>
<div id="attendnaceMapCanvasOutWrapper" class="col-sm-6" style="text-align: center;">
</div>
<div class="col-sm-6" style="text-align: center;">
<span>Location: <span id="punchInLocation"></span></span>
<br/>
IP Address: <span id="punchInIp"></span>
</div>
<div class="col-sm-6" style="text-align: center;">
<span>Location: <span id="punchOutLocation"></span></span>
<br/>
IP Address: <span id="punchOutIp"></span>
</div>
</div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<script>
var modJsList = new Array();
modJsList['tabAttendance'] = new AttendanceAdapter('Attendance','Attendance','','in_time desc');
modJsList['tabAttendance'].setRemoteTable(true);
modJsList['tabAttendance'].setPhotoAttendance(<?=$photoAttendance == '1'?>);
modJsList['tabAttendanceStatus'] = new AttendanceStatusAdapter('AttendanceStatus','AttendanceStatus','','');
modJsList['tabAttendanceStatus'].setShowAddNew(false);
var modJs = modJsList['tabAttendance'];
var modJsList = new Array();
modJsList['tabAttendance'] = new AttendanceAdapter('Attendance','Attendance','','in_time desc');
modJsList['tabAttendance'].setRemoteTable(true);
modJsList['tabAttendance'].setPhotoAttendance(<?=$photoAttendance == '1' || $mapAttendance == '1'?>);
modJsList['tabAttendanceStatus'] = new AttendanceStatusAdapter('AttendanceStatus','AttendanceStatus','','');
modJsList['tabAttendanceStatus'].setShowAddNew(false);
var modJs = modJsList['tabAttendance'];
</script>
<?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -2,7 +2,7 @@
"label": "Monitor Attendance",
"menu": "Employees",
"order": "8",
"icon": "fa-clock-o",
"icon": "fa-clock",
"user_levels": [
"Admin",
"Manager"

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'company_structure';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';
@@ -40,7 +41,7 @@ path.link {
<li class="active"><a id="tabCompanyStructure" href="#tabPageCompanyStructure"><?=t('Company Structure')?></a></li>
<li><a id="tabCompanyGraph" href="#tabPageCompanyGraph"><?=t('Company Graph')?></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tabPageCompanyStructure">
<div id="CompanyStructure" class="reviewBlock" data-content="List" style="padding-left:5px;">

View File

@@ -2,7 +2,7 @@
"label":"Company Structure",
"menu":"Admin",
"order":"2",
"icon":"fa-building-o",
"icon":"fa-building",
"user_levels":["Admin","Manager"],
"dashboardPosition":2,

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'dashboard';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -1,6 +1,7 @@
<?php
$moduleName = 'data';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -159,9 +159,10 @@
</div>
</div>
<div class="row" style="margin-left:10px;margin-top:20px;">
<div id="customFieldsCont">
<div id="customFieldsCont">
</div>
</div>

View File

@@ -1,6 +1,7 @@
<?php
$moduleName = 'employees';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -1,14 +1,11 @@
<?php
/*
This file is part of Ice Framework.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'fieldnames';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label": "Employee Custom Fields",
"menu": "Admin",
"order": "83",
"icon": "fa-sliders",
"icon": "fa-ruler-horizontal",
"user_levels": [
"Admin"
],

View File

@@ -4,6 +4,7 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'jobs';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -4,7 +4,8 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'CompanyLoans';
$moduleName = 'loans';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label": "Company Loans",
"menu": "Admin",
"order": "89",
"icon": "fa-shield",
"icon": "fa-money-check",
"user_levels": [
"Admin"
],

View File

@@ -1,8 +1,8 @@
{
"Admin":"fa-cubes",
"Employees":"fa-users",
"Admin Reports":"fa-file-text",
"Employees":"fa-grip-horizontal",
"Admin Reports":"fa-book-reader",
"System":"fa-cogs",
"Insights":"fa-bar-chart-o",
"Payroll":"fa-money"
"Insights":"fa-chart-line",
"Payroll":"fa-file-archive"
}

View File

@@ -1,27 +1,6 @@
<?php
/*
This file is part of Ice Framework.
Ice Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Ice Framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'metadata';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,11 +2,11 @@
"label": "Manage Metadata",
"menu": "System",
"order": "6",
"icon": "fa-sort-alpha-asc",
"icon": "fa-microchip",
"user_levels": [
"Admin"
],
"permissions": [],
"model_namespace": "\\Metadata\\Common\\Model",
"manager": "\\Metadata\\Admin\\Api\\MetadataAdminManager"
}
}

View File

@@ -4,7 +4,8 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'Modules';
$moduleName = 'modules';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'overtime';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -1,6 +1,7 @@
<?php
$moduleName = 'payroll';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -4,7 +4,8 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'Permissions';
$moduleName = 'permissions';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'projects';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -4,7 +4,8 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'company_structure';
$moduleName = 'qualifications';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label": "Qualifications Setup",
"menu": "Admin",
"order": "4",
"icon": "fa-check-square-o",
"icon": "fa-check-square",
"user_levels": [
"Admin",
"Manager"
@@ -25,4 +25,4 @@
},
"model_namespace": "\\Qualifications\\Common\\Model",
"manager": "\\Qualifications\\Admin\\Api\\QualificationsAdminManager"
}
}

View File

@@ -1,6 +1,7 @@
<?php
$moduleName = 'Reports';
$moduleName = 'reports';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label": "Reports",
"menu": "Admin Reports",
"order": "1",
"icon": "fa-file-o",
"icon": "fa-window-maximize",
"user_levels": [
"Admin",
"Manager"
@@ -11,4 +11,4 @@
"permissions": [],
"model_namespace": "\\Reports\\Common\\Model",
"manager": "\\Reports\\Admin\\Api\\ReportsAdminManager"
}
}

View File

@@ -1,6 +1,7 @@
<?php
$moduleName = 'salary';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,11 +2,11 @@
"label": "Salary",
"menu": "Payroll",
"order": "1",
"icon": "fa-money",
"icon": "fa-money-check-alt",
"user_levels": [
"Admin"
],
"permissions": [],
"model_namespace": "\\Salary\\Common\\Model",
"manager": "\\Salary\\Admin\\Api\\SalaryAdminManager"
}
}

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'settings';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'travel';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'users';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';
@@ -12,7 +13,6 @@ $csrf = \Classes\BaseService::getInstance()->generateCsrf('User');
?><div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabUser" href="#tabPageUser"><?=t('Users')?></a></li>
<li class=""><a id="tabUserRole" href="#tabPageUserRole"><?=t('User Roles')?></a></li>
</ul>
<div class="tab-content">
@@ -24,14 +24,14 @@ $csrf = \Classes\BaseService::getInstance()->generateCsrf('User');
</div>
</div>
<div class="tab-pane" id="tabPageUserRole">
<div id="UserRole" class="reviewBlock" data-content="List" style="padding-left:5px;">
</div>
<div id="UserRoleForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div>
<!-- <div class="tab-pane" id="tabPageUserRole">-->
<!-- <div id="UserRole" class="reviewBlock" data-content="List" style="padding-left:5px;">-->
<!---->
<!-- </div>-->
<!-- <div id="UserRoleForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">-->
<!---->
<!-- </div>-->
<!-- </div>-->
</div>
</div>

View File

@@ -13,10 +13,10 @@ if(!defined('HOME_LINK_OTHERS')){
}
//Version
define('VERSION', '26.1.0.OS');
define('CACHE_VALUE', '26.1.0.OS');
define('VERSION_NUMBER', '2610');
define('VERSION_DATE', '31/01/2019');
define('VERSION', '26.6.0.OS');
define('CACHE_VALUE', '26.6.0.OS');
define('VERSION_NUMBER', '2660');
define('VERSION_DATE', '23/07/2019');
if(!defined('CONTACT_EMAIL')){define('CONTACT_EMAIL','icehrm@gamonoid.com');}
if(!defined('KEY_PREFIX')){define('KEY_PREFIX','IceHrm');}

View File

@@ -1,9 +1,5 @@
<?php
$logoFileName = CLIENT_BASE_PATH."data/logo.png";
$logoFileUrl = CLIENT_BASE_URL."data/logo.png";
if(!file_exists($logoFileName)){
$logoFileUrl = BASE_URL."images/logo.png";
}
$logoFileUrl = \Classes\UIManager::getInstance()->getCompanyLogoUrl();
?><!DOCTYPE html>
<html>
<head>

View File

@@ -15,7 +15,7 @@
<?php if(isset($emailTemplates)){?>
modJsList[prop].setEmailTemplates(<?=json_encode($emailTemplates)?>);
<?php } ?>
modJsList[prop].setUser(<?=json_encode($user)?>);
modJsList[prop].setUser(<?=json_encode(\Classes\BaseService::getInstance()->cleanUpUser($user))?>);
<?php if(isset($_REQUEST['action']) && $_REQUEST['action'] == "new"){?>
if(modJsList[prop].newInitObject == undefined || modJsList[prop].newInitObject == null){
modJsList[prop].initFieldMasterData(null,modJsList[prop].renderForm);

View File

@@ -1,25 +1,4 @@
<?php
/*
This file is part of Ice Framework.
Ice Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Ice Framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
if (!defined('MODULE_NAME')) {
define('MODULE_NAME', $moduleName);
}

View File

@@ -1,5 +1,14 @@
<?php
$migrationList = [];
$migrationList[] = 'v20190707_260006_google_map_api';
$migrationList[] = 'v20190707_260005_attendance_location';
$migrationList[] = 'v20190707_260004_attendance_out_map';
$migrationList[] = 'v20190630_260603_add_dept_leave_to_rule';
$migrationList[] = 'v20190630_260602_add_leave_period_to_rule';
$migrationList[] = 'v20190630_260601_update_module_names';
$migrationList[] = 'v20190510_260004_add_hiring_manager_job';
$migrationList[] = 'v20190509_260004_add_location_filed_to_job';
$migrationList[] = 'v20190508_260004_update_time_zones';
$migrationList[] = 'v20190125_260003_attendance_with_map';
$migrationList[] = 'v20181106_260002_add_arabic_lang';
$migrationList[] = 'v20181025_260001_dept_based_leave_periods';

View File

@@ -13,8 +13,8 @@ create table `AssetTypes` (
`name` varchar(35) NOT NULL,
`description` TEXT NULL,
`attachment` varchar(100) NULL,
`created` DATETIME default '0000-00-00 00:00:00',
`updated` DATETIME default '0000-00-00 00:00:00',
`created` DATETIME default NULL,
`updated` DATETIME default NULL,
primary key (`id`)
) engine=innodb default charset=utf8;
SQL;
@@ -30,8 +30,8 @@ create table `CompanyAssets` (
`employee` bigint(20) NULL,
`department` bigint(20) NULL,
`description` TEXT NULL,
`created` DATETIME default '0000-00-00 00:00:00',
`updated` DATETIME default '0000-00-00 00:00:00',
`created` DATETIME default NULL,
`updated` DATETIME default NULL,
primary key (`id`),
CONSTRAINT `Fk_CompanyAssets_AssetTypes` FOREIGN KEY (`type`) REFERENCES `AssetTypes` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `Fk_CompanyAssets_Employees` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,

View File

@@ -11,8 +11,8 @@ create table `ReviewTemplates` (
`name` varchar(50) not null,
`description` varchar(500) null,
`items` text null,
`created` DATETIME default '0000-00-00 00:00:00',
`updated` DATETIME default '0000-00-00 00:00:00',
`created` DATETIME default NULL,
`updated` DATETIME default NULL,
primary key (`id`)
) engine=innodb default charset=utf8;
SQL;
@@ -28,13 +28,13 @@ create table `PerformanceReviews` (
`attendees` VARCHAR(50) NOT NULL,
`form` bigint(20) NULL,
`status` varchar(20) NOT NULL,
`review_date` DATETIME default '0000-00-00 00:00:00',
`review_period_start` DATETIME default '0000-00-00 00:00:00',
`review_period_end` DATETIME default '0000-00-00 00:00:00',
`self_assessment_due` DATETIME default '0000-00-00 00:00:00',
`review_date` DATETIME default NULL,
`review_period_start` DATETIME default NULL,
`review_period_end` DATETIME default NULL,
`self_assessment_due` DATETIME default NULL,
`notes` TEXT NULL,
`created` DATETIME default '0000-00-00 00:00:00',
`updated` DATETIME default '0000-00-00 00:00:00',
`created` DATETIME default NULL,
`updated` DATETIME default NULL,
primary key (`id`),
CONSTRAINT `Fk_PerformanceReviews_ReviewTemplates` FOREIGN KEY (`form`) REFERENCES ReviewTemplates (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `Fk_PerformanceReviews_Employees1` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
@@ -51,9 +51,9 @@ create table `ReviewFeedbacks` (
`subject` bigint(20) NULL,
`form` bigint(20) NULL,
`status` varchar(20) NOT NULL,
`dueon` DATETIME default '0000-00-00 00:00:00',
`created` DATETIME default '0000-00-00 00:00:00',
`updated` DATETIME default '0000-00-00 00:00:00',
`dueon` DATETIME default NULL,
`created` DATETIME default NULL,
`updated` DATETIME default NULL,
primary key (`id`),
CONSTRAINT `Fk_ReviewFeedbacks_ReviewTemplates` FOREIGN KEY (`form`) REFERENCES ReviewTemplates (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `Fk_ReviewFeedbacks_PerformanceReviews` FOREIGN KEY (`review`) REFERENCES PerformanceReviews (`id`) ON DELETE SET NULL ON UPDATE CASCADE,

View File

@@ -0,0 +1,460 @@
<?php
namespace Classes\Migration;
class v20190508_260004_update_time_zones extends AbstractMigration{
public function up(){
$sql = <<<'SQL'
Alter table Timezones add CONSTRAINT UNIQUE KEY `TimezoneNameKey` (`name`);
SQL;
$this->executeQuery($sql);
$timeZones = [
"Africa/Abidjan",
"Africa/Accra",
"Africa/Addis_Ababa",
"Africa/Algiers",
"Africa/Asmara",
"Africa/Bamako",
"Africa/Bangui",
"Africa/Banjul",
"Africa/Bissau",
"Africa/Blantyre",
"Africa/Brazzaville",
"Africa/Bujumbura",
"Africa/Cairo",
"Africa/Casablanca",
"Africa/Ceuta",
"Africa/Conakry",
"Africa/Dakar",
"Africa/Dar_es_Salaam",
"Africa/Djibouti",
"Africa/Douala",
"Africa/El_Aaiun",
"Africa/Freetown",
"Africa/Gaborone",
"Africa/Harare",
"Africa/Johannesburg",
"Africa/Juba",
"Africa/Kampala",
"Africa/Khartoum",
"Africa/Kigali",
"Africa/Kinshasa",
"Africa/Lagos",
"Africa/Libreville",
"Africa/Lome",
"Africa/Luanda",
"Africa/Lubumbashi",
"Africa/Lusaka",
"Africa/Malabo",
"Africa/Maputo",
"Africa/Maseru",
"Africa/Mbabane",
"Africa/Mogadishu",
"Africa/Monrovia",
"Africa/Nairobi",
"Africa/Ndjamena",
"Africa/Niamey",
"Africa/Nouakchott",
"Africa/Ouagadougou",
"Africa/Porto-Novo",
"Africa/Sao_Tome",
"Africa/Tripoli",
"Africa/Tunis",
"Africa/Windhoek",
"America/Adak",
"America/Anchorage",
"America/Anguilla",
"America/Antigua",
"America/Araguaina",
"America/Argentina/Buenos_Aires",
"America/Argentina/Catamarca",
"America/Argentina/Cordoba",
"America/Argentina/Jujuy",
"America/Argentina/La_Rioja",
"America/Argentina/Mendoza",
"America/Argentina/Rio_Gallegos",
"America/Argentina/Salta",
"America/Argentina/San_Juan",
"America/Argentina/San_Luis",
"America/Argentina/Tucuman",
"America/Argentina/Ushuaia",
"America/Aruba",
"America/Asuncion",
"America/Atikokan",
"America/Bahia",
"America/Bahia_Banderas",
"America/Barbados",
"America/Belem",
"America/Belize",
"America/Blanc-Sablon",
"America/Boa_Vista",
"America/Bogota",
"America/Boise",
"America/Cambridge_Bay",
"America/Campo_Grande",
"America/Cancun",
"America/Caracas",
"America/Cayenne",
"America/Cayman",
"America/Chicago",
"America/Chihuahua",
"America/Costa_Rica",
"America/Creston",
"America/Cuiaba",
"America/Curacao",
"America/Danmarkshavn",
"America/Dawson",
"America/Dawson_Creek",
"America/Denver",
"America/Detroit",
"America/Dominica",
"America/Edmonton",
"America/Eirunepe",
"America/El_Salvador",
"America/Fort_Nelson",
"America/Fortaleza",
"America/Glace_Bay",
"America/Godthab",
"America/Goose_Bay",
"America/Grand_Turk",
"America/Grenada",
"America/Guadeloupe",
"America/Guatemala",
"America/Guayaquil",
"America/Guyana",
"America/Halifax",
"America/Havana",
"America/Hermosillo",
"America/Indiana/Indianapolis",
"America/Indiana/Knox",
"America/Indiana/Marengo",
"America/Indiana/Petersburg",
"America/Indiana/Tell_City",
"America/Indiana/Vevay",
"America/Indiana/Vincennes",
"America/Indiana/Winamac",
"America/Inuvik",
"America/Iqaluit",
"America/Jamaica",
"America/Juneau",
"America/Kentucky/Louisville",
"America/Kentucky/Monticello",
"America/Kralendijk",
"America/La_Paz",
"America/Lima",
"America/Los_Angeles",
"America/Lower_Princes",
"America/Maceio",
"America/Managua",
"America/Manaus",
"America/Marigot",
"America/Martinique",
"America/Matamoros",
"America/Mazatlan",
"America/Menominee",
"America/Merida",
"America/Metlakatla",
"America/Mexico_City",
"America/Miquelon",
"America/Moncton",
"America/Monterrey",
"America/Montevideo",
"America/Montserrat",
"America/Nassau",
"America/New_York",
"America/Nipigon",
"America/Nome",
"America/Noronha",
"America/North_Dakota/Beulah",
"America/North_Dakota/Center",
"America/North_Dakota/New_Salem",
"America/Ojinaga",
"America/Panama",
"America/Pangnirtung",
"America/Paramaribo",
"America/Phoenix",
"America/Port-au-Prince",
"America/Port_of_Spain",
"America/Porto_Velho",
"America/Puerto_Rico",
"America/Punta_Arenas",
"America/Rainy_River",
"America/Rankin_Inlet",
"America/Recife",
"America/Regina",
"America/Resolute",
"America/Rio_Branco",
"America/Santarem",
"America/Santiago",
"America/Santo_Domingo",
"America/Sao_Paulo",
"America/Scoresbysund",
"America/Sitka",
"America/St_Barthelemy",
"America/St_Johns",
"America/St_Kitts",
"America/St_Lucia",
"America/St_Thomas",
"America/St_Vincent",
"America/Swift_Current",
"America/Tegucigalpa",
"America/Thule",
"America/Thunder_Bay",
"America/Tijuana",
"America/Toronto",
"America/Tortola",
"America/Vancouver",
"America/Whitehorse",
"America/Winnipeg",
"America/Yakutat",
"America/Yellowknife",
"Antarctica/Casey",
"Antarctica/Davis",
"Antarctica/DumontDUrville",
"Antarctica/Macquarie",
"Antarctica/Mawson",
"Antarctica/McMurdo",
"Antarctica/Palmer",
"Antarctica/Rothera",
"Antarctica/Syowa",
"Antarctica/Troll",
"Antarctica/Vostok",
"Arctic/Longyearbyen",
"Asia/Aden",
"Asia/Almaty",
"Asia/Amman",
"Asia/Anadyr",
"Asia/Aqtau",
"Asia/Aqtobe",
"Asia/Ashgabat",
"Asia/Atyrau",
"Asia/Baghdad",
"Asia/Bahrain",
"Asia/Baku",
"Asia/Bangkok",
"Asia/Barnaul",
"Asia/Beirut",
"Asia/Bishkek",
"Asia/Brunei",
"Asia/Chita",
"Asia/Choibalsan",
"Asia/Colombo",
"Asia/Damascus",
"Asia/Dhaka",
"Asia/Dili",
"Asia/Dubai",
"Asia/Dushanbe",
"Asia/Famagusta",
"Asia/Gaza",
"Asia/Hebron",
"Asia/Ho_Chi_Minh",
"Asia/Hong_Kong",
"Asia/Hovd",
"Asia/Irkutsk",
"Asia/Jakarta",
"Asia/Jayapura",
"Asia/Jerusalem",
"Asia/Kabul",
"Asia/Kamchatka",
"Asia/Karachi",
"Asia/Kathmandu",
"Asia/Khandyga",
"Asia/Kolkata",
"Asia/Krasnoyarsk",
"Asia/Kuala_Lumpur",
"Asia/Kuching",
"Asia/Kuwait",
"Asia/Macau",
"Asia/Magadan",
"Asia/Makassar",
"Asia/Manila",
"Asia/Muscat",
"Asia/Nicosia",
"Asia/Novokuznetsk",
"Asia/Novosibirsk",
"Asia/Omsk",
"Asia/Oral",
"Asia/Phnom_Penh",
"Asia/Pontianak",
"Asia/Pyongyang",
"Asia/Qatar",
"Asia/Qyzylorda",
"Asia/Riyadh",
"Asia/Sakhalin",
"Asia/Samarkand",
"Asia/Seoul",
"Asia/Shanghai",
"Asia/Singapore",
"Asia/Srednekolymsk",
"Asia/Taipei",
"Asia/Tashkent",
"Asia/Tbilisi",
"Asia/Tehran",
"Asia/Thimphu",
"Asia/Tokyo",
"Asia/Tomsk",
"Asia/Ulaanbaatar",
"Asia/Urumqi",
"Asia/Ust-Nera",
"Asia/Vientiane",
"Asia/Vladivostok",
"Asia/Yakutsk",
"Asia/Yangon",
"Asia/Yekaterinburg",
"Asia/Yerevan",
"Atlantic/Azores",
"Atlantic/Bermuda",
"Atlantic/Canary",
"Atlantic/Cape_Verde",
"Atlantic/Faroe",
"Atlantic/Madeira",
"Atlantic/Reykjavik",
"Atlantic/South_Georgia",
"Atlantic/St_Helena",
"Atlantic/Stanley",
"Australia/Adelaide",
"Australia/Brisbane",
"Australia/Broken_Hill",
"Australia/Currie",
"Australia/Darwin",
"Australia/Eucla",
"Australia/Hobart",
"Australia/Lindeman",
"Australia/Lord_Howe",
"Australia/Melbourne",
"Australia/Perth",
"Australia/Sydney",
"Europe/Amsterdam",
"Europe/Andorra",
"Europe/Astrakhan",
"Europe/Athens",
"Europe/Belgrade",
"Europe/Berlin",
"Europe/Bratislava",
"Europe/Brussels",
"Europe/Bucharest",
"Europe/Budapest",
"Europe/Busingen",
"Europe/Chisinau",
"Europe/Copenhagen",
"Europe/Dublin",
"Europe/Gibraltar",
"Europe/Guernsey",
"Europe/Helsinki",
"Europe/Isle_of_Man",
"Europe/Istanbul",
"Europe/Jersey",
"Europe/Kaliningrad",
"Europe/Kiev",
"Europe/Kirov",
"Europe/Lisbon",
"Europe/Ljubljana",
"Europe/London",
"Europe/Luxembourg",
"Europe/Madrid",
"Europe/Malta",
"Europe/Mariehamn",
"Europe/Minsk",
"Europe/Monaco",
"Europe/Moscow",
"Europe/Oslo",
"Europe/Paris",
"Europe/Podgorica",
"Europe/Prague",
"Europe/Riga",
"Europe/Rome",
"Europe/Samara",
"Europe/San_Marino",
"Europe/Sarajevo",
"Europe/Saratov",
"Europe/Simferopol",
"Europe/Skopje",
"Europe/Sofia",
"Europe/Stockholm",
"Europe/Tallinn",
"Europe/Tirane",
"Europe/Ulyanovsk",
"Europe/Uzhgorod",
"Europe/Vaduz",
"Europe/Vatican",
"Europe/Vienna",
"Europe/Vilnius",
"Europe/Volgograd",
"Europe/Warsaw",
"Europe/Zagreb",
"Europe/Zaporozhye",
"Europe/Zurich",
"Indian/Antananarivo",
"Indian/Chagos",
"Indian/Christmas",
"Indian/Cocos",
"Indian/Comoro",
"Indian/Kerguelen",
"Indian/Mahe",
"Indian/Maldives",
"Indian/Mauritius",
"Indian/Mayotte",
"Indian/Reunion",
"Pacific/Apia",
"Pacific/Auckland",
"Pacific/Bougainville",
"Pacific/Chatham",
"Pacific/Chuuk",
"Pacific/Easter",
"Pacific/Efate",
"Pacific/Enderbury",
"Pacific/Fakaofo",
"Pacific/Fiji",
"Pacific/Funafuti",
"Pacific/Galapagos",
"Pacific/Gambier",
"Pacific/Guadalcanal",
"Pacific/Guam",
"Pacific/Honolulu",
"Pacific/Kiritimati",
"Pacific/Kosrae",
"Pacific/Kwajalein",
"Pacific/Majuro",
"Pacific/Marquesas",
"Pacific/Midway",
"Pacific/Nauru",
"Pacific/Niue",
"Pacific/Norfolk",
"Pacific/Noumea",
"Pacific/Pago_Pago",
"Pacific/Palau",
"Pacific/Pitcairn",
"Pacific/Pohnpei",
"Pacific/Port_Moresby",
"Pacific/Rarotonga",
"Pacific/Saipan",
"Pacific/Tahiti",
"Pacific/Tarawa",
"Pacific/Tongatapu",
"Pacific/Wake",
"Pacific/Wallis",
"UTC"
];
$main = "REPLACE INTO Timezones (`name`, `details`) VALUES ";
$template = "('%s', '%s')";
$data = '';
for ($i = 0; $i < count($timeZones); $i++) {
$data .= sprintf($template, $timeZones[$i], $timeZones[$i]);
if ($i < count($timeZones) - 1) {
$data.= ',';
}
}
$data = $main.$data.';';
$this->executeQuery($data);
$sql = <<<'SQL'
DELETE from Timezones where name = 'Greenland';
SQL;
return $this->executeQuery($sql);
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace Classes\Migration;
class v20190509_260004_add_location_filed_to_job extends AbstractMigration{
public function up(){
$sql = <<<'SQL'
Alter table Job add column `location` varchar(500) NULL;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Job add column `postalCode` varchar(20) NULL;
SQL;
return $this->executeQuery($sql);
}
}

View File

@@ -0,0 +1,91 @@
<?php
namespace Classes\Migration;
use Candidates\Common\Model\Application;
use Candidates\Common\Model\Candidate;
class v20190510_260004_add_hiring_manager_job extends AbstractMigration{
public function up(){
$sql = <<<'SQL'
Alter table Job add column `hiringManager` bigint(20) null;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Job add column `companyName` varchar(100) NULL;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Job add column `showHiringManager` enum('Yes','No') default NULL;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
create table `HiringPipeline` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NULL,
`type` enum('Short Listed','Phone Screen','Assessment','Interview','Offer','Hired','Rejected','Archived') default 'Short Listed',
`notes` text DEFAULT NULL,
primary key (`id`)
) engine=innodb default charset=utf8;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
INSERT INTO HiringPipeline (`name`, `type`) VALUES
('Sourced', 'Short Listed'),
('Applied', 'Short Listed'),
('Phone Screen', 'Phone Screen'),
('Assessment', 'Assessment'),
('First Interview', 'Interview'),
('Second Interview', 'Interview'),
('Final Interview', 'Interview'),
('Offer Sent', 'Offer'),
('Offer Accepted', 'Offer'),
('Offer Rejected', 'Offer'),
('Not Qualified', 'Rejected'),
('Archived', 'Archived'),
('Hired', 'Hired');
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Candidates add column `hiringStage` bigint(20) NULL;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Candidates add column `jobId` bigint(20) NULL;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Candidates add column `source` enum('Sourced','Applied') default 'Sourced';
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Candidates add column `emailSent` int(11) default 0;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Interviews add column `scheduleUpdated` int(11) default 0;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Interviews add column `interviewers` TEXT default NULL;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
CREATE INDEX source_emailSent ON Candidates (source, emailSent);
SQL;
$this->executeQuery($sql);
return true;
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace Classes\Migration;
class v20190630_260601_update_module_names extends AbstractMigration {
public function up(){
$sql = <<<'SQL'
Update Settings set value = '1' where name = 'System: Reset Module Names';
SQL;
return $this->executeQuery($sql);
}
public function down(){
return true;
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Classes\Migration;
class v20190630_260602_add_leave_period_to_rule extends AbstractMigration {
public function up(){
$sql = <<<'SQL'
Alter table LeaveRules add column `leave_period` bigint(20) null;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table LeaveRules ADD CONSTRAINT `Fk_LeaveRules_leave_period` FOREIGN KEY (`leave_period`) REFERENCES `LeavePeriods` (`id`);
SQL;
return $this->executeQuery($sql);
}
public function down(){
return true;
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Classes\Migration;
class v20190630_260603_add_dept_leave_to_rule extends AbstractMigration {
public function up(){
$sql = <<<'SQL'
Alter table LeaveRules add column `department` bigint(20) null;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table LeaveRules ADD CONSTRAINT `Fk_LeaveRules_department` FOREIGN KEY (`department`) REFERENCES `CompanyStructures` (`id`);
SQL;
return $this->executeQuery($sql);
}
public function down(){
return true;
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace Classes\Migration;
class v20190707_260004_attendance_out_map extends AbstractMigration{
public function up(){
$sql = <<<'SQL'
Alter table Attendance add column `map_out_lat` DECIMAL(10, 8) NULL;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Attendance add column `map_out_lng` DECIMAL(10, 8) NULL;
SQL;
return $this->executeQuery($sql);
}
public function down(){
return true;
}
}

View File

@@ -0,0 +1,42 @@
<?php
namespace Classes\Migration;
class v20190707_260005_attendance_location extends AbstractMigration {
public function up(){
$sql = <<<'SQL'
REPLACE INTO `Settings` (`name`, `value`, `description`, `meta`) VALUES
('Attendance: Request Attendance Location on Mobile', '1', 'Push attendance location when marking attendance via mobile app','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]');
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
REPLACE INTO `Settings` (`name`, `value`, `description`, `meta`) VALUES
('System: Google Maps Api Key', '', 'Google Map Api Key','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]');
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Attendance add column `map_out_snapshot` longtext default null;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Attendance add column `in_ip` varchar(25) default null;
SQL;
$this->executeQuery($sql);
$sql = <<<'SQL'
Alter table Attendance add column `out_ip` varchar(25) default null;
SQL;
return $this->executeQuery($sql);
}
public function down(){
return true;
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace Classes\Migration;
class v20190707_260006_google_map_api extends AbstractMigration {
public function up(){
$sql = <<<'SQL'
REPLACE INTO `Settings` (`name`, `value`, `description`, `meta`) VALUES
('System: Google Maps Api Key', '', 'Google Map Api Key','');
SQL;
return $this->executeQuery($sql);
}
public function down(){
return true;
}
}

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'attendance';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label": "Attendance",
"menu": "Time Management",
"order": "2",
"icon": "fa-clock-o",
"icon": "fa-clock",
"user_levels": [
"Admin",
"Manager",
@@ -12,4 +12,4 @@
"permissions": [],
"model_namespace": "\\Attendance\\Common\\Model",
"manager": "\\Attendance\\User\\Api\\AttendanceModulesManager"
}
}

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'dashboard';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -4,7 +4,8 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'emergency_contact';
$moduleName = 'dependents';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label":"Dependents",
"menu":"Personal Information",
"order":"5",
"icon":"fa-sliders",
"icon":"fa-expand",
"user_levels":["Admin","Manager","Employee"],
"permissions":

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'emergency_contact';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'employees';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';
@@ -30,7 +31,7 @@ if (defined('SYM_CLIENT')) {
} else if (defined('REST_API_BASE')){
$restApiBase = REST_API_BASE;
} else {
$restApiBase = CLIENT_BASE_PATH.'api/';
$restApiBase = CLIENT_BASE_URL.'api/';
}
?>
<script type="text/javascript" src="<?=BASE_URL.'js/d3js/d3.js?v='.$jsVersion?>"></script>

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'loans';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label": "Loans",
"menu": "Finance",
"order": "3",
"icon": "fa-shield",
"icon": "fa-money-check",
"user_levels": [
"Admin",
"Manager",
@@ -11,4 +11,4 @@
"permissions": [],
"model_namespace": "\\Loans\\Common\\Model",
"manager": "\\Loans\\User\\Api\\LoansModulesManager"
}
}

View File

@@ -1,13 +1,13 @@
{
"Discussions":"fa-comments",
"Personal Information":"fa-male",
"Leave":"fa-calendar-o",
"Time Management":"fa-clock-o",
"Documents":"fa-files-o",
"Personal Information":"fa-grip-horizontal",
"Leave":"fa-calendar-alt",
"Time Management":"fa-hourglass-half",
"Documents":"fa-file-alt",
"Company":"fa-building",
"Training":"fa-briefcase",
"Performance":"fa-crosshairs",
"Travel Management":"fa-plane",
"Finance":"fa-money",
"User Reports":"fa-file-text"
"Performance":"fa-bezier-curve",
"Travel Management":"fa-globe",
"Finance":"fa-calculator",
"User Reports":"fa-book-reader"
}

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'overtime';
$moduleGroup = 'modules';
$moduleMainName = "EmployeeOvertime"; // for creating module js lib
$subModuleMainName = "SubordinateEmployeeOvertime";
$moduleItemName = "Overtime Request"; // For permissions

View File

@@ -2,7 +2,7 @@
"label": "Overtime Requests",
"menu": "Time Management",
"order": "5",
"icon": "fa-align-center",
"icon": "fa-calendar-plus",
"user_levels": [
"Admin",
"Manager",
@@ -12,4 +12,4 @@
"permissions": [],
"model_namespace": "\\Overtime\\Common\\Model",
"manager": "\\Overtime\\User\\Api\\OvertimeModulesManager"
}
}

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'projects';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -2,7 +2,7 @@
"label": "Projects",
"menu": "Time Management",
"order": "1",
"icon": "fa-pencil-square",
"icon": "fa-project-diagram",
"user_levels": [
"Admin",
"Manager",
@@ -23,4 +23,4 @@
},
"model_namespace": "\\Projects\\Common\\Model",
"manager": "\\Projects\\User\\Api\\ProjectsModulesManager"
}
}

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'qualifications';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -1,24 +1,25 @@
<?php
<?php
$moduleName = 'Reports';
$moduleName = 'reports';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
$additionalJs = array();
include APP_BASE_PATH.'modulejslibs.inc.php';
?>
<div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabUserReport" href="#tabPageUserReport"><?=t('Reports')?></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tabPageUserReport">
<div id="UserReport" class="reviewBlock" data-content="List" style="padding-left:5px;">
</div>
<div id="UserReportForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div>
@@ -40,4 +41,4 @@ modJsList['tabReport'].setShowAddNew(false);
var modJs = modJsList['tabUserReport'];
</script>
<?php include APP_BASE_PATH.'footer.php';?>
<?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -2,7 +2,7 @@
"label": "Reports",
"menu": "User Reports",
"order": "1",
"icon": "fa-file-o",
"icon": "fa-window-maximize",
"user_levels": [
"Admin",
"Manager",
@@ -12,4 +12,4 @@
"permissions": [],
"model_namespace": "\\Reports\\Common\\Model",
"manager": "\\Reports\\User\\Api\\ReportsModulesManager"
}
}

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'salary';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -4,7 +4,8 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'salary';
$moduleName = 'staffdirectory';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';

View File

@@ -4,7 +4,8 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
$moduleName = 'employee_TimeSheet';
$moduleName = 'time_sheets';
$moduleGroup = 'modules';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';
@@ -97,7 +98,7 @@ modJsList['tabSubEmployeeTimeSheetAll'].setNeedStartEndTime(<?=$startEndTimeNeed
modJsList['tabEmployeeTimeEntry'] = new EmployeeTimeEntryAdapter('EmployeeTimeEntry','EmployeeTimeEntry','','');
modJsList['tabEmployeeTimeEntry'].setShowAddNew(false);
modJsList['tabQtsheet'] = new QtsheetAdapter('Qtsheet','Qtsheet');
modJsList['tabQtsheet'] = new QtsheetAdapter('Qtsheet','Qtsheet','','name');
modJsList['tabQtsheet'].setRemoteTable(false);
modJsList['tabQtsheet'].setShowAddNew(false);
modJsList['tabQtsheet'].setModulePath('modules=time_sheets');

View File

@@ -2,7 +2,7 @@
"label":"Time Sheets",
"menu":"Time Management",
"order":"3",
"icon":"fa-check-circle-o",
"icon":"fa-stopwatch",
"user_levels":["Admin","Manager","Employee"],
"dashboardPosition":104,

View File

@@ -5,6 +5,7 @@
*/
$moduleName = 'travel';
$moduleGroup = 'modules';
$moduleMainName = "EmployeeTravelRecord"; // for creating module js lib
$subModuleMainName = "SubordinateEmployeeTravelRecord";
$moduleItemName = "Travel Request"; // For permissions

View File

@@ -10,7 +10,7 @@ if(\Classes\SettingsManager::getInstance()->getSetting('Api: REST Api Enabled')
if (defined('SYM_CLIENT')) {
define('REST_API_PATH', '/'.SYM_CLIENT.'/');
} else {
} else if (!defined('REST_API_PATH')){
define('REST_API_PATH', '/');
}

View File

@@ -1,25 +1,4 @@
<?php
/*
This file is part of Ice Framework.
Ice Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Ice Framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
define('CLIENT_PATH',dirname(__FILE__));
include ("config.base.php");
include ("include.common.php");

View File

@@ -9,9 +9,11 @@ use Classes\IceResponse;
use Classes\LanguageManager;
use Classes\PermissionManager;
use Classes\RestEndPoint;
use Classes\SettingsManager;
use Employees\Common\Model\Employee;
use Users\Common\Model\User;
use Utils\LogManager;
use Utils\NetworkUtils;
class AttendanceRestEndPoint extends RestEndPoint
{
@@ -48,6 +50,19 @@ class AttendanceRestEndPoint extends RestEndPoint
public function listEmployeeAttendance(User $user, $parameter)
{
if ($user->user_level !== 'Admin' && $user->employee != $parameter) {
$employee = new Employee();
$employee->Load('id = ?', [$parameter]);
if ($employee->supervisor != $user->employee) {
return new IceResponse(
IceResponse::ERROR,
self::RESPONSE_ERR_PERMISSION_DENIED,
401
);
}
}
$query = new DataQuery('Attendance');
$query->addColumn('id');
$query->addColumn('employee');
@@ -55,6 +70,8 @@ class AttendanceRestEndPoint extends RestEndPoint
$query->addColumn('out_time');
$query->addColumn('note');
$query->setOrderBy('in_time desc');
$limit = self::DEFAULT_LIMIT;
if (isset($_GET['limit']) && intval($_GET['limit']) > 0) {
$limit = intval($_GET['limit']);
@@ -107,8 +124,8 @@ class AttendanceRestEndPoint extends RestEndPoint
if ($permissionResponse->getStatus() !== IceResponse::SUCCESS) {
return $permissionResponse;
}
$response = BaseService::getInstance()->addElement(self::ELEMENT_NAME, $body);
$body['employee'] = (String)$body['employee'];
$response = BaseService::getInstance()->addElement(self::ELEMENT_NAME, $body, $body);
if ($response->getStatus() === IceResponse::SUCCESS) {
$response = $this->get($user, $response->getData()->id);
$response->setCode(201);
@@ -148,7 +165,7 @@ class AttendanceRestEndPoint extends RestEndPoint
$openPunch = $this->getOpenPunch($user, $body['employee'], $body['in_time']);
if ($openPunch->getStatus() === IceResponse::SUCCESS && !empty($openPunch->getData()['attendnace'])) {
if ($openPunch->getStatus() === IceResponse::SUCCESS && !empty($openPunch->getData()['attendance'])) {
return new IceResponse(IceResponse::ERROR, 'User has already punched in for the day ', 400);
}
@@ -157,7 +174,17 @@ class AttendanceRestEndPoint extends RestEndPoint
return $permissionResponse;
}
$response = BaseService::getInstance()->addElement(self::ELEMENT_NAME, $body);
$response = $this->savePunch(
$body['employee'],
$body['in_time'],
$body['note'],
null,
null,
$body['latitude'],
$body['longitude'],
NetworkUtils::getClientIp()
);
if ($response->getStatus() === IceResponse::SUCCESS) {
$attendance = $this->cleanObject($response->getData());
$response->setData($attendance);
@@ -196,7 +223,10 @@ class AttendanceRestEndPoint extends RestEndPoint
$attendance->in_time,
$body['note'],
$body['out_time'],
$attendance->id
$attendance->id,
$body['latitude'],
$body['longitude'],
NetworkUtils::getClientIp()
);
if ($response->getStatus() === IceResponse::SUCCESS) {
@@ -247,8 +277,16 @@ class AttendanceRestEndPoint extends RestEndPoint
}
}
protected function savePunch($employeeId, $inDateTime, $note = null, $outDateTime = null, $id = null)
{
protected function savePunch(
$employeeId,
$inDateTime,
$note = null,
$outDateTime = null,
$id = null,
$latitude = null,
$longitude = null,
$ip = null
) {
$employee = BaseService::getInstance()->getElement(
'Employee',
$employeeId,
@@ -324,8 +362,16 @@ class AttendanceRestEndPoint extends RestEndPoint
$attendance->in_time = $inDateTime;
if (empty($outDateTime)) {
$attendance->out_time = null;
$attendance->map_lat = $latitude;
$attendance->map_lng = $longitude;
$attendance->map_snapshot = $this->generateMapLocationImage($latitude, $longitude);
$attendance->in_ip = $ip;
} else {
$attendance->out_time = $outDateTime;
$attendance->map_out_lat = $latitude;
$attendance->map_out_lng = $longitude;
$attendance->map_out_snapshot = $this->generateMapLocationImage($latitude, $longitude);
$attendance->out_ip = $ip;
}
$attendance->employee = $employeeId;
@@ -337,4 +383,29 @@ class AttendanceRestEndPoint extends RestEndPoint
}
return new IceResponse(IceResponse::SUCCESS, $attendance);
}
protected function generateMapLocationImage($latitude, $longitude)
{
if (empty(SettingsManager::getInstance()->getSetting('System: Google Maps Api Key'))
|| empty($latitude)
|| empty($longitude)
) {
return null;
}
$location = sprintf('%s,%s', $latitude, $longitude);
$url = "https://maps.googleapis.com/maps/api/staticmap?&zoom=15&size=210x175&maptype=roadmap
&markers=color:blue%7Clabel:S%7C$location&markers=color:green%7Clabel:G%7C$location
&markers=color:red%7Clabel:C%7C$location
&key=".SettingsManager::getInstance()->getSetting('System: Google Maps Api Key');
$data = file_get_contents($url);
if (!empty($data)) {
return'data:image/png;base64,' . base64_encode($data);
}
return null;
}
}

View File

@@ -17,6 +17,7 @@ use Classes\SettingsManager;
use Classes\SubActionManager;
use TimeSheets\Common\Model\EmployeeTimeSheet;
use Utils\LogManager;
use Utils\NetworkUtils;
class AttendanceActionManager extends SubActionManager
{
@@ -132,6 +133,7 @@ class AttendanceActionManager extends SubActionManager
$openPunch->out_time = $dateTime;
$openPunch->note = $req->note;
$openPunch->image_out = $req->image;
$openPunch->out_ip = NetworkUtils::getClientIp();
$this->baseService->audit(IceConstants::AUDIT_ACTION, "Punch Out \ time:".$openPunch->out_time);
} else {
$openPunch->in_time = $dateTime;
@@ -139,6 +141,7 @@ class AttendanceActionManager extends SubActionManager
$openPunch->note = $req->note;
$openPunch->image_in = $req->image;
$openPunch->employee = $employee->id;
$openPunch->in_ip = NetworkUtils::getClientIp();
$this->baseService->audit(IceConstants::AUDIT_ACTION, "Punch In \ time:".$openPunch->in_time);
}
$ok = $openPunch->Save();

View File

@@ -1,25 +1,4 @@
<?php
/*
This file is part of Ice Framework.
Ice Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Ice Framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
namespace Classes;
abstract class AbstractInitialize

View File

@@ -1,27 +1,5 @@
<?php
/*
This file is part of Ice Framework.
Ice Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Ice Framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
/**
* BaseService class serves as the core logic for managing the application and for handling most
* of the tasks related to retriving and saving data. This can be referred within any module using
@@ -74,6 +52,8 @@ class BaseService
public $modelClassMap = array();
public $currentProfileId = false;
protected $pro = null;
private static $me = null;
private function __construct()
@@ -669,7 +649,7 @@ class BaseService
* @return {Object} newly added or updated element of type $table
*/
public function addElement($table, $obj)
public function addElement($table, $obj, $postObject = null)
{
$customFields = array();
@@ -728,7 +708,12 @@ class BaseService
}
}
$this->checkSecureAccess("save", $ele, $table, $_POST);
if ($postObject === null) {
$this->checkSecureAccess("save", $ele, $table, $_POST);
} else {
$this->checkSecureAccess("save", $ele, $table, $postObject);
}
$resp = $ele->validateSave($ele);
if ($resp->getStatus() != IceResponse::SUCCESS) {
@@ -760,12 +745,12 @@ class BaseService
if ($isAdd) {
$this->audit(
IceConstants::AUDIT_ERROR,
"Error occured while adding an object to ".$table." \ Error: ".$error
"Error occurred while adding an object to ".$table." \ Error: ".$error
);
} else {
$this->audit(
IceConstants::AUDIT_ERROR,
"Error occured while editing an object in ".$table." [id:".$ele->id."] \ Error: ".$error
"Error occurred while editing an object in ".$table." [id:".$ele->id."] \ Error: ".$error
);
}
return new IceResponse(IceResponse::ERROR, $this->findError($error));
@@ -1093,6 +1078,42 @@ class BaseService
return $obj;
}
public function cleanUpIgnoreKeys($obj)
{
unset($obj->keysToIgnore);
return $obj;
}
public function cleanUpApprovalModelParameters($obj)
{
unset($obj->notificationModuleName);
unset($obj->notificationUnitName);
unset($obj->notificationUnitPrefix);
unset($obj->notificationUnitAdminUrl);
unset($obj->preApproveSettingName);
return $obj;
}
public function cleanUpAll($obj)
{
$obj = $this->cleanUpAdoDB($obj);
$obj = $this->cleanUpIgnoreKeys($obj);
return $obj;
}
public function cleanUpUser($obj)
{
$obj = $this->cleanUpAdoDB($obj);
unset($obj->password);
unset($obj->login_hash);
unset($obj->googleUserData);
return $obj;
}
public function setDB($db)
{
$this->db = $db;
@@ -1524,6 +1545,26 @@ class BaseService
return call_user_func_array(array(new $class(), $ch->method), $parameters);
}
public function initializePro()
{
$this->pro = null;
if (class_exists('\\Classes\\ProVersion')) {
$pro = new ProVersion();
if (method_exists($pro, 'isModuleEnabled')) {
$this->pro = $pro;
}
}
}
public function isModuleEnabled($type, $name)
{
if ($this->pro === null) {
return true;
}
return $this->pro->isModuleEnabled($type, $name);
}
public function cleanNonUTFChar($obj)
{
$regex = <<<'END'

View File

@@ -175,7 +175,7 @@ class DataQuery
/**
* @return bool
*/
public function isLengthSet(): bool
public function isLengthSet()
{
return $this->isLengthSet;
}

View File

@@ -1,25 +1,4 @@
<?php
/*
This file is part of Ice Framework.
Ice Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Ice Framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
namespace Classes;
use Model\File;

View File

@@ -228,7 +228,7 @@ class MigrationManager
if (count($migrationList) > 0 && (empty($migration->id) || $migrationList[0].".php" != $migration->file)) {
LogManager::getInstance()->info("ensureMigrations - execute migrations");
$this->queueMigrations();
$this->runPendingMigrations();
}
$this->runPendingMigrations();
}
}

View File

@@ -3,6 +3,7 @@ namespace Classes;
use Classes\Data\DataReader;
use Classes\Data\Query\DataQuery;
use Classes\Upload\Uploader;
use Employees\Common\Model\Employee;
use Users\Common\Model\User;
use Utils\SessionUtils;
@@ -50,7 +51,6 @@ class RestEndPoint
} elseif ($user->user_level !== 'Employee' && $user->user_level !== 'Manager') {
return new IceResponse(IceResponse::ERROR, self::RESPONSE_ERR_PERMISSION_DENIED, 403);
}
return new IceResponse(IceResponse::ERROR, "Permission denied", 403);
}
return new IceResponse(IceResponse::SUCCESS);
@@ -328,4 +328,26 @@ class RestEndPoint
$inputJSON = file_get_contents('php://input');
return json_decode($inputJSON, true);
}
protected function getFile()
{
return $_FILES;
}
public function uploadFile(User $user)
{
$fileData = $this->getFile();
$postData = [
'file_name' => '_NEW_',
'user' => $user->employee,
'file_group' => static::ELEMENT_NAME
];
$fileResponse = Uploader::upload($postData, $fileData);
if ($fileResponse->getStatus() === IceResponse::SUCCESS) {
return new IceResponse(IceResponse::SUCCESS, ['data' => $fileResponse->getData()], 201);
}
return $fileResponse;
}
}

View File

@@ -1,25 +1,4 @@
<?php
/*
This file is part of Ice Framework.
Ice Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Ice Framework is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------------------
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/
namespace Classes;
abstract class SubActionManager
@@ -56,16 +35,19 @@ abstract class SubActionManager
$this->emailTemplates = $emailTemplates;
}
public function getEmailTemplate($name)
public function getEmailTemplate($name, $modulePath = null)
{
if ($modulePath == null) {
$modulePath = MODULE_PATH;
}
//Read module email templates
if ($this->emailTemplates == null) {
$this->emailTemplates = array();
if (is_dir(MODULE_PATH.'/emailTemplates/')) {
$ams = scandir(MODULE_PATH.'/emailTemplates/');
if (is_dir($modulePath.'/emailTemplates/')) {
$ams = scandir($modulePath.'/emailTemplates/');
foreach ($ams as $am) {
if (!is_dir(MODULE_PATH.'/emailTemplates/'.$am) && $am != '.' && $am != '..') {
$this->emailTemplates[$am] = file_get_contents(MODULE_PATH.'/emailTemplates/'.$am);
if (!is_dir($modulePath.'/emailTemplates/'.$am) && $am != '.' && $am != '..') {
$this->emailTemplates[$am] = file_get_contents($modulePath.'/emailTemplates/'.$am);
}
}
}

View File

@@ -87,37 +87,43 @@ class UIManager
$this->currentProfileBlock = array(
"profileImage"=>$profileCurrent->image,
"firstName"=>$profileCurrent->first_name,
"lastName"=>$profileCurrent->last_name
"lastName"=>$profileCurrent->last_name,
"profile_url"=>CLIENT_BASE_URL.'?g=admin&n=employees&m=admin_Employees',
);
$this->switchedProfileBlock = array(
"profileImage"=>$profileSwitched->image,
"firstName"=>$profileSwitched->first_name,
"lastName"=>$profileSwitched->last_name
"lastName"=>$profileSwitched->last_name,
"profile_url"=>CLIENT_BASE_URL.'?g=modules&n=employees&m=module_Personal_Information',
);
} elseif (!empty($profileCurrent)) {
$this->currentProfileBlock = array(
"profileImage"=>$profileCurrent->image,
"firstName"=>$profileCurrent->first_name,
"lastName"=>$profileCurrent->last_name
"lastName"=>$profileCurrent->last_name,
"profile_url"=>CLIENT_BASE_URL.'?g=modules&n=employees&m=module_Personal_Information',
);
} elseif (!empty($profileSwitched)) {
$this->currentProfileBlock = array(
"profileImage"=>BASE_URL."images/user_male.png",
"firstName"=>$this->user->username,
"lastName"=>""
"lastName"=>"",
"profile_url"=>CLIENT_BASE_URL.'?g=admin&n=employees&m=admin_Employees',
);
$this->switchedProfileBlock = array(
"profileImage"=>$profileSwitched->image,
"firstName"=>$profileSwitched->first_name,
"lastName"=>$profileSwitched->last_name
"lastName"=>$profileSwitched->last_name,
"profile_url"=>CLIENT_BASE_URL.'?g=modules&n=employees&m=module_Personal_Information',
);
} else {
$this->currentProfileBlock = array(
"profileImage"=>BASE_URL."images/user_male.png",
"firstName"=>$this->user->username,
"lastName"=>""
"lastName"=>"",
"profile_url"=>CLIENT_BASE_URL.'?g=admin&n=employees&m=admin_Employees',
);
}
}

View File

@@ -21,4 +21,45 @@ class Timezone extends BaseModel
{
return array("get","element");
}
public function getTimezonesWithOffset()
{
$tz = new Timezone();
$tzs = $tz->Find("1 = 1");
$modifiedTimeZones = [];
foreach ($tzs as $tz) {
try {
$z = new \DateTimeZone($tz->name);
$c = new \DateTime(null, $z);
$tz->details = sprintf("(%s) %s", $this->formatOffset($z->getOffset($c)), $tz->name);
$modifiedTimeZones[] = $tz;
} catch (\Exception $e) {
}
}
usort($modifiedTimeZones, function ($a, $b) {
return strcmp($a->details, $b->details);
});
return $modifiedTimeZones;
}
public function formatOffset($offset)
{
$hours = $offset / 3600;
$remainder = $offset % 3600;
$sign = $hours > 0 ? '+' : '-';
$hour = (int) abs($hours);
$minutes = (int) abs($remainder / 60);
if ($hour == 0 and $minutes == 0) {
$sign = ' ';
}
return 'GMT' . $sign . str_pad($hour, 2, '0', STR_PAD_LEFT)
.':'. str_pad($minutes, 2, '0');
}
public function fieldValueMethods()
{
return ['getTimezonesWithOffset'];
}
}

View File

@@ -35,7 +35,16 @@ abstract class AbstractDataImporter implements DataImporter
public function processHeader($data)
{
$columns = $this->dataImport->columns;
$headers = json_decode($columns);
$headers = json_decode($columns);
while(sizeof($headers)!=sizeof($data)){
$name = $data[sizeof($headers)];
$test = (object)["name" => $name, "title" => "", "type" => "Normal", "dependOn" => "NULL", "dependOnField" => "", "isKeyField" => "No", "idField" => "No", "id" => "columns_36"];
array_push($headers, $test);
}
LogManager::getInstance()->info("test --------------");
$counter = 0;
foreach ($headers as $column) {
@@ -69,6 +78,7 @@ abstract class AbstractDataImporter implements DataImporter
{
$this->dataImport = new DataImport();
$this->dataImport->Load("id =?", array($dataImportId));
}
public function updateCustomFields()

View File

@@ -9,6 +9,7 @@
namespace Metadata\Admin\Api;
use Classes\AbstractModuleManager;
use Metadata\Rest\MetadataRestEndPoint;
class MetadataAdminManager extends AbstractModuleManager
{
@@ -37,4 +38,22 @@ class MetadataAdminManager extends AbstractModuleManager
$this->addModelClass('SupportedLanguage');
$this->addModelClass('CustomFieldValue');
}
public function setupRestEndPoints()
{
\Classes\Macaw::get(REST_API_PATH.'meta/currency', function () {
$restEndPoint = new MetadataRestEndPoint();
$restEndPoint->process('getCurrency', []);
});
\Classes\Macaw::get(REST_API_PATH.'meta/countries', function () {
$restEndPoint = new MetadataRestEndPoint();
$restEndPoint->process('getCountries', []);
});
\Classes\Macaw::get(REST_API_PATH.'meta/mobile-modules', function () {
$restEndPoint = new MetadataRestEndPoint();
$restEndPoint->process('getMobileModules', []);
});
}
}

View File

@@ -0,0 +1,52 @@
<?php
namespace Metadata\Rest;
use Classes\BaseService;
use Classes\Data\Query\DataQuery;
use Classes\IceResponse;
use Classes\RestEndPoint;
use Modules\Common\Model\Module;
use Users\Common\Model\User;
class MetadataRestEndPoint extends RestEndPoint
{
public function getCurrency(User $user)
{
$query = new DataQuery('CurrencyType');
$query->setLength(500);
return $this->listByQuery($query);
}
public function getCountries(User $user)
{
$query = new DataQuery('Country');
$query->setLength(500);
return $this->listByQuery($query);
}
public function getMobileModules(User $user)
{
$mobileModules = [
'leaves' => false,
'attendance' => false,
'staffdirectory' => false,
'expenses' => false,
];
foreach ($mobileModules as $key => $value) {
$mobileModules[$key] = $this->isUserModuleEnabled($key);
}
return new IceResponse(IceResponse::SUCCESS, ['data' => $mobileModules]);
}
private function isUserModuleEnabled($name)
{
$module = new Module();
$modules = $module->Find('name = ? and mod_group = ? and status = ?', [$name, 'user', 'Enabled']);
BaseService::getInstance()->initializePro();
return count($modules) > 0 && BaseService::getInstance()->isModuleEnabled('modules', $name);
}
}

View File

@@ -8,6 +8,18 @@
namespace Model;
/**
* Class Cron
* @package Model
*
* @property int $id
* @property string $name
* @property string $class
* @property int $frequency
* @property int $time
* @property string $type
* @property string $status
*/
class Cron extends BaseModel
{
public $table = 'Crons';

View File

@@ -9,6 +9,7 @@
namespace Model;
use Classes\BaseService;
use Classes\IceResponse;
use Classes\RestApiManager;
use Users\Common\Model\User;
@@ -41,10 +42,10 @@ class Setting extends BaseModel
return $obj;
}
public function executePostSaveActions($obj)
public function validateSave($obj)
{
if (!defined('WEB_ADMIN_BASE_URL')) {
return;
return new IceResponse(IceResponse::SUCCESS, "");
}
if ($obj->name == 'Company: Country') {
@@ -57,12 +58,42 @@ class Setting extends BaseModel
$updateInvUrl = WEB_ADMIN_BASE_URL.'/app/update_instance.php?client='
.CLIENT_NAME.'&vatId='.$obj->value.'&key='.ADMIN_SEC_KEY;
$response = file_get_contents($updateInvUrl);
$response = json_decode($response, true);
if ($response['status'] === IceResponse::ERROR) {
return new IceResponse(IceResponse::ERROR, $response['data']);
}
}
return new IceResponse(IceResponse::SUCCESS, "");
}
public function executePreSaveActions($obj)
{
if ($obj->name == 'Leave: Select Leave Period from Employee Department Country') {
$oldSetting = new Setting();
$oldSetting->Load('name = ?', ['Leave: Select Leave Period from Employee Department Country']);
if (class_exists('\Leaves\Common\Model\EmployeeLeave')) {
$employeeLeave = new \Leaves\Common\Model\EmployeeLeave();
$employeeLeaves = $employeeLeave->Find("1 = 1 limit 1", []);
if (count($employeeLeaves) === 1) {
$obj->value = $oldSetting->value;
}
}
}
return new IceResponse(IceResponse::SUCCESS, $obj);
}
public function executePreUpdateActions($obj)
{
return $this->executePreSaveActions($obj);
}
public function executePostSaveActions($obj)
{
}
public function executePostUpdateActions($obj)
{
$this->executePostSaveActions($obj);
}
public $table = 'Settings';

View File

@@ -82,4 +82,9 @@ class Project extends BaseModel
return $employeeProjects;
}
public function fieldValueMethods()
{
return ['getEmployeeProjects'];
}
}

View File

@@ -9,6 +9,7 @@
namespace Settings\Admin\Api;
use Classes\AbstractModuleManager;
use Settings\Rest\SettingsRestEndPoint;
class SettingsAdminManager extends AbstractModuleManager
{
@@ -35,4 +36,12 @@ class SettingsAdminManager extends AbstractModuleManager
{
return new SettingsInitialize();
}
public function setupRestEndPoints()
{
\Classes\Macaw::get(REST_API_PATH.'settings', function () {
$restEndPoint = new SettingsRestEndPoint();
$restEndPoint->process('getMobileSettings', []);
});
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace Settings\Rest;
use Classes\IceResponse;
use Classes\RestEndPoint;
use Classes\SettingsManager;
use Classes\UIManager;
class SettingsRestEndPoint extends RestEndPoint
{
public function getMobileSettings()
{
$sm = SettingsManager::getInstance();
$data = [
'Company: Logo' => UIManager::getInstance()->getCompanyLogoUrl(),
'Company: Name' => $sm->getSetting('Company: Name'),
'Attendance: Request Attendance Location on Mobile' =>
$sm->getSetting('Attendance: Request Attendance Location on Mobile'),
];
return new IceResponse(IceResponse::SUCCESS, ['data' => $data]);
}
}

View File

@@ -301,10 +301,10 @@ class TimeSheetsActionManager extends SubActionManager
$project = new $rowTable();
if (SettingsManager::getInstance()->getSetting("Projects: Make All Projects Available to Employees") == "1") {
$projectList = $project->Find("1 = 1");
$projectList = $project->Find("1 = 1 order by name");
} else {
$projectList = $project->Find(
"id in (select project from EmployeeProjects where employee = ?)",
"id in (select project from EmployeeProjects where employee = ?) order by name",
array(BaseService::getInstance()->getCurrentProfileId())
);
}

View File

@@ -47,7 +47,7 @@ class UsersEmailSender
} else {
LogManager::getInstance()->info("[sendWelcomeUserEmail] email is empty");
}
return false;
}
}

View File

@@ -8,7 +8,6 @@ namespace Users\Common\Model;
use Classes\BaseService;
use Model\BaseModel;
use Classes\IceResponse;
use Modules\Common\Model\Module;
class User extends BaseModel
{
@@ -57,23 +56,6 @@ class User extends BaseModel
}
}
//Check if the user have rights to the default module
if (!empty($obj->default_module)) {
$module = new Module();
$module->Load("id = ?", array($obj->default_module));
if ($module->mod_group == "user") {
$module->mod_group = "modules";
}
$moduleManager = BaseService::getInstance()->getModuleManager($module->mod_group, $module->name);
if (!BaseService::getInstance()->isModuleAllowedForGivenUser($moduleManager, $obj)) {
return new IceResponse(
IceResponse::ERROR,
"This module can not be set as the default module for
the user since the user do not have access to this module"
);
}
}
return new IceResponse(IceResponse::SUCCESS, "");
}

View File

@@ -65,11 +65,28 @@ class CalendarTools
return $time->format($format);
}
public static function getNumberOfDaysBetweenDates($first, $second)
public static function getNumberOfDaysBetweenDates($later, $earlier)
{
$timeFirst = new \DateTime($first);
$timeSecond = new \DateTime($second);
$timeFirst = new \DateTime($later);
$timeSecond = new \DateTime($earlier);
$interval = $timeSecond->diff($timeFirst);
return intval($interval->format('%a'));
return intval($interval->format('%a')) + 1;
}
public static function getNumberOfMonthsBetweenDates($date1, $date2)
{
$begin = new \DateTime($date1);
$end = new \DateTime($date2);
$end = $end->modify('+1 day');
$interval = \DateInterval::createFromDateString('1 month');
$period = new \DatePeriod($begin, $interval, $end);
$counter = 0;
foreach ($period as $dt) {
$counter++;
}
return $counter;
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace Utils;
class NetworkUtils
{
public static function getClientIp()
{
$ipaddress = '';
if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED'])) {
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
} elseif (isset($_SERVER['HTTP_FORWARDED_FOR'])) {
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_FORWARDED'])) {
$ipaddress = $_SERVER['HTTP_FORWARDED'];
} elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ipaddress = $_SERVER['REMOTE_ADDR'];
} else {
$ipaddress = 'UNKNOWN';
}
return $ipaddress;
}
}

View File

@@ -1,10 +1,10 @@
<div class="user-panel">
<div class="pull-left image">
<img src="#_profileImage_#" class="img-circle" alt="User Image" />
<img src="#_profileImage_#" class="img-circle" alt="User Image" onclick="location.href='#_profile_url_#'" style="cursor: pointer;"/>
</div>
<div class="pull-left info">
<p>#_firstName_# #_lastName_#</p>
<p><a href="#_profile_url_#">#_firstName_# #_lastName_#</a></p>
<a href="#"><i class="fa fa-circle text-success"></i> <t>Logged In</t></a>
<a href="#_profile_url_#"><i class="fa fa-circle text-success"></i> <t>Logged In</t></a>
</div>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More