Initial checkin v13.0
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/.settings
|
||||
/.buildpath
|
||||
/.project
|
||||
/.idea
|
||||
157
CHANGELOG.txt
Normal file
157
CHANGELOG.txt
Normal file
@@ -0,0 +1,157 @@
|
||||
Release note v9.1
|
||||
-----------------
|
||||
### Fixes
|
||||
*Add missing S3FileSystem class
|
||||
|
||||
Release note v9.0
|
||||
-----------------
|
||||
### Features
|
||||
*New user interface
|
||||
*Decimal leave counts supported
|
||||
|
||||
|
||||
Release note v8.4
|
||||
-----------------
|
||||
### Fixes
|
||||
* Fix leave carry forward rounding issues
|
||||
* Fix issue: select2 default value not getting set for select2
|
||||
* Fix issue: email not sent when admin changing leave status
|
||||
|
||||
Release note v8.3
|
||||
-----------------
|
||||
### Fixes
|
||||
* Fix user table issue on windows, this will resolve errors such as: (Note that this fix has no effect on unix based installations)
|
||||
* Admin not able to view user uploaded documents
|
||||
* Admin not able to upload documants for users
|
||||
* Admin can not view employee attendance records
|
||||
* Employee projects can not be added
|
||||
|
||||
|
||||
Release note v8.2
|
||||
-----------------
|
||||
### Features
|
||||
*Instance verification added
|
||||
|
||||
Release note v8.1
|
||||
-----------------
|
||||
### Fixes
|
||||
*Fixed bug that caused a fatal error in php v5.4
|
||||
*aws2.7.11 phar file replaced by a aws2.7.11 extracted files
|
||||
*old aws sdk removed
|
||||
|
||||
Release note v8.0
|
||||
-----------------
|
||||
### Features
|
||||
*Admin dashbord module
|
||||
*If the employee joined in current leave period, his leave entitlement is calculated proportional to joined date
|
||||
*Improvements to reporting module
|
||||
*Adding new employee time tracking report
|
||||
*Join date for employees made mandatory
|
||||
*Sending welcome email when a user is added
|
||||
*Let users directly reply to admin user from any email sent out from icehrm
|
||||
*All the users who are not admins must have an employee object attached
|
||||
*Upgrade aws sdk to v2.7.11
|
||||
*Allow employees to change password
|
||||
*Use only the email address defined under user for sending mails
|
||||
*Making work_email and private_email fields optional
|
||||
|
||||
|
||||
### Fixes
|
||||
*Upload dialog close button issue fixed
|
||||
|
||||
|
||||
Release note v7.2
|
||||
-----------------
|
||||
*Fixes
|
||||
*Some critical vulnerabilities are fixed as recommend by http://zeroscience.mk/en/
|
||||
|
||||
Release note v7.1
|
||||
-----------------
|
||||
*Features
|
||||
*Improved company structure graph
|
||||
*Leave notes implementation – Supervisor can add a note when approving or rejecting leaves
|
||||
*Filtering support
|
||||
*Select boxes with long lists are now searchable
|
||||
*Add/Edit/Delete company structure permissions added for managers
|
||||
*Add ability to disable employee information editing
|
||||
|
||||
*Fixes
|
||||
*Make loans editable only by admin
|
||||
*Fix: permissions not getting applied to employee documents
|
||||
*Fix error adding employee documents when no user assigned to the admin
|
||||
|
||||
*Code Quality
|
||||
*Moving all module related code and data into module folders
|
||||
|
||||
Release note v6.0
|
||||
-----------------
|
||||
* Features
|
||||
* Notifications for leaves and timesheets
|
||||
* Leave module accrue and leave carry forward
|
||||
* Employee leave entitlement sub module
|
||||
* Ability to put system on debug mode
|
||||
* Allow admins to see documents of all the employees at one place
|
||||
* Backup data when deleting an employee
|
||||
* Employee attendance report added
|
||||
* Changes to time entry form in timesheet module to make time entry process faster
|
||||
* Admin can make all projects available to employees or just the set of prjects assigned to them using Setting "Projects: Make All Projects Available to Employees"
|
||||
* Employee document, date added field can not be changed by the employee anymore
|
||||
* About dialog added for admins
|
||||
|
||||
* Fixes
|
||||
* Fix default employee delete issue (when the default employee is deleted the admin user attached to it also get deleted)
|
||||
* Fix user duplicate email issue
|
||||
* Fix manager can not logout from switched employee
|
||||
* Remove admin guide from non admin users
|
||||
|
||||
Release note v5.3
|
||||
-----------------
|
||||
* Fixes
|
||||
* Fix missing employee name in employee details report
|
||||
|
||||
Release note v5.2
|
||||
-----------------
|
||||
* Fixes
|
||||
* Remove unwanted error logs
|
||||
* Fix attendance module employee permission issue
|
||||
* Resolve warnings
|
||||
* Remove add new button from subordinates module
|
||||
* Adding administrators' guide
|
||||
|
||||
Release note v5.1
|
||||
-----------------
|
||||
* Fixes
|
||||
* Fixing for non updating null fields
|
||||
* https://bitbucket.org/thilina/icehrm-opensource/commits/df57308b53484a2e43ef5c72967ed1cd0dc756cc
|
||||
|
||||
Release note v5.0
|
||||
-----------------
|
||||
* Features
|
||||
* New user permission implementation
|
||||
* Adding new user level - Manager
|
||||
|
||||
* Fixes
|
||||
* Fixing remote table loading issue
|
||||
|
||||
Release note v4.2
|
||||
-----------------
|
||||
* Fixes
|
||||
* https://bitbucket.org/thilina/icehrm-opensource/issue/23/subordinate-leaves-pagination-not-working
|
||||
* https://bitbucket.org/thilina/icehrm-opensource/issue/20/error-occured-while-time-punch
|
||||
|
||||
|
||||
Release note v4.1
|
||||
-----------------
|
||||
* Features
|
||||
* Better email format for notifications
|
||||
* Convert upload dialog to a bootstrp model
|
||||
|
||||
* Fixes
|
||||
* Fix error sending emails with amazon SES
|
||||
* Fix errors related to XAMPP and WAMPP servers
|
||||
* Fix php warnings and notifications
|
||||
* Fix company structure graph issues
|
||||
* Allow icehrm client to work without an internet connection
|
||||
* Fix installer incorrect base url issue
|
||||
* Fix empty user creation issue
|
||||
|
||||
275
build.xml
Normal file
275
build.xml
Normal file
@@ -0,0 +1,275 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="icehrm-opensource" default="build">
|
||||
<!-- By default, we assume all tools to be on the $PATH -->
|
||||
<property name="toolsdir" value=""/>
|
||||
<property name="destination" value="${basedir}/build/app"/>
|
||||
<property name="origin" value="${basedir}/src"/>
|
||||
<property environment="env"/>
|
||||
<property name="env.appname" value="icehrm"/>
|
||||
<property name="env.Version" value="dev"/>
|
||||
<property name="installpath" value="/var/www/apps.gamonoid.com/icehrm-open-core"/>
|
||||
|
||||
|
||||
<target name="build"
|
||||
depends="prepare,lint,phpunit,copyapp,release,install"
|
||||
description=""/>
|
||||
|
||||
<target name="buildlocal"
|
||||
depends="prepare,copyapp"
|
||||
description=""/>
|
||||
|
||||
<target name="clean"
|
||||
unless="clean.done"
|
||||
description="Cleanup build artifacts">
|
||||
<delete dir="${basedir}/build/api"/>
|
||||
<delete dir="${basedir}/build/coverage"/>
|
||||
<delete dir="${basedir}/build/logs"/>
|
||||
<delete dir="${basedir}/build/pdepend"/>
|
||||
<delete dir="${basedir}/build/phpdox"/>
|
||||
<delete dir="${basedir}/build/test"/>
|
||||
<delete dir="${basedir}/build/app"/>
|
||||
<delete dir="${basedir}/build/release"/>
|
||||
<property name="clean.done" value="true"/>
|
||||
</target>
|
||||
|
||||
<target name="prepare"
|
||||
unless="prepare.done"
|
||||
depends="clean"
|
||||
description="Prepare for build">
|
||||
<mkdir dir="${basedir}/build/api"/>
|
||||
<mkdir dir="${basedir}/build/coverage"/>
|
||||
<mkdir dir="${basedir}/build/logs"/>
|
||||
<mkdir dir="${basedir}/build/pdepend"/>
|
||||
<mkdir dir="${basedir}/build/phpdox"/>
|
||||
<mkdir dir="${basedir}/build/test"/>
|
||||
<mkdir dir="${basedir}/build/app"/>
|
||||
<mkdir dir="${basedir}/build/release/data"/>
|
||||
<mkdir dir="${basedir}/build/release/data/${env.appname}_${env.Version}"/>
|
||||
<mkdir dir="${basedir}/src/lib"/>
|
||||
|
||||
<copy todir="${basedir}/src/lib" overwrite="true">
|
||||
<fileset dir="${basedir}/lib">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${basedir}/src" overwrite="true">
|
||||
<fileset dir="${basedir}/core-ext">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${basedir}/src">
|
||||
<fileset dir="${basedir}/ext">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${basedir}/src">
|
||||
<fileset dir="${basedir}/tp">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<property name="prepare.done" value="true"/>
|
||||
</target>
|
||||
|
||||
<target name="lint" description="Perform syntax check of sourcecode files">
|
||||
<apply executable="php" failonerror="true">
|
||||
<arg value="-l" />
|
||||
|
||||
<fileset dir="${basedir}/src">
|
||||
<include name="**/*.php" />
|
||||
<modified />
|
||||
</fileset>
|
||||
|
||||
<fileset dir="${basedir}/test">
|
||||
<include name="**/*.php" />
|
||||
<modified />
|
||||
</fileset>
|
||||
</apply>
|
||||
</target>
|
||||
|
||||
<target name="phploc"
|
||||
description="Measure project size using PHPLOC and print human readable output. Intended for usage on the command line.">
|
||||
<exec executable="${toolsdir}phploc">
|
||||
<arg value="--count-tests" />
|
||||
<arg path="${basedir}/src" />
|
||||
<arg path="${basedir}/tests" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phploc-ci"
|
||||
depends="prepare"
|
||||
description="Measure project size using PHPLOC and log result in CSV and XML format. Intended for usage within a continuous integration environment.">
|
||||
<exec executable="${toolsdir}phploc">
|
||||
<arg value="--count-tests" />
|
||||
<arg value="--log-csv" />
|
||||
<arg path="${basedir}/build/logs/phploc.csv" />
|
||||
<arg value="--log-xml" />
|
||||
<arg path="${basedir}/build/logs/phploc.xml" />
|
||||
<arg path="${basedir}/src" />
|
||||
<arg path="${basedir}/tests" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="pdepend"
|
||||
depends="prepare"
|
||||
description="Calculate software metrics using PHP_Depend and log result in XML format. Intended for usage within a continuous integration environment.">
|
||||
<exec executable="${toolsdir}pdepend">
|
||||
<arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
|
||||
<arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
|
||||
<arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
|
||||
<arg path="${basedir}/src" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpmd"
|
||||
description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
|
||||
<exec executable="${toolsdir}phpmd">
|
||||
<arg path="${basedir}/src" />
|
||||
<arg value="text" />
|
||||
<arg path="${basedir}/build/phpmd.xml" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpmd-ci"
|
||||
depends="prepare"
|
||||
description="Perform project mess detection using PHPMD and log result in XML format. Intended for usage within a continuous integration environment.">
|
||||
<exec executable="${toolsdir}phpmd">
|
||||
<arg path="${basedir}/src" />
|
||||
<arg value="xml" />
|
||||
<arg path="${basedir}/build/phpmd.xml" />
|
||||
<arg value="--reportfile" />
|
||||
<arg path="${basedir}/build/logs/pmd.xml" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpcs"
|
||||
description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
|
||||
<exec executable="${toolsdir}phpcs">
|
||||
<arg value="--standard=PSR2" />
|
||||
<arg value="--extensions=php" />
|
||||
<arg value="--ignore=autoload.php" />
|
||||
<arg path="${basedir}/src" />
|
||||
<arg path="${basedir}/tests" />
|
||||
</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">
|
||||
<arg value="--report=checkstyle" />
|
||||
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
|
||||
<arg value="--standard=PSR2" />
|
||||
<arg value="--extensions=php" />
|
||||
<arg value="--ignore=autoload.php" />
|
||||
<arg path="${basedir}/src" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpcpd"
|
||||
description="Find duplicate code using PHPCPD and print human readable output. Intended for usage on the command line before committing.">
|
||||
<exec executable="${toolsdir}phpcpd">
|
||||
<arg path="${basedir}/src" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpcpd-ci"
|
||||
depends="prepare"
|
||||
description="Find duplicate code using PHPCPD and log result in XML format. Intended for usage within a continuous integration environment.">
|
||||
<exec executable="${toolsdir}phpcpd">
|
||||
<arg value="--log-pmd" />
|
||||
<arg path="${basedir}/build/logs/pmd-cpd.xml" />
|
||||
<arg path="${basedir}/src" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpunit"
|
||||
depends="prepare"
|
||||
description="Run unit tests with PHPUnit">
|
||||
<exec executable="${toolsdir}phpunit" failonerror="true">
|
||||
<arg value="--configuration"/>
|
||||
<arg path="${basedir}/phpunit.xml"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpdox"
|
||||
depends=""
|
||||
description="Generate project documentation using phpDox">
|
||||
<exec executable="${toolsdir}phpdox"/>
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="copyapp"
|
||||
depends=""
|
||||
description="Copy generated files to QA app">
|
||||
|
||||
<delete includeemptydirs="true">
|
||||
<fileset dir="${destination}">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<copy todir="${destination}">
|
||||
<fileset dir="${origin}">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
</target>
|
||||
|
||||
<target name="install"
|
||||
depends="copyapp"
|
||||
description="">
|
||||
|
||||
<delete includeemptydirs="true" failonerror="false">
|
||||
<fileset dir="${installpath}">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<mkdir dir="${installpath}"/>
|
||||
|
||||
<copy todir="${installpath}">
|
||||
<fileset dir="${origin}">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<delete includeemptydirs="true" failonerror="false">
|
||||
<fileset dir="${installpath}/app">
|
||||
<include name="**/*"/>
|
||||
</fileset>
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
<target name="release"
|
||||
depends="copyapp"
|
||||
description="Create a release">
|
||||
|
||||
<copy todir="${basedir}/build/release/data/${env.appname}_${env.Version}">
|
||||
<fileset dir="${destination}">
|
||||
<include name="**/*"/>
|
||||
<exclude name="test/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<zip destfile="${basedir}/build/release/${env.appname}_${env.Version}.zip"
|
||||
basedir="${basedir}/build/release/data"
|
||||
/>
|
||||
|
||||
<tar destfile="${basedir}/build/release/${env.appname}_${env.Version}.tar"
|
||||
basedir="${basedir}/build/release/data"
|
||||
/>
|
||||
|
||||
<gzip destfile="${basedir}/build/release/${env.appname}_${env.Version}.tar.gz" src="${basedir}/build/release/${env.appname}_${env.Version}.tar"/>
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
</project>
|
||||
|
||||
18
core-ext/app/config.sample.php
Normal file
18
core-ext/app/config.sample.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
ini_set('error_log', '_LOG_');
|
||||
|
||||
define('CLIENT_NAME', '_CLIENT_');
|
||||
define('APP_BASE_PATH', '_APP_BASE_PATH_');
|
||||
define('CLIENT_BASE_PATH', '_CLIENT_BASE_PATH_');
|
||||
define('BASE_URL','_BASE_URL_');
|
||||
define('CLIENT_BASE_URL','_CLIENTBASE_URL_');
|
||||
|
||||
define('APP_DB', '_APP_DB_');
|
||||
define('APP_USERNAME', '_APP_USERNAME_');
|
||||
define('APP_PASSWORD', '_APP_PASSWORD_');
|
||||
define('APP_HOST', '_APP_HOST_');
|
||||
define('APP_CON_STR', 'mysql://'.APP_USERNAME.':'.APP_PASSWORD.'@'.APP_HOST.'/'.APP_DB);
|
||||
|
||||
//file upload
|
||||
define('FILE_TYPES', 'jpg,png,jpeg');
|
||||
define('MAX_FILE_SIZE_KB', 10 * 1024);
|
||||
1
core-ext/app/data/sample.txt
Normal file
1
core-ext/app/data/sample.txt
Normal file
@@ -0,0 +1 @@
|
||||
icehrm
|
||||
8
core-ext/app/install/config.php
Normal file
8
core-ext/app/install/config.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
error_reporting(E_ERROR);
|
||||
ini_set("error_log", "/tmp/icehrm_install.log");
|
||||
define('CURRENT_PATH',dirname(__FILE__));
|
||||
define('CLIENT_APP_PATH',realpath(dirname(__FILE__)."/..")."/");
|
||||
define('APP_PATH',realpath(dirname(__FILE__)."/../..")."/");
|
||||
define('APP_NAME',"ICE Hrm");
|
||||
define('APP_ID',"icehrm");
|
||||
130
core-ext/classes/NotificationManager.php
Normal file
130
core-ext/classes/NotificationManager.php
Normal file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
class NotificationManager{
|
||||
|
||||
var $baseService;
|
||||
|
||||
public function setBaseService($baseService){
|
||||
$this->baseService = $baseService;
|
||||
}
|
||||
|
||||
public function addNotification($toEmployee, $message, $action, $type, $toUserId = null, $fromSystem = false){
|
||||
|
||||
$userEmp = new User();
|
||||
|
||||
if(!empty($toEmployee)){
|
||||
$userEmp->load("employee = ?",array($toEmployee));
|
||||
|
||||
if(!empty($userEmp->employee) && $userEmp->employee == $toEmployee){
|
||||
$toUser = $userEmp->id;
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
}else if(!empty($toUserId)){
|
||||
$toUser = $toUserId;
|
||||
}
|
||||
|
||||
|
||||
$noti = new Notification();
|
||||
if($fromSystem){
|
||||
$noti->fromUser = 0;
|
||||
$noti->fromEmployee = 0;
|
||||
$noti->image = BASE_URL."images/icehrm.png";
|
||||
}else{
|
||||
$user = $this->baseService->getCurrentUser();
|
||||
$noti->fromUser = $user->id;
|
||||
$noti->fromEmployee = $user->employee;
|
||||
}
|
||||
|
||||
$noti->toUser = $toUser;
|
||||
$noti->message = $message;
|
||||
|
||||
if(!empty($noti->fromEmployee) && $noti->fromEmployee != 0){
|
||||
$employee = $this->baseService->getElement('Employee',$noti->fromEmployee,null,true);
|
||||
if(!empty($employee)){
|
||||
$employee = FileService::getInstance()->updateProfileImage($employee);
|
||||
$noti->image = $employee->image;
|
||||
}
|
||||
}
|
||||
|
||||
if(empty($noti->image)){
|
||||
if($employee->gender == 'Male'){
|
||||
$noti->image = BASE_URL."images/user_male.png";
|
||||
}else{
|
||||
$noti->image = BASE_URL."images/user_female.png";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$noti->action = $action;
|
||||
$noti->type = $type;
|
||||
$noti->time = date('Y-m-d H:i:s');
|
||||
$noti->status = 'Unread';
|
||||
|
||||
$ok = $noti->Save();
|
||||
if(!$ok){
|
||||
error_log("Error adding notification: ".$noti->ErrorMsg());
|
||||
}
|
||||
}
|
||||
|
||||
public function clearNotifications($userId){
|
||||
$notification = new Notification();
|
||||
|
||||
$listUnread = $notification->Find("toUser = ? and status = ?",array($userId,'Unread'));
|
||||
|
||||
foreach($listUnread as $not){
|
||||
$not->status = "Read";
|
||||
$not->Save();
|
||||
}
|
||||
}
|
||||
|
||||
public function getNotificationByTypeAndDate($type, $date){
|
||||
$noti = new Notification();
|
||||
$noti->Load("date(time) = ? and type = ?",array($date,$type));
|
||||
if(!empty($noti->id) && $noti->type = $type){
|
||||
return $noti;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getLatestNotificationsAndCounts($userId){
|
||||
$notification = new Notification();
|
||||
|
||||
$listUnread = $notification->Find("toUser = ? and status = ?",array($userId,'Unread'));
|
||||
$unreadCount = count($listUnread);
|
||||
|
||||
$limit = ($unreadCount < 10)?10:$unreadCount;
|
||||
|
||||
$list = $notification->Find("toUser = ? order by time desc limit ?",array($userId,$limit));
|
||||
|
||||
$newList = array();
|
||||
$fs = FileService::getInstance();
|
||||
|
||||
foreach($list as $noti){
|
||||
if($noti->fromEmployee > 0){
|
||||
$employee = $this->baseService->getElement('Employee',$noti->fromEmployee,null,true);
|
||||
if(!empty($employee)){
|
||||
$employee = $fs->updateProfileImage($employee);
|
||||
$noti->image = $employee->image;
|
||||
|
||||
if(empty($noti->image)){
|
||||
if($employee->gender == 'Male'){
|
||||
$noti->image = BASE_URL."images/user_male.png";
|
||||
}else{
|
||||
$noti->image = BASE_URL."images/user_female.png";
|
||||
}
|
||||
|
||||
}
|
||||
$newList[] = $noti;
|
||||
}
|
||||
}else{
|
||||
$noti->image = BASE_URL."images/icehrm.png";
|
||||
$newList[] = $noti;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return array($unreadCount, $list);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
21
core-ext/config.base.php
Normal file
21
core-ext/config.base.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
if(!defined('SIGN_IN_ELEMENT_MAPPING_FIELD_NAME')){define('SIGN_IN_ELEMENT_MAPPING_FIELD_NAME','employee');}
|
||||
|
||||
if(!defined('APP_NAME')){define('APP_NAME','ICE Hrm');}
|
||||
if(!defined('FB_URL')){define('FB_URL', 'https://www.facebook.com/icehrm');};
|
||||
if(!defined('TWITTER_URL')){define('TWITTER_URL', 'https://twitter.com/icehrmapp');};
|
||||
|
||||
define('HOME_LINK_ADMIN', CLIENT_BASE_URL."?g=admin&n=dashboard&m=admin_Admin");
|
||||
define('HOME_LINK_OTHERS', CLIENT_BASE_URL."?g=modules&n=dashboard&m=module_Personal_Information");
|
||||
|
||||
//Version
|
||||
define('VERSION', '12.7.OS');
|
||||
define('CACHE_VALUE', '12.7');
|
||||
define('VERSION_DATE', '13/09/2015');
|
||||
|
||||
if(!defined('CONTACT_EMAIL')){define('CONTACT_EMAIL','icehrm@gamonoid.com');}
|
||||
if(!defined('KEY_PREFIX')){define('KEY_PREFIX','IceHrm');}
|
||||
if(!defined('APP_SEC')){define('APP_SEC','dbcs234d2saaqw');}
|
||||
|
||||
define('UI_SHOW_SWITCH_PROFILE', true);
|
||||
define('CRON_LOG', '/var/log/nginx/icehrmcron.log');
|
||||
519
core-ext/css/style.css
Normal file
519
core-ext/css/style.css
Normal file
@@ -0,0 +1,519 @@
|
||||
.redFont{
|
||||
color: red;
|
||||
}
|
||||
.box_ws{
|
||||
background: white;
|
||||
border-left: 1px solid #DDD;
|
||||
border-right: 1px solid #DDD;
|
||||
border-bottom: 1px solid #DDD;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.cal_box_ws{
|
||||
background: white;
|
||||
border: 1px solid #DDD;
|
||||
color: #555;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.cal_box_ws .wd_date_full{
|
||||
font-weight:bold;
|
||||
font-size:10px;
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.cal_box_ws .wd_date{
|
||||
font-size:10px;
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.nav-pills li a:hover{
|
||||
background: #1D64AD;
|
||||
color:white;
|
||||
};
|
||||
|
||||
.navbar-inverse .brand, .navbar-inverse .nav > li > a {
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.categoryWrap p{
|
||||
font-size:16px;
|
||||
font-weight:bold;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.categoryWrap p:hover{
|
||||
font-size:16px;
|
||||
font-weight:bold;
|
||||
color:white;
|
||||
background: gray;
|
||||
padding: 3px;
|
||||
cursor:pointer;
|
||||
border-radius: 4px;
|
||||
|
||||
}
|
||||
|
||||
.resultLogo{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.pbar{
|
||||
font-weight:bold;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
.pbar .progress{
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.bs-docs-sidenav {
|
||||
width: 228px;
|
||||
margin: 30px 0 0;
|
||||
padding: 0;
|
||||
background-color: #fff;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
}
|
||||
.bs-docs-sidenav > li > a {
|
||||
display: block;
|
||||
*width: 190px;
|
||||
margin: 0 0 -1px;
|
||||
padding: 8px 14px;
|
||||
border: 1px solid #e5e5e5;
|
||||
}
|
||||
.bs-docs-sidenav > li:first-child > a {
|
||||
-webkit-border-radius: 6px 6px 0 0;
|
||||
-moz-border-radius: 6px 6px 0 0;
|
||||
border-radius: 6px 6px 0 0;
|
||||
}
|
||||
.bs-docs-sidenav > li:last-child > a {
|
||||
-webkit-border-radius: 0 0 6px 6px;
|
||||
-moz-border-radius: 0 0 6px 6px;
|
||||
border-radius: 0 0 6px 6px;
|
||||
}
|
||||
.bs-docs-sidenav > .active > a {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 9px 15px;
|
||||
border: 0;
|
||||
text-shadow: 0 1px 0 rgba(0,0,0,.15);
|
||||
-webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
|
||||
-moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
|
||||
box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
|
||||
}
|
||||
/* Chevrons */
|
||||
.bs-docs-sidenav .icon-chevron-right {
|
||||
float: right;
|
||||
margin-top: 2px;
|
||||
margin-right: -6px;
|
||||
opacity: .25;
|
||||
}
|
||||
.bs-docs-sidenav > li > a:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.bs-docs-sidenav a:hover .icon-chevron-right {
|
||||
opacity: .5;
|
||||
}
|
||||
.bs-docs-sidenav .active .icon-chevron-right,
|
||||
.bs-docs-sidenav .active a:hover .icon-chevron-right {
|
||||
background-image: url(../img/glyphicons-halflings-white.png);
|
||||
opacity: 1;
|
||||
}
|
||||
.bs-docs-sidenav.affix {
|
||||
top: 40px;
|
||||
}
|
||||
.bs-docs-sidenav.affix-bottom {
|
||||
position: absolute;
|
||||
top: auto;
|
||||
bottom: 270px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* Responsive
|
||||
-------------------------------------------------- */
|
||||
|
||||
/* Desktop large
|
||||
------------------------- */
|
||||
@media (min-width: 1200px) {
|
||||
.bs-docs-container {
|
||||
max-width: 970px;
|
||||
}
|
||||
.bs-docs-sidenav {
|
||||
width: 258px;
|
||||
}
|
||||
}
|
||||
|
||||
.reviewPoints{
|
||||
margin-top:10px;
|
||||
}
|
||||
|
||||
.reviewPoints .star{
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.reviewBlock {
|
||||
position: relative;
|
||||
margin: 0px 0;
|
||||
padding: 39px 19px 14px;
|
||||
background-color: white;
|
||||
border: 1px solid #DDD;
|
||||
/*
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
*/
|
||||
font-size:12px;
|
||||
}
|
||||
|
||||
/*.reviewBlock::after {
|
||||
content: attr(data-content);
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
left: -1px;
|
||||
padding: 3px 7px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
background-color: whiteSmoke;
|
||||
border: 1px solid #DDD;
|
||||
color: #9DA0A4;
|
||||
-webkit-border-radius: 4px 0 4px 0;
|
||||
-moz-border-radius: 4px 0 4px 0;
|
||||
border-radius: 4px 0 4px 0;
|
||||
}*/
|
||||
|
||||
.box_ws{
|
||||
background: white;
|
||||
border-left: 1px solid #DDD;
|
||||
border-right: 1px solid #DDD;
|
||||
border-bottom: 1px solid #DDD;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.cal_box_ws{
|
||||
background: white;
|
||||
border: 1px solid #DDD;
|
||||
color: #555;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.cal_box_ws .wd_date_full{
|
||||
font-weight:bold;
|
||||
font-size:10px;
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.cal_box_ws .wd_date{
|
||||
font-size:10px;
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.nav-pills li a:hover{
|
||||
background: #1D64AD;
|
||||
color:white;
|
||||
};
|
||||
|
||||
.nav-tabs > li > a {
|
||||
color:white;
|
||||
}
|
||||
|
||||
.nav-tabs > li > a:hover{
|
||||
color:#555;
|
||||
}
|
||||
|
||||
|
||||
.topheader {
|
||||
background: -moz-linear-gradient(#829AA8, #405A6A);
|
||||
background: -webkit-linear-gradient(#829AA8, #405A6A);
|
||||
background: linear-gradient(#829AA8, #405A6A);
|
||||
border: 1px solid #677C89;
|
||||
border-bottom-color: #6B808D;
|
||||
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4),0 0px 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
|
||||
.bgbody{
|
||||
background: #FAFAFA;
|
||||
background: -moz-linear-gradient(#FAFAFA, #EAEAEA);
|
||||
background: -webkit-linear-gradient(#FAFAFA, #EAEAEA);
|
||||
background: linear-gradient(#FAFAFA, #EAEAEA);
|
||||
border-bottom: 1px solid #CACACA;
|
||||
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4),0 0px 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.leftMenu{
|
||||
background-color: #E9F1F4;
|
||||
border-style: solid;
|
||||
border-width: 1px 1px 2px;
|
||||
border-color: #E9F1F4 #D8DEE2 #D8DEE2;
|
||||
border-radius: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
.nav > li > a:hover {
|
||||
text-decoration: none;
|
||||
background-color: whitesmoke;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
.nav-list > .active > a, .nav-list > .active > a:hover{
|
||||
color: white;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
|
||||
background-color: #405A6A;
|
||||
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4),0 0px 10px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 5px;
|
||||
}
|
||||
*/
|
||||
|
||||
a {
|
||||
color: #405A6A;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav-header {
|
||||
display: block;
|
||||
padding: 3px 15px;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
line-height: 20px;
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||
text-transform: none;
|
||||
background: -moz-linear-gradient(#829AA8, #405A6A);
|
||||
background: -webkit-linear-gradient(#829AA8, #405A6A);
|
||||
background: linear-gradient(#829AA8, #405A6A);
|
||||
color: white;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.modal-backdrop,
|
||||
.modal-backdrop.fade.in {
|
||||
opacity: 0.4;
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
|
||||
.error{
|
||||
color:red;
|
||||
}
|
||||
|
||||
.columnMain{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.borderBox{
|
||||
padding-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
padding-top: 10px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
margin-bottom: 20px;
|
||||
-moz-box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.1);
|
||||
-webkit-box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.1);
|
||||
border: 1px solid #EEE;
|
||||
}
|
||||
|
||||
|
||||
.iceicon_edit{
|
||||
background-image: url("../images/edit.png");
|
||||
}
|
||||
|
||||
.iceicon_delete{
|
||||
background-image: url("../images/delete.png");
|
||||
}
|
||||
|
||||
.iceicon_user{
|
||||
background-image: url("../images/user.png");
|
||||
}
|
||||
|
||||
.dropdown-menu{
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
.lightface .lightfaceContent .lightfaceTitle {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
background-color: #405A6A;
|
||||
border: 1px solid #405A6A;
|
||||
font-weight: bold;
|
||||
margin: -1px;
|
||||
margin-bottom: 0;
|
||||
padding: 5px 10px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.label-ice, .badge-ice{
|
||||
background-color: #405A6A;
|
||||
}
|
||||
|
||||
.dataTables_processing{
|
||||
position: absolute;
|
||||
margin-left: 40px;
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
color: gray;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*changes to full caledar*/
|
||||
.fc-header-title h2 {
|
||||
margin-top: 0;
|
||||
white-space: nowrap;
|
||||
font-size: 20px;
|
||||
margin-left: 10px;
|
||||
color:#405A6A;
|
||||
}
|
||||
|
||||
table.dataTable{
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.form-horizontal{
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.form-horizontal .row{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.table.dataTable {width:100% !important;}
|
||||
|
||||
.iceLabel{
|
||||
font-size: 12px !important;
|
||||
font-weight: bold;
|
||||
color: #3c8dbc;
|
||||
}
|
||||
|
||||
.nav-tabs>li>a{
|
||||
border-radius:0px;
|
||||
}
|
||||
|
||||
.nav > li > a:hover {
|
||||
border-radius:0px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* select2 style overide */
|
||||
.select2-choice{
|
||||
border: none !important;
|
||||
width: 100% !important;
|
||||
border-radius: 0px !important;
|
||||
background-color: #FFF !important;
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
|
||||
.select2-container{
|
||||
padding:3px !important;
|
||||
}
|
||||
|
||||
.select2-container-multi{
|
||||
padding:0px !important;
|
||||
border:none;
|
||||
}
|
||||
|
||||
.select2-arrow{
|
||||
background-image: none !important;
|
||||
background: #FFF !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.select2-drop-active {
|
||||
/*border: 1px solid black !important;*/
|
||||
border-top: none !important;
|
||||
background: #f0f0f0 !important;
|
||||
}
|
||||
|
||||
.logTime{
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.popupForm{
|
||||
border: none !important;
|
||||
padding: 0px 19px 14px !important;
|
||||
}
|
||||
|
||||
.content {
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
.user-panel > .info > p {
|
||||
margin-bottom: 9px;
|
||||
max-width: 135px;
|
||||
line-height: 17px;
|
||||
}
|
||||
|
||||
.list-group-item-text{
|
||||
margin-bottom:5px;
|
||||
}
|
||||
|
||||
.list-group-item{
|
||||
padding-bottom:30px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/custom for v11.0 */
|
||||
|
||||
|
||||
.table-bordered>thead>tr>th{
|
||||
border:none !important;
|
||||
}
|
||||
|
||||
.table-bordered>thead>tr>th, .table-bordered>thead>tr>td {
|
||||
border-bottom-width: 2px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.table{
|
||||
-webkit-transition: margin-left .15s linear;
|
||||
transition: margin-left .15s linear;
|
||||
-webkit-user-select: none;
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: 0 1px 2px 0 rgba(0,0,0,.2);
|
||||
box-shadow: 0 1px 2px 0 rgba(0,0,0,.2);
|
||||
}
|
||||
|
||||
.reviewBlock{
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box
|
||||
}
|
||||
|
||||
.treeview-menu li:hover{
|
||||
font-weight:bold;
|
||||
}
|
||||
BIN
core-ext/images/connect-no.png
Normal file
BIN
core-ext/images/connect-no.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
core-ext/images/icehrm.png
Normal file
BIN
core-ext/images/icehrm.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
BIN
core-ext/images/logo.png
Normal file
BIN
core-ext/images/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
BIN
core-ext/images/redo.png
Normal file
BIN
core-ext/images/redo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 708 B |
317
core-ext/login.php
Normal file
317
core-ext/login.php
Normal file
@@ -0,0 +1,317 @@
|
||||
<?php
|
||||
define('CLIENT_PATH',dirname(__FILE__));
|
||||
include ("config.base.php");
|
||||
include ("include.common.php");
|
||||
include("server.includes.inc.php");
|
||||
if(empty($user)){
|
||||
if(!empty($_REQUEST['username']) && !empty($_REQUEST['password'])){
|
||||
$suser = null;
|
||||
$ssoUserLoaded = false;
|
||||
if(empty($suser)){
|
||||
$suser = new User();
|
||||
$suser->Load("(username = ? or email = ?) and password = ?",array($_REQUEST['username'],$_REQUEST['username'],md5($_REQUEST['password'])));
|
||||
}
|
||||
|
||||
if($suser->password == md5($_REQUEST['password']) || $ssoUserLoaded){
|
||||
$user = $suser;
|
||||
SessionUtils::saveSessionObject('user', $user);
|
||||
$suser->last_login = date("Y-m-d H:i:s");
|
||||
$suser->Save();
|
||||
|
||||
if(!$ssoUserLoaded && !empty(BaseService::getInstance()->auditManager)){
|
||||
BaseService::getInstance()->auditManager->user = $user;
|
||||
BaseService::getInstance()->audit(IceConstants::AUDIT_AUTHENTICATION, "User Login");
|
||||
}
|
||||
|
||||
if($user->user_level == "Admin"){
|
||||
header("Location:".HOME_LINK_ADMIN);
|
||||
}else{
|
||||
header("Location:".HOME_LINK_OTHERS);
|
||||
}
|
||||
}else{
|
||||
header("Location:".CLIENT_BASE_URL."login.php?f=1");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if($user->user_level == "Admin"){
|
||||
header("Location:".HOME_LINK_ADMIN);
|
||||
}else{
|
||||
header("Location:".HOME_LINK_OTHERS);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$tuser = SessionUtils::getSessionObject('user');
|
||||
//check user
|
||||
|
||||
$logoFileName = CLIENT_BASE_PATH."data/logo.png";
|
||||
$logoFileUrl = CLIENT_BASE_URL."data/logo.png";
|
||||
if(!file_exists($logoFileName)){
|
||||
$logoFileUrl = BASE_URL."images/logo.png";
|
||||
}
|
||||
|
||||
?><!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?=APP_NAME?> Login v<?=VERSION?> © http://icehrm.com</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="A Powerful But Simple Way to Manage Your Company and People. http://icehrm.com">
|
||||
<meta name="author" content="http://gamonoid.com">
|
||||
|
||||
<!-- Le styles -->
|
||||
<link href="<?=BASE_URL?>bootstrap/css/bootstrap.css" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.js"></script>
|
||||
<script src="<?=BASE_URL?>bootstrap/js/bootstrap.js"></script>
|
||||
<script src="<?=BASE_URL?>js/jquery.placeholder.js"></script>
|
||||
<script src="<?=BASE_URL?>js/jquery.dataTables.js"></script>
|
||||
<script src="<?=BASE_URL?>js/bootstrap-datepicker.js"></script>
|
||||
<link href="<?=BASE_URL?>bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/DT_bootstrap.css?v=0.4" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/datepicker.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/style.css?v=<?=$cssVersion?>" rel="stylesheet">
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<style type="text/css">
|
||||
/* Override some defaults */
|
||||
html, body {
|
||||
background-color: #829AA8;
|
||||
}
|
||||
body {
|
||||
padding-top: 40px;
|
||||
}
|
||||
.container {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
/* The white background content wrapper */
|
||||
.container > .content {
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
margin: 0 -20px;
|
||||
-webkit-border-radius: 10px 10px 10px 10px;
|
||||
-moz-border-radius: 10px 10px 10px 10px;
|
||||
border-radius: 10px 10px 10px 10px;
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
||||
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,.15);
|
||||
}
|
||||
|
||||
.login-form {
|
||||
margin-left: 65px;
|
||||
}
|
||||
|
||||
legend {
|
||||
margin-right: -50px;
|
||||
font-weight: bold;
|
||||
color: #404040;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div itemscope itemtype="http://schema.org/WebApplication" style="display: none;">
|
||||
<span itemprop="name">IceHrm Pro</span> -
|
||||
|
||||
REQUIRES <span itemprop="operatingSystem">Windows, OSX, Linux</span>
|
||||
<link itemprop="applicationCategory" href="http://icehrm.com"/>
|
||||
|
||||
RATING:
|
||||
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<span itemprop="ratingValue">4.5</span> (
|
||||
<span itemprop="ratingCount">12</span> ratings )
|
||||
</div>
|
||||
|
||||
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
|
||||
Price: $<span itemprop="price">199.99</span>
|
||||
<meta itemprop="priceCurrency" content="USD" />
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', '<?=BaseService::getInstance()->getGAKey()?>', 'gamonoid.com');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var key = "";
|
||||
<?php if(isset($_REQUEST['key'])){?>
|
||||
key = '<?=$_REQUEST['key']?>';
|
||||
key = key.replace(/ /g,"+");
|
||||
<?php }?>
|
||||
|
||||
$(document).ready(function() {
|
||||
$(window).keydown(function(event){
|
||||
if(event.keyCode == 13) {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
$("#password").keydown(function(event){
|
||||
if(event.keyCode == 13) {
|
||||
submitLogin();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function showForgotPassword(){
|
||||
$("#loginForm").hide();
|
||||
$("#requestPasswordChangeForm").show();
|
||||
}
|
||||
|
||||
function requestPasswordChange(){
|
||||
$("#requestPasswordChangeFormAlert").hide();
|
||||
var id = $("#usernameChange").val();
|
||||
$.post("service.php", {'a':'rpc','id':id}, function(data) {
|
||||
if(data.status == "SUCCESS"){
|
||||
$("#requestPasswordChangeFormAlert").show();
|
||||
$("#requestPasswordChangeFormAlert").html(data.message);
|
||||
}else{
|
||||
$("#requestPasswordChangeFormAlert").show();
|
||||
$("#requestPasswordChangeFormAlert").html(data.message);
|
||||
}
|
||||
},"json");
|
||||
}
|
||||
|
||||
function changePassword(){
|
||||
$("#newPasswordFormAlert").hide();
|
||||
var password = $("#password").val();
|
||||
|
||||
var passwordValidation = function (str) {
|
||||
var val = /^[a-zA-Z0-9]\w{6,}$/;
|
||||
return str != null && val.test(str);
|
||||
};
|
||||
|
||||
|
||||
if(!passwordValidation(password)){
|
||||
$("#newPasswordFormAlert").show();
|
||||
$("#newPasswordFormAlert").html("Password may contain only letters, numbers and should be longer than 6 characters");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$.post("service.php", {'a':'rsp','key':key,'pwd':password,"now":"1"}, function(data) {
|
||||
if(data.status == "SUCCESS"){
|
||||
top.location.href = "login.php?c=1";
|
||||
}else{
|
||||
$("#newPasswordFormAlert").show();
|
||||
$("#newPasswordFormAlert").html(data.message);
|
||||
}
|
||||
},"json");
|
||||
}
|
||||
|
||||
function submitLogin(){
|
||||
$("#loginForm").submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
<div class="container">
|
||||
<?php if(defined('DEMO_MODE')){?>
|
||||
<div class="content" style="top: 30px;
|
||||
position: absolute;
|
||||
left: 50px;
|
||||
width: 380px;
|
||||
height: 100px;">
|
||||
|
||||
<ul class="list-group" style="font-size:12px;">
|
||||
<li style="padding-bottom:3px;" class="list-group-item">Admin: (Username = admin/ Password = admin)</li>
|
||||
<li style="padding-bottom:3px;" class="list-group-item">Manager: (Username = manager/ Password = demouserpwd)</li>
|
||||
<li style="padding-bottom:3px;" class="list-group-item">User: (Username = user1/ Password = demouserpwd)</li>
|
||||
<li style="padding-bottom:3px;" class="list-group-item">User: (Username = user2/ Password = demouserpwd)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php }?>
|
||||
<div class="content" style="margin-top:100px;">
|
||||
<div class="row">
|
||||
<div class="login-form">
|
||||
<h2><img src="<?=$logoFileUrl?>"/></h2>
|
||||
<?php if(!isset($_REQUEST['cp'])){?>
|
||||
<form id="loginForm" action="login.php" method="POST">
|
||||
<fieldset>
|
||||
<div class="clearfix">
|
||||
<div class="input-prepend">
|
||||
<span class="add-on"><i class="icon-user"></i></span>
|
||||
<input class="span2" type="text" id="username" name="username" placeholder="Username">
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<div class="input-prepend">
|
||||
<span class="add-on"><i class="icon-lock"></i></span>
|
||||
<input class="span2" type="password" id="password" name="password" placeholder="Password">
|
||||
</div>
|
||||
</div>
|
||||
<?php if(isset($_REQUEST['f'])){?>
|
||||
<div class="clearfix alert alert-error" style="font-size:11px;width:147px;margin-bottom: 5px;">
|
||||
Login failed
|
||||
<?php if(isset($_REQUEST['fm'])){
|
||||
echo $_REQUEST['fm'];
|
||||
}?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?php if(isset($_REQUEST['c'])){?>
|
||||
<div class="clearfix alert alert-info" style="font-size:11px;width:147px;margin-bottom: 5px;">
|
||||
Password changed successfully
|
||||
</div>
|
||||
<?php } ?>
|
||||
<button class="btn" style="margin-top: 5px;" type="button" onclick="submitLogin();return false;">Sign in <span class="icon-arrow-right"></span></button>
|
||||
</fieldset>
|
||||
<div class="clearfix">
|
||||
<a href="" onclick="showForgotPassword();return false;" style="float:left;margin-top: 10px;">Forgot password</a>
|
||||
<a href="<?=TWITTER_URL?>" target="_blank" style="float:right;"><img src="<?=BASE_URL?>images/32x32-Circle-53-TW.png"/></a>
|
||||
<a href="<?=FB_URL?>" target="_blank" style="float:right;margin-right: 7px;"><img src="<?=BASE_URL?>images/32x32-Circle-54-FB.png"/></a>
|
||||
</div>
|
||||
<div class="clearfix">
|
||||
<span style="font-size:9px;">© <a href="http://icehrm.com" target="_blank">IceHrm - v<?=VERSION?></a> Developed by <a href="http://gamonoid.com" target="_blank">Gamonoid (Pvt) Ltd.</a></span>
|
||||
</div>
|
||||
</form>
|
||||
<form id="requestPasswordChangeForm" style="display:none;" action="">
|
||||
<fieldset>
|
||||
<div class="clearfix">
|
||||
<div class="input-prepend">
|
||||
<span class="add-on"><i class="icon-user"></i></span>
|
||||
<input class="span2" type="text" id="usernameChange" name="usernameChange" placeholder="Username or Email">
|
||||
</div>
|
||||
</div>
|
||||
<div id="requestPasswordChangeFormAlert" class="clearfix alert alert-info" style="font-size:11px;width:147px;margin-bottom: 5px;display:none;">
|
||||
|
||||
</div>
|
||||
<button class="btn" style="margin-top: 5px;" type="button" onclick="requestPasswordChange();return false;">Request Password Change <span class="icon-arrow-right"></span></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
<?php }else{?>
|
||||
<form id="newPasswordForm" action="">
|
||||
<fieldset>
|
||||
<div class="clearfix">
|
||||
<div class="input-prepend">
|
||||
<span class="add-on"><i class="icon-lock"></i></span>
|
||||
<input class="span2" type="password" id="password" name="password" placeholder="New Password">
|
||||
</div>
|
||||
</div>
|
||||
<div id="newPasswordFormAlert" class="clearfix alert alert-error" style="font-size:11px;width:147px;margin-bottom: 5px;display:none;">
|
||||
|
||||
</div>
|
||||
<button class="btn" style="margin-top: 5px;" type="button" onclick="changePassword();return false;">Change Password <span class="icon-arrow-right"></span></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
<?php }?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- /container -->
|
||||
</body>
|
||||
</html>
|
||||
72
core-ext/model/models.base.php
Normal file
72
core-ext/model/models.base.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
class ICEHRM_Record extends ADOdb_Active_Record{
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getOtherAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
|
||||
public function getEmployeeAccess(){
|
||||
return $this->getUserAccess();
|
||||
}
|
||||
|
||||
public function getAnonymousAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccessField(){
|
||||
return "employee";
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccessRequestField(){
|
||||
return "employee";
|
||||
}
|
||||
|
||||
public function validateSave($obj){
|
||||
return new IceResponse(IceResponse::SUCCESS,"");
|
||||
}
|
||||
|
||||
public function executePreSaveActions($obj){
|
||||
return new IceResponse(IceResponse::SUCCESS,$obj);
|
||||
}
|
||||
|
||||
public function executePreUpdateActions($obj){
|
||||
return new IceResponse(IceResponse::SUCCESS,$obj);
|
||||
}
|
||||
|
||||
public function executePostSaveActions($obj){
|
||||
|
||||
}
|
||||
|
||||
public function executePostUpdateActions($obj){
|
||||
|
||||
}
|
||||
|
||||
public function postProcessGetData($obj){
|
||||
return $obj;
|
||||
}
|
||||
|
||||
public function getDefaultAccessLevel(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getVirtualFields(){
|
||||
return array(
|
||||
);
|
||||
}
|
||||
}
|
||||
151
core-ext/popups.php
Normal file
151
core-ext/popups.php
Normal file
@@ -0,0 +1,151 @@
|
||||
<!-- Delete Modal -->
|
||||
<div class="modal fade" id="deleteModel" tabindex="-1" role="dialog" aria-labelledby="deleteModelLabel" 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 id="deleteModelLabel" style="font-size: 17px;"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p id="deleteModelBody"></p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" onclick="modJs.cancelDelete();">Cancel</button>
|
||||
<button class="btn btn-primary" onclick="modJs.confirmDelete();">Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Delete Modal -->
|
||||
|
||||
<!-- Message Modal -->
|
||||
<div class="modal fade" id="messageModel" 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 id="messageModelLabel" style="font-size: 17px;"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p id="messageModelBody"></p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" onclick="modJs.closeMessage();">Ok</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Message Modal -->
|
||||
|
||||
<!-- Plain Message Modal -->
|
||||
<div class="modal fade" id="plainMessageModel" tabindex="-1" role="dialog" aria-labelledby="plainMessageModelLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header" style="border-bottom:none;/*background-color: #3c8dbc;*/">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" style="margin-top:-10px;"><li class="fa fa-times"/></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p id="plainMessageModelBody"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Plain Message Modal -->
|
||||
|
||||
<!-- Upload Modal -->
|
||||
<div class="modal fade" id="uploadModel" tabindex="-1" role="dialog" 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 id="uploadModelLabel" style="font-size: 17px;"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p id="uploadModelBody"></p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" onclick="$('#uploadModel').modal('hide');">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Upload Modal -->
|
||||
|
||||
<!-- Message Modal -->
|
||||
<div class="modal fade" id="verifyModel" tabindex="-1" role="dialog" aria-labelledby="verifyModelLabel" 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 id="verifyModelLabel" style="font-size: 17px;"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p id="verifyModelBody">
|
||||
<b>Step 1:</b><br/>
|
||||
Please get your Instance Key from here:<br/>
|
||||
<a target="_blank" href="http://icehrm.com/generateInstanceKey.php?id=<?=$baseService->getInstanceId()?>">
|
||||
http://icehrm.com/generateInstanceKey.php?id=<?=$baseService->getInstanceId()?>
|
||||
</a>
|
||||
|
||||
<br/><b>Step 2:</b><br/>
|
||||
Enter the key you generated in step 1 here and click "Verify"<br/>
|
||||
<form role="form">
|
||||
<div class="row">
|
||||
<label class="col-sm-12 control-label" for="verificationKey">Verification Key</label>
|
||||
<div class="controls col-sm-12">
|
||||
<input class="form-control" type="text" id="verificationKey" name="verificationKey" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/>
|
||||
<div class="control-group row">
|
||||
<div class="controls col-sm-12">
|
||||
<button onclick="try{verifyInstance($('#verificationKey').val());}catch(e){};return false;" class="saveBtn btn btn-primary pull-right"><i class="fa fa-save"></i> Verify</button>
|
||||
<button onclick="$('#verifyModel').modal('hide');return false;" class="cancelBtn btn pull-right" style="margin-right:5px;"><i class="fa fa-times-circle-o"></i> Cancel</button>
|
||||
</div>
|
||||
<div class="controls col-sm-3">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Message Modal -->
|
||||
|
||||
|
||||
<?php if($user->user_level == 'Admin'){?>
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="profileSwitchModal" tabindex="-1" role="dialog" 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 id="myModalLabel">Switch Employee</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Select the employee to Edit</p>
|
||||
<div style="border: solid 1px #EEE;">
|
||||
<select id="switch_emp" style="width:100%;">
|
||||
<!--
|
||||
<option value="-1">No Employee</option>
|
||||
-->
|
||||
<?php
|
||||
$employees = $baseService->get('Employee');
|
||||
foreach($employees as $empTemp){
|
||||
?>
|
||||
<option value="<?=$empTemp->id?>"><?=$empTemp->first_name." ".$empTemp->last_name?></option>
|
||||
<?php }?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
|
||||
<button class="btn btn-primary" onclick="modJs.setAdminProfile($('#switch_emp').val());return false;">Switch</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal -->
|
||||
<?php }?>
|
||||
892
core-ext/scripts/icehrm_master_data.sql
Normal file
892
core-ext/scripts/icehrm_master_data.sql
Normal file
@@ -0,0 +1,892 @@
|
||||
INSERT INTO `CurrencyTypes`(`id`, `code`, `name`) VALUES
|
||||
(3, 'AED', 'Utd. Arab Emir. Dirham'),
|
||||
(4, 'AFN', 'Afghanistan Afghani'),
|
||||
(5, 'ALL', 'Albanian Lek'),
|
||||
(6, 'ANG', 'NL Antillian Guilder'),
|
||||
(7, 'AOR', 'Angolan New Kwanza'),
|
||||
(177, 'ARP', 'Argentina Pesos'),
|
||||
(8, 'ARS', 'Argentine Peso'),
|
||||
(10, 'AUD', 'Australian Dollar'),
|
||||
(11, 'AWG', 'Aruban Florin'),
|
||||
(12, 'BBD', 'Barbados Dollar'),
|
||||
(13, 'BDT', 'Bangladeshi Taka'),
|
||||
(15, 'BGL', 'Bulgarian Lev'),
|
||||
(16, 'BHD', 'Bahraini Dinar'),
|
||||
(17, 'BIF', 'Burundi Franc'),
|
||||
(18, 'BMD', 'Bermudian Dollar'),
|
||||
(19, 'BND', 'Brunei Dollar'),
|
||||
(20, 'BOB', 'Bolivian Boliviano'),
|
||||
(21, 'BRL', 'Brazilian Real'),
|
||||
(22, 'BSD', 'Bahamian Dollar'),
|
||||
(23, 'BTN', 'Bhutan Ngultrum'),
|
||||
(24, 'BWP', 'Botswana Pula'),
|
||||
(25, 'BZD', 'Belize Dollar'),
|
||||
(26, 'CAD', 'Canadian Dollar'),
|
||||
(27, 'CHF', 'Swiss Franc'),
|
||||
(28, 'CLP', 'Chilean Peso'),
|
||||
(29, 'CNY', 'Chinese Yuan Renminbi'),
|
||||
(30, 'COP', 'Colombian Peso'),
|
||||
(31, 'CRC', 'Costa Rican Colon'),
|
||||
(171, 'CZK', 'Czech Koruna'),
|
||||
(32, 'CUP', 'Cuban Peso'),
|
||||
(33, 'CVE', 'Cape Verde Escudo'),
|
||||
(34, 'CYP', 'Cyprus Pound'),
|
||||
(37, 'DJF', 'Djibouti Franc'),
|
||||
(38, 'DKK', 'Danish Krona'),
|
||||
(39, 'DOP', 'Dominican Peso'),
|
||||
(40, 'DZD', 'Algerian Dinar'),
|
||||
(41, 'ECS', 'Ecuador Sucre'),
|
||||
(43, 'EEK', 'Estonian Krona'),
|
||||
(44, 'EGP', 'Egyptian Pound'),
|
||||
(46, 'ETB', 'Ethiopian Birr'),
|
||||
(42, 'EUR', 'Euro'),
|
||||
(48, 'FJD', 'Fiji Dollar'),
|
||||
(49, 'FKP', 'Falkland Islands Pound'),
|
||||
(51, 'GBP', 'Pound Sterling'),
|
||||
(52, 'GHC', 'Ghanaian Cedi'),
|
||||
(53, 'GIP', 'Gibraltar Pound'),
|
||||
(54, 'GMD', 'Gambian Dalasi'),
|
||||
(55, 'GNF', 'Guinea Franc'),
|
||||
(57, 'GTQ', 'Guatemalan Quetzal'),
|
||||
(58, 'GYD', 'Guyanan Dollar'),
|
||||
(59, 'HKD', 'Hong Kong Dollar'),
|
||||
(60, 'HNL', 'Honduran Lempira'),
|
||||
(61, 'HRK', 'Croatian Kuna'),
|
||||
(62, 'HTG', 'Haitian Gourde'),
|
||||
(63, 'HUF', 'Hungarian Forint'),
|
||||
(64, 'IDR', 'Indonesian Rupiah'),
|
||||
(66, 'ILS', 'Israeli New Shekel'),
|
||||
(67, 'INR', 'Indian Rupee'),
|
||||
(68, 'IQD', 'Iraqi Dinar'),
|
||||
(69, 'IRR', 'Iranian Rial'),
|
||||
(70, 'ISK', 'Iceland Krona'),
|
||||
(72, 'JMD', 'Jamaican Dollar'),
|
||||
(73, 'JOD', 'Jordanian Dinar'),
|
||||
(74, 'JPY', 'Japanese Yen'),
|
||||
(75, 'KES', 'Kenyan Shilling'),
|
||||
(76, 'KHR', 'Kampuchean Riel'),
|
||||
(77, 'KMF', 'Comoros Franc'),
|
||||
(78, 'KPW', 'North Korean Won'),
|
||||
(79, 'KRW', 'Korean Won'),
|
||||
(80, 'KWD', 'Kuwaiti Dinar'),
|
||||
(81, 'KYD', 'Cayman Islands Dollar'),
|
||||
(82, 'KZT', 'Kazakhstan Tenge'),
|
||||
(83, 'LAK', 'Lao Kip'),
|
||||
(84, 'LBP', 'Lebanese Pound'),
|
||||
(85, 'LKR', 'Sri Lanka Rupee'),
|
||||
(86, 'LRD', 'Liberian Dollar'),
|
||||
(87, 'LSL', 'Lesotho Loti'),
|
||||
(88, 'LTL', 'Lithuanian Litas'),
|
||||
(90, 'LVL', 'Latvian Lats'),
|
||||
(91, 'LYD', 'Libyan Dinar'),
|
||||
(92, 'MAD', 'Moroccan Dirham'),
|
||||
(93, 'MGF', 'Malagasy Franc'),
|
||||
(94, 'MMK', 'Myanmar Kyat'),
|
||||
(95, 'MNT', 'Mongolian Tugrik'),
|
||||
(96, 'MOP', 'Macau Pataca'),
|
||||
(97, 'MRO', 'Mauritanian Ouguiya'),
|
||||
(98, 'MTL', 'Maltese Lira'),
|
||||
(99, 'MUR', 'Mauritius Rupee'),
|
||||
(100, 'MVR', 'Maldive Rufiyaa'),
|
||||
(101, 'MWK', 'Malawi Kwacha'),
|
||||
(102, 'MXN', 'Mexican New Peso'),
|
||||
(172, 'MXP', 'Mexican Peso'),
|
||||
(103, 'MYR', 'Malaysian Ringgit'),
|
||||
(104, 'MZM', 'Mozambique Metical'),
|
||||
(105, 'NAD', 'Namibia Dollar'),
|
||||
(106, 'NGN', 'Nigerian Naira'),
|
||||
(107, 'NIO', 'Nicaraguan Cordoba Oro'),
|
||||
(109, 'NOK', 'Norwegian Krona'),
|
||||
(110, 'NPR', 'Nepalese Rupee'),
|
||||
(111, 'NZD', 'New Zealand Dollar'),
|
||||
(112, 'OMR', 'Omani Rial'),
|
||||
(113, 'PAB', 'Panamanian Balboa'),
|
||||
(114, 'PEN', 'Peruvian Nuevo Sol'),
|
||||
(115, 'PGK', 'Papua New Guinea Kina'),
|
||||
(116, 'PHP', 'Philippine Peso'),
|
||||
(117, 'PKR', 'Pakistan Rupee'),
|
||||
(118, 'PLN', 'Polish Zloty'),
|
||||
(120, 'PYG', 'Paraguay Guarani'),
|
||||
(121, 'QAR', 'Qatari Rial'),
|
||||
(122, 'ROL', 'Romanian Leu'),
|
||||
(123, 'RUB', 'Russian Rouble'),
|
||||
(180, 'RUR', 'Russia Rubles'),
|
||||
(125, 'SBD', 'Solomon Islands Dollar'),
|
||||
(126, 'SCR', 'Seychelles Rupee'),
|
||||
(127, 'SDD', 'Sudanese Dinar'),
|
||||
(128, 'SDP', 'Sudanese Pound'),
|
||||
(129, 'SEK', 'Swedish Krona'),
|
||||
(131, 'SGD', 'Singapore Dollar'),
|
||||
(132, 'SHP', 'St. Helena Pound'),
|
||||
(130, 'SKK', 'Slovak Koruna'),
|
||||
(135, 'SLL', 'Sierra Leone Leone'),
|
||||
(136, 'SOS', 'Somali Shilling'),
|
||||
(137, 'SRD', 'Surinamese Dollar'),
|
||||
(138, 'STD', 'Sao Tome/Principe Dobra'),
|
||||
(139, 'SVC', 'El Salvador Colon'),
|
||||
(140, 'SYP', 'Syrian Pound'),
|
||||
(141, 'SZL', 'Swaziland Lilangeni'),
|
||||
(142, 'THB', 'Thai Baht'),
|
||||
(143, 'TND', 'Tunisian Dinar'),
|
||||
(144, 'TOP', 'Tongan Pa''anga'),
|
||||
(145, 'TRL', 'Turkish Lira'),
|
||||
(146, 'TTD', 'Trinidad/Tobago Dollar'),
|
||||
(147, 'TWD', 'Taiwan Dollar'),
|
||||
(148, 'TZS', 'Tanzanian Shilling'),
|
||||
(149, 'UAH', 'Ukraine Hryvnia'),
|
||||
(150, 'UGX', 'Uganda Shilling'),
|
||||
(151, 'USD', 'United States Dollar'),
|
||||
(152, 'UYP', 'Uruguayan Peso'),
|
||||
(153, 'VEB', 'Venezuelan Bolivar'),
|
||||
(154, 'VND', 'Vietnamese Dong'),
|
||||
(155, 'VUV', 'Vanuatu Vatu'),
|
||||
(156, 'WST', 'Samoan Tala'),
|
||||
(158, 'XAF', 'CFA Franc BEAC'),
|
||||
(159, 'XAG', 'Silver (oz.)'),
|
||||
(160, 'XAU', 'Gold (oz.)'),
|
||||
(161, 'XCD', 'Eastern Caribbean Dollars'),
|
||||
(179, 'XDR', 'IMF Special Drawing Right'),
|
||||
(162, 'XOF', 'CFA Franc BCEAO'),
|
||||
(163, 'XPD', 'Palladium (oz.)'),
|
||||
(164, 'XPF', 'CFP Franc'),
|
||||
(165, 'XPT', 'Platinum (oz.)'),
|
||||
(166, 'YER', 'Yemeni Riyal'),
|
||||
(167, 'YUM', 'Yugoslavian Dinar'),
|
||||
(175, 'YUN', 'Yugoslav Dinar'),
|
||||
(168, 'ZAR', 'South African Rand'),
|
||||
(176, 'ZMK', 'Zambian Kwacha'),
|
||||
(169, 'ZRN', 'New Zaire'),
|
||||
(170, 'ZWD', 'Zimbabwe Dollar'),
|
||||
(173, 'SAR', 'Saudi Arabia Riyal');
|
||||
|
||||
|
||||
INSERT INTO `Country`(`code`, `namecap`, `name`, `iso3`, `numcode`) VALUES
|
||||
('AF', 'AFGHANISTAN', 'Afghanistan', 'AFG', 4),
|
||||
('AL', 'ALBANIA', 'Albania', 'ALB', 8),
|
||||
('DZ', 'ALGERIA', 'Algeria', 'DZA', 12),
|
||||
('AS', 'AMERICAN SAMOA', 'American Samoa', 'ASM', 16),
|
||||
('AD', 'ANDORRA', 'Andorra', 'AND', 20),
|
||||
('AO', 'ANGOLA', 'Angola', 'AGO', 24),
|
||||
('AI', 'ANGUILLA', 'Anguilla', 'AIA', 660),
|
||||
('AQ', 'ANTARCTICA', 'Antarctica', NULL, NULL),
|
||||
('AG', 'ANTIGUA AND BARBUDA', 'Antigua and Barbuda', 'ATG', 28),
|
||||
('AR', 'ARGENTINA', 'Argentina', 'ARG', 32),
|
||||
('AM', 'ARMENIA', 'Armenia', 'ARM', 51),
|
||||
('AW', 'ARUBA', 'Aruba', 'ABW', 533),
|
||||
('AU', 'AUSTRALIA', 'Australia', 'AUS', 36),
|
||||
('AT', 'AUSTRIA', 'Austria', 'AUT', 40),
|
||||
('AZ', 'AZERBAIJAN', 'Azerbaijan', 'AZE', 31),
|
||||
('BS', 'BAHAMAS', 'Bahamas', 'BHS', 44),
|
||||
('BH', 'BAHRAIN', 'Bahrain', 'BHR', 48),
|
||||
('BD', 'BANGLADESH', 'Bangladesh', 'BGD', 50),
|
||||
('BB', 'BARBADOS', 'Barbados', 'BRB', 52),
|
||||
('BY', 'BELARUS', 'Belarus', 'BLR', 112),
|
||||
('BE', 'BELGIUM', 'Belgium', 'BEL', 56),
|
||||
('BZ', 'BELIZE', 'Belize', 'BLZ', 84),
|
||||
('BJ', 'BENIN', 'Benin', 'BEN', 204),
|
||||
('BM', 'BERMUDA', 'Bermuda', 'BMU', 60),
|
||||
('BT', 'BHUTAN', 'Bhutan', 'BTN', 64),
|
||||
('BO', 'BOLIVIA', 'Bolivia', 'BOL', 68),
|
||||
('BA', 'BOSNIA AND HERZEGOVINA', 'Bosnia and Herzegovina', 'BIH', 70),
|
||||
('BW', 'BOTSWANA', 'Botswana', 'BWA', 72),
|
||||
('BV', 'BOUVET ISLAND', 'Bouvet Island', NULL, NULL),
|
||||
('BR', 'BRAZIL', 'Brazil', 'BRA', 76),
|
||||
('IO', 'BRITISH INDIAN OCEAN TERRITORY', 'British Indian Ocean Territory', NULL, NULL),
|
||||
('BN', 'BRUNEI DARUSSALAM', 'Brunei Darussalam', 'BRN', 96),
|
||||
('BG', 'BULGARIA', 'Bulgaria', 'BGR', 100),
|
||||
('BF', 'BURKINA FASO', 'Burkina Faso', 'BFA', 854),
|
||||
('BI', 'BURUNDI', 'Burundi', 'BDI', 108),
|
||||
('KH', 'CAMBODIA', 'Cambodia', 'KHM', 116),
|
||||
('CM', 'CAMEROON', 'Cameroon', 'CMR', 120),
|
||||
('CA', 'CANADA', 'Canada', 'CAN', 124),
|
||||
('CV', 'CAPE VERDE', 'Cape Verde', 'CPV', 132),
|
||||
('KY', 'CAYMAN ISLANDS', 'Cayman Islands', 'CYM', 136),
|
||||
('CF', 'CENTRAL AFRICAN REPUBLIC', 'Central African Republic', 'CAF', 140),
|
||||
('TD', 'CHAD', 'Chad', 'TCD', 148),
|
||||
('CL', 'CHILE', 'Chile', 'CHL', 152),
|
||||
('CN', 'CHINA', 'China', 'CHN', 156),
|
||||
('CX', 'CHRISTMAS ISLAND', 'Christmas Island', NULL, NULL),
|
||||
('CC', 'COCOS (KEELING) ISLANDS', 'Cocos (Keeling) Islands', NULL, NULL),
|
||||
('CO', 'COLOMBIA', 'Colombia', 'COL', 170),
|
||||
('KM', 'COMOROS', 'Comoros', 'COM', 174),
|
||||
('CG', 'CONGO', 'Congo', 'COG', 178),
|
||||
('CD', 'CONGO, THE DEMOCRATIC REPUBLIC OF THE', 'Congo, the Democratic Republic of the', 'COD', 180),
|
||||
('CK', 'COOK ISLANDS', 'Cook Islands', 'COK', 184),
|
||||
('CR', 'COSTA RICA', 'Costa Rica', 'CRI', 188),
|
||||
('CI', 'COTE D''IVOIRE', 'Cote D''Ivoire', 'CIV', 384),
|
||||
('HR', 'CROATIA', 'Croatia', 'HRV', 191),
|
||||
('CU', 'CUBA', 'Cuba', 'CUB', 192),
|
||||
('CY', 'CYPRUS', 'Cyprus', 'CYP', 196),
|
||||
('CZ', 'CZECH REPUBLIC', 'Czech Republic', 'CZE', 203),
|
||||
('DK', 'DENMARK', 'Denmark', 'DNK', 208),
|
||||
('DJ', 'DJIBOUTI', 'Djibouti', 'DJI', 262),
|
||||
('DM', 'DOMINICA', 'Dominica', 'DMA', 212),
|
||||
('DO', 'DOMINICAN REPUBLIC', 'Dominican Republic', 'DOM', 214),
|
||||
('EC', 'ECUADOR', 'Ecuador', 'ECU', 218),
|
||||
('EG', 'EGYPT', 'Egypt', 'EGY', 818),
|
||||
('SV', 'EL SALVADOR', 'El Salvador', 'SLV', 222),
|
||||
('GQ', 'EQUATORIAL GUINEA', 'Equatorial Guinea', 'GNQ', 226),
|
||||
('ER', 'ERITREA', 'Eritrea', 'ERI', 232),
|
||||
('EE', 'ESTONIA', 'Estonia', 'EST', 233),
|
||||
('ET', 'ETHIOPIA', 'Ethiopia', 'ETH', 231),
|
||||
('FK', 'FALKLAND ISLANDS (MALVINAS)', 'Falkland Islands (Malvinas)', 'FLK', 238),
|
||||
('FO', 'FAROE ISLANDS', 'Faroe Islands', 'FRO', 234),
|
||||
('FJ', 'FIJI', 'Fiji', 'FJI', 242),
|
||||
('FI', 'FINLAND', 'Finland', 'FIN', 246),
|
||||
('FR', 'FRANCE', 'France', 'FRA', 250),
|
||||
('GF', 'FRENCH GUIANA', 'French Guiana', 'GUF', 254),
|
||||
('PF', 'FRENCH POLYNESIA', 'French Polynesia', 'PYF', 258),
|
||||
('TF', 'FRENCH SOUTHERN TERRITORIES', 'French Southern Territories', NULL, NULL),
|
||||
('GA', 'GABON', 'Gabon', 'GAB', 266),
|
||||
('GM', 'GAMBIA', 'Gambia', 'GMB', 270),
|
||||
('GE', 'GEORGIA', 'Georgia', 'GEO', 268),
|
||||
('DE', 'GERMANY', 'Germany', 'DEU', 276),
|
||||
('GH', 'GHANA', 'Ghana', 'GHA', 288),
|
||||
('GI', 'GIBRALTAR', 'Gibraltar', 'GIB', 292),
|
||||
('GR', 'GREECE', 'Greece', 'GRC', 300),
|
||||
('GL', 'GREENLAND', 'Greenland', 'GRL', 304),
|
||||
('GD', 'GRENADA', 'Grenada', 'GRD', 308),
|
||||
('GP', 'GUADELOUPE', 'Guadeloupe', 'GLP', 312),
|
||||
('GU', 'GUAM', 'Guam', 'GUM', 316),
|
||||
('GT', 'GUATEMALA', 'Guatemala', 'GTM', 320),
|
||||
('GN', 'GUINEA', 'Guinea', 'GIN', 324),
|
||||
('GW', 'GUINEA-BISSAU', 'Guinea-Bissau', 'GNB', 624),
|
||||
('GY', 'GUYANA', 'Guyana', 'GUY', 328),
|
||||
('HT', 'HAITI', 'Haiti', 'HTI', 332),
|
||||
('HM', 'HEARD ISLAND AND MCDONALD ISLANDS', 'Heard Island and Mcdonald Islands', NULL, NULL),
|
||||
('VA', 'HOLY SEE (VATICAN CITY STATE)', 'Holy See (Vatican City State)', 'VAT', 336),
|
||||
('HN', 'HONDURAS', 'Honduras', 'HND', 340),
|
||||
('HK', 'HONG KONG', 'Hong Kong', 'HKG', 344),
|
||||
('HU', 'HUNGARY', 'Hungary', 'HUN', 348),
|
||||
('IS', 'ICELAND', 'Iceland', 'ISL', 352),
|
||||
('IN', 'INDIA', 'India', 'IND', 356),
|
||||
('ID', 'INDONESIA', 'Indonesia', 'IDN', 360),
|
||||
('IR', 'IRAN, ISLAMIC REPUBLIC OF', 'Iran, Islamic Republic of', 'IRN', 364),
|
||||
('IQ', 'IRAQ', 'Iraq', 'IRQ', 368),
|
||||
('IE', 'IRELAND', 'Ireland', 'IRL', 372),
|
||||
('IL', 'ISRAEL', 'Israel', 'ISR', 376),
|
||||
('IT', 'ITALY', 'Italy', 'ITA', 380),
|
||||
('JM', 'JAMAICA', 'Jamaica', 'JAM', 388),
|
||||
('JP', 'JAPAN', 'Japan', 'JPN', 392),
|
||||
('JO', 'JORDAN', 'Jordan', 'JOR', 400),
|
||||
('KZ', 'KAZAKHSTAN', 'Kazakhstan', 'KAZ', 398),
|
||||
('KE', 'KENYA', 'Kenya', 'KEN', 404),
|
||||
('KI', 'KIRIBATI', 'Kiribati', 'KIR', 296),
|
||||
('KP', 'KOREA, DEMOCRATIC PEOPLE''S REPUBLIC OF', 'Korea, Democratic People''s Republic of', 'PRK', 408),
|
||||
('KR', 'KOREA, REPUBLIC OF', 'Korea, Republic of', 'KOR', 410),
|
||||
('KW', 'KUWAIT', 'Kuwait', 'KWT', 414),
|
||||
('KG', 'KYRGYZSTAN', 'Kyrgyzstan', 'KGZ', 417),
|
||||
('LA', 'LAO PEOPLE''S DEMOCRATIC REPUBLIC', 'Lao People''s Democratic Republic', 'LAO', 418),
|
||||
('LV', 'LATVIA', 'Latvia', 'LVA', 428),
|
||||
('LB', 'LEBANON', 'Lebanon', 'LBN', 422),
|
||||
('LS', 'LESOTHO', 'Lesotho', 'LSO', 426),
|
||||
('LR', 'LIBERIA', 'Liberia', 'LBR', 430),
|
||||
('LY', 'LIBYAN ARAB JAMAHIRIYA', 'Libyan Arab Jamahiriya', 'LBY', 434),
|
||||
('LI', 'LIECHTENSTEIN', 'Liechtenstein', 'LIE', 438),
|
||||
('LT', 'LITHUANIA', 'Lithuania', 'LTU', 440),
|
||||
('LU', 'LUXEMBOURG', 'Luxembourg', 'LUX', 442),
|
||||
('MO', 'MACAO', 'Macao', 'MAC', 446),
|
||||
('MK', 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF', 'Macedonia, the Former Yugoslav Republic of', 'MKD', 807),
|
||||
('MG', 'MADAGASCAR', 'Madagascar', 'MDG', 450),
|
||||
('MW', 'MALAWI', 'Malawi', 'MWI', 454),
|
||||
('MY', 'MALAYSIA', 'Malaysia', 'MYS', 458),
|
||||
('MV', 'MALDIVES', 'Maldives', 'MDV', 462),
|
||||
('ML', 'MALI', 'Mali', 'MLI', 466),
|
||||
('MT', 'MALTA', 'Malta', 'MLT', 470),
|
||||
('MH', 'MARSHALL ISLANDS', 'Marshall Islands', 'MHL', 584),
|
||||
('MQ', 'MARTINIQUE', 'Martinique', 'MTQ', 474),
|
||||
('MR', 'MAURITANIA', 'Mauritania', 'MRT', 478),
|
||||
('MU', 'MAURITIUS', 'Mauritius', 'MUS', 480),
|
||||
('YT', 'MAYOTTE', 'Mayotte', NULL, NULL),
|
||||
('MX', 'MEXICO', 'Mexico', 'MEX', 484),
|
||||
('FM', 'MICRONESIA, FEDERATED STATES OF', 'Micronesia, Federated States of', 'FSM', 583),
|
||||
('MD', 'MOLDOVA, REPUBLIC OF', 'Moldova, Republic of', 'MDA', 498),
|
||||
('MC', 'MONACO', 'Monaco', 'MCO', 492),
|
||||
('MN', 'MONGOLIA', 'Mongolia', 'MNG', 496),
|
||||
('MS', 'MONTSERRAT', 'Montserrat', 'MSR', 500),
|
||||
('MA', 'MOROCCO', 'Morocco', 'MAR', 504),
|
||||
('MZ', 'MOZAMBIQUE', 'Mozambique', 'MOZ', 508),
|
||||
('MM', 'MYANMAR', 'Myanmar', 'MMR', 104),
|
||||
('NA', 'NAMIBIA', 'Namibia', 'NAM', 516),
|
||||
('NR', 'NAURU', 'Nauru', 'NRU', 520),
|
||||
('NP', 'NEPAL', 'Nepal', 'NPL', 524),
|
||||
('NL', 'NETHERLANDS', 'Netherlands', 'NLD', 528),
|
||||
('AN', 'NETHERLANDS ANTILLES', 'Netherlands Antilles', 'ANT', 530),
|
||||
('NC', 'NEW CALEDONIA', 'New Caledonia', 'NCL', 540),
|
||||
('NZ', 'NEW ZEALAND', 'New Zealand', 'NZL', 554),
|
||||
('NI', 'NICARAGUA', 'Nicaragua', 'NIC', 558),
|
||||
('NE', 'NIGER', 'Niger', 'NER', 562),
|
||||
('NG', 'NIGERIA', 'Nigeria', 'NGA', 566),
|
||||
('NU', 'NIUE', 'Niue', 'NIU', 570),
|
||||
('NF', 'NORFOLK ISLAND', 'Norfolk Island', 'NFK', 574),
|
||||
('MP', 'NORTHERN MARIANA ISLANDS', 'Northern Mariana Islands', 'MNP', 580),
|
||||
('NO', 'NORWAY', 'Norway', 'NOR', 578),
|
||||
('OM', 'OMAN', 'Oman', 'OMN', 512),
|
||||
('PK', 'PAKISTAN', 'Pakistan', 'PAK', 586),
|
||||
('PW', 'PALAU', 'Palau', 'PLW', 585),
|
||||
('PS', 'PALESTINIAN TERRITORY, OCCUPIED', 'Palestinian Territory, Occupied', NULL, NULL),
|
||||
('PA', 'PANAMA', 'Panama', 'PAN', 591),
|
||||
('PG', 'PAPUA NEW GUINEA', 'Papua New Guinea', 'PNG', 598),
|
||||
('PY', 'PARAGUAY', 'Paraguay', 'PRY', 600),
|
||||
('PE', 'PERU', 'Peru', 'PER', 604),
|
||||
('PH', 'PHILIPPINES', 'Philippines', 'PHL', 608),
|
||||
('PN', 'PITCAIRN', 'Pitcairn', 'PCN', 612),
|
||||
('PL', 'POLAND', 'Poland', 'POL', 616),
|
||||
('PT', 'PORTUGAL', 'Portugal', 'PRT', 620),
|
||||
('PR', 'PUERTO RICO', 'Puerto Rico', 'PRI', 630),
|
||||
('QA', 'QATAR', 'Qatar', 'QAT', 634),
|
||||
('RE', 'REUNION', 'Reunion', 'REU', 638),
|
||||
('RO', 'ROMANIA', 'Romania', 'ROM', 642),
|
||||
('RU', 'RUSSIAN FEDERATION', 'Russian Federation', 'RUS', 643),
|
||||
('RW', 'RWANDA', 'Rwanda', 'RWA', 646),
|
||||
('SH', 'SAINT HELENA', 'Saint Helena', 'SHN', 654),
|
||||
('KN', 'SAINT KITTS AND NEVIS', 'Saint Kitts and Nevis', 'KNA', 659),
|
||||
('LC', 'SAINT LUCIA', 'Saint Lucia', 'LCA', 662),
|
||||
('PM', 'SAINT PIERRE AND MIQUELON', 'Saint Pierre and Miquelon', 'SPM', 666),
|
||||
('VC', 'SAINT VINCENT AND THE GRENADINES', 'Saint Vincent and the Grenadines', 'VCT', 670),
|
||||
('WS', 'SAMOA', 'Samoa', 'WSM', 882),
|
||||
('SM', 'SAN MARINO', 'San Marino', 'SMR', 674),
|
||||
('ST', 'SAO TOME AND PRINCIPE', 'Sao Tome and Principe', 'STP', 678),
|
||||
('SA', 'SAUDI ARABIA', 'Saudi Arabia', 'SAU', 682),
|
||||
('SN', 'SENEGAL', 'Senegal', 'SEN', 686),
|
||||
('CS', 'SERBIA AND MONTENEGRO', 'Serbia and Montenegro', NULL, NULL),
|
||||
('SC', 'SEYCHELLES', 'Seychelles', 'SYC', 690),
|
||||
('SL', 'SIERRA LEONE', 'Sierra Leone', 'SLE', 694),
|
||||
('SG', 'SINGAPORE', 'Singapore', 'SGP', 702),
|
||||
('SK', 'SLOVAKIA', 'Slovakia', 'SVK', 703),
|
||||
('SI', 'SLOVENIA', 'Slovenia', 'SVN', 705),
|
||||
('SB', 'SOLOMON ISLANDS', 'Solomon Islands', 'SLB', 90),
|
||||
('SO', 'SOMALIA', 'Somalia', 'SOM', 706),
|
||||
('ZA', 'SOUTH AFRICA', 'South Africa', 'ZAF', 710),
|
||||
('GS', 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS', 'South Georgia and the South Sandwich Islands', NULL, NULL),
|
||||
('ES', 'SPAIN', 'Spain', 'ESP', 724),
|
||||
('LK', 'SRI LANKA', 'Sri Lanka', 'LKA', 144),
|
||||
('SD', 'SUDAN', 'Sudan', 'SDN', 736),
|
||||
('SR', 'SURINAME', 'Suriname', 'SUR', 740),
|
||||
('SJ', 'SVALBARD AND JAN MAYEN', 'Svalbard and Jan Mayen', 'SJM', 744),
|
||||
('SZ', 'SWAZILAND', 'Swaziland', 'SWZ', 748),
|
||||
('SE', 'SWEDEN', 'Sweden', 'SWE', 752),
|
||||
('CH', 'SWITZERLAND', 'Switzerland', 'CHE', 756),
|
||||
('SY', 'SYRIAN ARAB REPUBLIC', 'Syrian Arab Republic', 'SYR', 760),
|
||||
('TW', 'TAIWAN, PROVINCE OF CHINA', 'Taiwan', 'TWN', 158),
|
||||
('TJ', 'TAJIKISTAN', 'Tajikistan', 'TJK', 762),
|
||||
('TZ', 'TANZANIA, UNITED REPUBLIC OF', 'Tanzania, United Republic of', 'TZA', 834),
|
||||
('TH', 'THAILAND', 'Thailand', 'THA', 764),
|
||||
('TL', 'TIMOR-LESTE', 'Timor-Leste', NULL, NULL),
|
||||
('TG', 'TOGO', 'Togo', 'TGO', 768),
|
||||
('TK', 'TOKELAU', 'Tokelau', 'TKL', 772),
|
||||
('TO', 'TONGA', 'Tonga', 'TON', 776),
|
||||
('TT', 'TRINIDAD AND TOBAGO', 'Trinidad and Tobago', 'TTO', 780),
|
||||
('TN', 'TUNISIA', 'Tunisia', 'TUN', 788),
|
||||
('TR', 'TURKEY', 'Turkey', 'TUR', 792),
|
||||
('TM', 'TURKMENISTAN', 'Turkmenistan', 'TKM', 795),
|
||||
('TC', 'TURKS AND CAICOS ISLANDS', 'Turks and Caicos Islands', 'TCA', 796),
|
||||
('TV', 'TUVALU', 'Tuvalu', 'TUV', 798),
|
||||
('UG', 'UGANDA', 'Uganda', 'UGA', 800),
|
||||
('UA', 'UKRAINE', 'Ukraine', 'UKR', 804),
|
||||
('AE', 'UNITED ARAB EMIRATES', 'United Arab Emirates', 'ARE', 784),
|
||||
('GB', 'UNITED KINGDOM', 'United Kingdom', 'GBR', 826),
|
||||
('US', 'UNITED STATES', 'United States', 'USA', 840),
|
||||
('UM', 'UNITED STATES MINOR OUTLYING ISLANDS', 'United States Minor Outlying Islands', NULL, NULL),
|
||||
('UY', 'URUGUAY', 'Uruguay', 'URY', 858),
|
||||
('UZ', 'UZBEKISTAN', 'Uzbekistan', 'UZB', 860),
|
||||
('VU', 'VANUATU', 'Vanuatu', 'VUT', 548),
|
||||
('VE', 'VENEZUELA', 'Venezuela', 'VEN', 862),
|
||||
('VN', 'VIET NAM', 'Viet Nam', 'VNM', 704),
|
||||
('VG', 'VIRGIN ISLANDS, BRITISH', 'Virgin Islands, British', 'VGB', 92),
|
||||
('VI', 'VIRGIN ISLANDS, U.S.', 'Virgin Islands, U.s.', 'VIR', 850),
|
||||
('WF', 'WALLIS AND FUTUNA', 'Wallis and Futuna', 'WLF', 876),
|
||||
('EH', 'WESTERN SAHARA', 'Western Sahara', 'ESH', 732),
|
||||
('YE', 'YEMEN', 'Yemen', 'YEM', 887),
|
||||
('ZM', 'ZAMBIA', 'Zambia', 'ZMB', 894),
|
||||
('ZW', 'ZIMBABWE', 'Zimbabwe', 'ZWE', 716);
|
||||
|
||||
INSERT INTO `Province`(`id`, `name`, `code`, `country`) VALUES
|
||||
(1, 'Alaska', 'AK', 'US'),
|
||||
(2, 'Alabama', 'AL', 'US'),
|
||||
(3, 'American Samoa', 'AS', 'US'),
|
||||
(4, 'Arizona', 'AZ', 'US'),
|
||||
(5, 'Arkansas', 'AR', 'US'),
|
||||
(6, 'California', 'CA', 'US'),
|
||||
(7, 'Colorado', 'CO', 'US'),
|
||||
(8, 'Connecticut', 'CT', 'US'),
|
||||
(9, 'Delaware', 'DE', 'US'),
|
||||
(10, 'District of Columbia', 'DC', 'US'),
|
||||
(11, 'Federated States of Micronesia', 'FM', 'US'),
|
||||
(12, 'Florida', 'FL', 'US'),
|
||||
(13, 'Georgia', 'GA', 'US'),
|
||||
(14, 'Guam', 'GU', 'US'),
|
||||
(15, 'Hawaii', 'HI', 'US'),
|
||||
(16, 'Idaho', 'ID', 'US'),
|
||||
(17, 'Illinois', 'IL', 'US'),
|
||||
(18, 'Indiana', 'IN', 'US'),
|
||||
(19, 'Iowa', 'IA', 'US'),
|
||||
(20, 'Kansas', 'KS', 'US'),
|
||||
(21, 'Kentucky', 'KY', 'US'),
|
||||
(22, 'Louisiana', 'LA', 'US'),
|
||||
(23, 'Maine', 'ME', 'US'),
|
||||
(24, 'Marshall Islands', 'MH', 'US'),
|
||||
(25, 'Maryland', 'MD', 'US'),
|
||||
(26, 'Massachusetts', 'MA', 'US'),
|
||||
(27, 'Michigan', 'MI', 'US'),
|
||||
(28, 'Minnesota', 'MN', 'US'),
|
||||
(29, 'Mississippi', 'MS', 'US'),
|
||||
(30, 'Missouri', 'MO', 'US'),
|
||||
(31, 'Montana', 'MT', 'US'),
|
||||
(32, 'Nebraska', 'NE', 'US'),
|
||||
(33, 'Nevada', 'NV', 'US'),
|
||||
(34, 'New Hampshire', 'NH', 'US'),
|
||||
(35, 'New Jersey', 'NJ', 'US'),
|
||||
(36, 'New Mexico', 'NM', 'US'),
|
||||
(37, 'New York', 'NY', 'US'),
|
||||
(38, 'North Carolina', 'NC', 'US'),
|
||||
(39, 'North Dakota', 'ND', 'US'),
|
||||
(40, 'Northern Mariana Islands', 'MP', 'US'),
|
||||
(41, 'Ohio', 'OH', 'US'),
|
||||
(42, 'Oklahoma', 'OK', 'US'),
|
||||
(43, 'Oregon', 'OR', 'US'),
|
||||
(44, 'Palau', 'PW', 'US'),
|
||||
(45, 'Pennsylvania', 'PA', 'US'),
|
||||
(46, 'Puerto Rico', 'PR', 'US'),
|
||||
(47, 'Rhode Island', 'RI', 'US'),
|
||||
(48, 'South Carolina', 'SC', 'US'),
|
||||
(49, 'South Dakota', 'SD', 'US'),
|
||||
(50, 'Tennessee', 'TN', 'US'),
|
||||
(51, 'Texas', 'TX', 'US'),
|
||||
(52, 'Utah', 'UT', 'US'),
|
||||
(53, 'Vermont', 'VT', 'US'),
|
||||
(54, 'Virgin Islands', 'VI', 'US'),
|
||||
(55, 'Virginia', 'VA', 'US'),
|
||||
(56, 'Washington', 'WA', 'US'),
|
||||
(57, 'West Virginia', 'WV', 'US'),
|
||||
(58, 'Wisconsin', 'WI', 'US'),
|
||||
(59, 'Wyoming', 'WY', 'US'),
|
||||
(60, 'Armed Forces Africa', 'AE', 'US'),
|
||||
(61, 'Armed Forces Americas (except Canada)', 'AA', 'US'),
|
||||
(62, 'Armed Forces Canada', 'AE', 'US'),
|
||||
(63, 'Armed Forces Europe', 'AE', 'US'),
|
||||
(64, 'Armed Forces Middle East', 'AE', 'US'),
|
||||
(65, 'Armed Forces Pacific', 'AP', 'US');
|
||||
|
||||
|
||||
|
||||
INSERT INTO `Nationality` (`id`, `name`) VALUES
|
||||
(1, 'Afghan'),
|
||||
(2, 'Albanian'),
|
||||
(3, 'Algerian'),
|
||||
(4, 'American'),
|
||||
(5, 'Andorran'),
|
||||
(6, 'Angolan'),
|
||||
(7, 'Antiguans'),
|
||||
(8, 'Argentinean'),
|
||||
(9, 'Armenian'),
|
||||
(10, 'Australian'),
|
||||
(11, 'Austrian'),
|
||||
(12, 'Azerbaijani'),
|
||||
(13, 'Bahamian'),
|
||||
(14, 'Bahraini'),
|
||||
(15, 'Bangladeshi'),
|
||||
(16, 'Barbadian'),
|
||||
(17, 'Barbudans'),
|
||||
(18, 'Batswana'),
|
||||
(19, 'Belarusian'),
|
||||
(20, 'Belgian'),
|
||||
(21, 'Belizean'),
|
||||
(22, 'Beninese'),
|
||||
(23, 'Bhutanese'),
|
||||
(24, 'Bolivian'),
|
||||
(25, 'Bosnian'),
|
||||
(26, 'Brazilian'),
|
||||
(27, 'British'),
|
||||
(28, 'Bruneian'),
|
||||
(29, 'Bulgarian'),
|
||||
(30, 'Burkinabe'),
|
||||
(31, 'Burmese'),
|
||||
(32, 'Burundian'),
|
||||
(33, 'Cambodian'),
|
||||
(34, 'Cameroonian'),
|
||||
(35, 'Canadian'),
|
||||
(36, 'Cape Verdean'),
|
||||
(37, 'Central African'),
|
||||
(38, 'Chadian'),
|
||||
(39, 'Chilean'),
|
||||
(40, 'Chinese'),
|
||||
(41, 'Colombian'),
|
||||
(42, 'Comoran'),
|
||||
(43, 'Congolese'),
|
||||
(44, 'Costa Rican'),
|
||||
(45, 'Croatian'),
|
||||
(46, 'Cuban'),
|
||||
(47, 'Cypriot'),
|
||||
(48, 'Czech'),
|
||||
(49, 'Danish'),
|
||||
(50, 'Djibouti'),
|
||||
(51, 'Dominican'),
|
||||
(52, 'Dutch'),
|
||||
(53, 'East Timorese'),
|
||||
(54, 'Ecuadorean'),
|
||||
(55, 'Egyptian'),
|
||||
(56, 'Emirian'),
|
||||
(57, 'Equatorial Guinean'),
|
||||
(58, 'Eritrean'),
|
||||
(59, 'Estonian'),
|
||||
(60, 'Ethiopian'),
|
||||
(61, 'Fijian'),
|
||||
(62, 'Filipino'),
|
||||
(63, 'Finnish'),
|
||||
(64, 'French'),
|
||||
(65, 'Gabonese'),
|
||||
(66, 'Gambian'),
|
||||
(67, 'Georgian'),
|
||||
(68, 'German'),
|
||||
(69, 'Ghanaian'),
|
||||
(70, 'Greek'),
|
||||
(71, 'Grenadian'),
|
||||
(72, 'Guatemalan'),
|
||||
(73, 'Guinea-Bissauan'),
|
||||
(74, 'Guinean'),
|
||||
(75, 'Guyanese'),
|
||||
(76, 'Haitian'),
|
||||
(77, 'Herzegovinian'),
|
||||
(78, 'Honduran'),
|
||||
(79, 'Hungarian'),
|
||||
(80, 'I-Kiribati'),
|
||||
(81, 'Icelander'),
|
||||
(82, 'Indian'),
|
||||
(83, 'Indonesian'),
|
||||
(84, 'Iranian'),
|
||||
(85, 'Iraqi'),
|
||||
(86, 'Irish'),
|
||||
(87, 'Israeli'),
|
||||
(88, 'Italian'),
|
||||
(89, 'Ivorian'),
|
||||
(90, 'Jamaican'),
|
||||
(91, 'Japanese'),
|
||||
(92, 'Jordanian'),
|
||||
(93, 'Kazakhstani'),
|
||||
(94, 'Kenyan'),
|
||||
(95, 'Kittian and Nevisian'),
|
||||
(96, 'Kuwaiti'),
|
||||
(97, 'Kyrgyz'),
|
||||
(98, 'Laotian'),
|
||||
(99, 'Latvian'),
|
||||
(100, 'Lebanese'),
|
||||
(101, 'Liberian'),
|
||||
(102, 'Libyan'),
|
||||
(103, 'Liechtensteiner'),
|
||||
(104, 'Lithuanian'),
|
||||
(105, 'Luxembourger'),
|
||||
(106, 'Macedonian'),
|
||||
(107, 'Malagasy'),
|
||||
(108, 'Malawian'),
|
||||
(109, 'Malaysian'),
|
||||
(110, 'Maldivan'),
|
||||
(111, 'Malian'),
|
||||
(112, 'Maltese'),
|
||||
(113, 'Marshallese'),
|
||||
(114, 'Mauritanian'),
|
||||
(115, 'Mauritian'),
|
||||
(116, 'Mexican'),
|
||||
(117, 'Micronesian'),
|
||||
(118, 'Moldovan'),
|
||||
(119, 'Monacan'),
|
||||
(120, 'Mongolian'),
|
||||
(121, 'Moroccan'),
|
||||
(122, 'Mosotho'),
|
||||
(123, 'Motswana'),
|
||||
(124, 'Mozambican'),
|
||||
(125, 'Namibian'),
|
||||
(126, 'Nauruan'),
|
||||
(127, 'Nepalese'),
|
||||
(128, 'New Zealander'),
|
||||
(129, 'Nicaraguan'),
|
||||
(130, 'Nigerian'),
|
||||
(131, 'Nigerien'),
|
||||
(132, 'North Korean'),
|
||||
(133, 'Northern Irish'),
|
||||
(134, 'Norwegian'),
|
||||
(135, 'Omani'),
|
||||
(136, 'Pakistani'),
|
||||
(137, 'Palauan'),
|
||||
(138, 'Panamanian'),
|
||||
(139, 'Papua New Guinean'),
|
||||
(140, 'Paraguayan'),
|
||||
(141, 'Peruvian'),
|
||||
(142, 'Polish'),
|
||||
(143, 'Portuguese'),
|
||||
(144, 'Qatari'),
|
||||
(145, 'Romanian'),
|
||||
(146, 'Russian'),
|
||||
(147, 'Rwandan'),
|
||||
(148, 'Saint Lucian'),
|
||||
(149, 'Salvadoran'),
|
||||
(150, 'Samoan'),
|
||||
(151, 'San Marinese'),
|
||||
(152, 'Sao Tomean'),
|
||||
(153, 'Saudi'),
|
||||
(154, 'Scottish'),
|
||||
(155, 'Senegalese'),
|
||||
(156, 'Serbian'),
|
||||
(157, 'Seychellois'),
|
||||
(158, 'Sierra Leonean'),
|
||||
(159, 'Singaporean'),
|
||||
(160, 'Slovakian'),
|
||||
(161, 'Slovenian'),
|
||||
(162, 'Solomon Islander'),
|
||||
(163, 'Somali'),
|
||||
(164, 'South African'),
|
||||
(165, 'South Korean'),
|
||||
(166, 'Spanish'),
|
||||
(167, 'Sri Lankan'),
|
||||
(168, 'Sudanese'),
|
||||
(169, 'Surinamer'),
|
||||
(170, 'Swazi'),
|
||||
(171, 'Swedish'),
|
||||
(172, 'Swiss'),
|
||||
(173, 'Syrian'),
|
||||
(174, 'Taiwanese'),
|
||||
(175, 'Tajik'),
|
||||
(176, 'Tanzanian'),
|
||||
(177, 'Thai'),
|
||||
(178, 'Togolese'),
|
||||
(179, 'Tongan'),
|
||||
(180, 'Trinidadian or Tobagonian'),
|
||||
(181, 'Tunisian'),
|
||||
(182, 'Turkish'),
|
||||
(183, 'Tuvaluan'),
|
||||
(184, 'Ugandan'),
|
||||
(185, 'Ukrainian'),
|
||||
(186, 'Uruguayan'),
|
||||
(187, 'Uzbekistani'),
|
||||
(188, 'Venezuelan'),
|
||||
(189, 'Vietnamese'),
|
||||
(190, 'Welsh'),
|
||||
(191, 'Yemenite'),
|
||||
(192, 'Zambian'),
|
||||
(193, 'Zimbabwean');
|
||||
|
||||
INSERT INTO `WorkDays` (`id`, `name`, `status`, `country`) VALUES
|
||||
(1, 'Monday', 'Full Day',NULL),
|
||||
(2, 'Tuesday', 'Full Day',NULL),
|
||||
(3, 'Wednesday', 'Full Day',NULL),
|
||||
(4, 'Thursday', 'Full Day',NULL),
|
||||
(5, 'Friday', 'Full Day',NULL),
|
||||
(6, 'Saturday', 'Non-working Day',NULL),
|
||||
(7, 'Sunday', 'Non-working Day',NULL);
|
||||
|
||||
|
||||
INSERT INTO `Reports` (`id`, `name`, `details`, `parameters`, `query`, `paramOrder`, `type`) VALUES
|
||||
(1, 'Employee Details Report', 'This report list all employee details and you can filter employees by department, employment status or job title', '[\r\n[ "department", {"label":"Department","type":"select2","remote-source":["CompanyStructure","id","title"],"allow-null":true}],\r\n[ "employment_status", {"label":"Employment Status","type":"select2","remote-source":["EmploymentStatus","id","name"],"allow-null":true}],\r\n[ "job_title", {"label":"Job Title","type":"select2","remote-source":["JobTitle","id","name"],"allow-null":true}]\r\n]', 'Select id, employee_id as ''Employee ID'',\r\nconcat(`first_name`,'' '',`middle_name`,'' '', `last_name`) as ''Name'',\r\n(SELECT name from Nationality where id = nationality) as ''Nationality'',\r\nbirthday as ''Birthday'',\r\ngender as ''Gender'',\r\nmarital_status as ''Marital Status'',\r\nssn_num as ''SSN Number'',\r\nnic_num as ''NIC Number'',\r\nother_id as ''Other IDs'',\r\ndriving_license as ''Driving License Number'',\r\n(SELECT name from EmploymentStatus where id = employment_status) as ''Employment Status'',\r\n(SELECT name from JobTitles where id = job_title) as ''Job Title'',\r\n(SELECT name from PayGrades where id = pay_grade) as ''Pay Grade'',\r\nwork_station_id as ''Work Station ID'',\r\naddress1 as ''Address 1'',\r\naddress2 as ''Address 2'',\r\ncity as ''City'',\r\n(SELECT name from Country where code = country) as ''Country'',\r\n(SELECT name from Province where id = province) as ''Province'',\r\npostal_code as ''Postal Code'',\r\nhome_phone as ''Home Phone'',\r\nmobile_phone as ''Mobile Phone'',\r\nwork_phone as ''Work Phone'',\r\nwork_email as ''Work Email'',\r\nprivate_email as ''Private Email'',\r\njoined_date as ''Joined Date'',\r\nconfirmation_date as ''Confirmation Date'',\r\n(SELECT title from CompanyStructures where id = department) as ''Department'',\r\n(SELECT concat(`first_name`,'' '',`middle_name`,'' '', `last_name`,'' [Employee ID:'',`employee_id`,'']'') from Employees e1 where e1.id = e.supervisor) as ''Supervisor'' \r\nFROM Employees e _where_', '["department","employment_status","job_title"]', 'Query'),
|
||||
(3, 'Employee Time Entry Report', 'This report list all employee time entries by employee, date range and project', '[\r\n[ "employee", {"label":"Employee","type":"select2multi","allow-null":true,"null-label":"All Employees","remote-source":["Employee","id","first_name+last_name"]}],\r\n[ "project", {"label":"Project","type":"select","allow-null":true,"remote-source":["Project","id","name"]}],\r\n[ "date_start", {"label":"Start Date","type":"date"}],\r\n[ "date_end", {"label":"End Date","type":"date"}]\r\n]', 'EmployeeTimesheetReport', '["employee","date_start","date_end","status"]', 'Class'),
|
||||
(4, 'Employee Attendance Report', 'This report list all employee attendance entries by employee and date range', '[\r\n[ "employee", {"label":"Employee","type":"select2multi","allow-null":true,"null-label":"All Employees","remote-source":["Employee","id","first_name+last_name"]}],\r\n[ "date_start", {"label":"Start Date","type":"date"}],\r\n[ "date_end", {"label":"End Date","type":"date"}]\r\n]', 'EmployeeAttendanceReport', '["employee","date_start","date_end"]', 'Class'),
|
||||
(5, 'Employee Time Tracking Report', 'This report list employee working hours and attendance details for each day for a given period ', '[\r\n[ "employee", {"label":"Employee","type":"select2","allow-null":false,"remote-source":["Employee","id","first_name+last_name"]}],\r\n[ "date_start", {"label":"Start Date","type":"date"}],\r\n[ "date_end", {"label":"End Date","type":"date"}]\r\n]', 'EmployeeTimeTrackReport', '["employee","date_start","date_end"]', 'Class');
|
||||
|
||||
|
||||
|
||||
INSERT INTO `Settings` (`name`, `value`, `description`, `meta`) VALUES
|
||||
('Company: Name', 'Sample Company Pvt Ltd', 'Update your company name - For updating company logo copy a file named logo.png to /app/data/ folder', ''),
|
||||
('Email: Enable', '1', '0 will disable all outgoing emails from modules. Value 1 will enable outgoing emails','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('Email: Mode', 'SMTP', 'SMTP, PHP Mailer or Amazon SES. SMTP = send emails using local or a remote smtp server. PHP Mailer = send emails using mail function provided by php. Amazon SES = send emails trough amazon Simple Email Service.','["value", {"label":"Value","type":"select","source":[["SMTP","SMTP"],["PHP Mailer","PHP Mailer"],["SES","Amazon SES"]]}]'),
|
||||
('Email: SMTP Host', 'localhost', 'SMTP host IP',''),
|
||||
('Email: SMTP Authentication Required', '0', 'Is authentication required by this SMTP server','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('Email: SMTP User', 'none', 'SMTP user',''),
|
||||
('Email: SMTP Password', 'none', 'SMTP password',''),
|
||||
('Email: SMTP Port', 'none', '25',''),
|
||||
('Email: Amazon Access Key ID', '', 'If email mode is Amazon SNS please provide SNS Key',''),
|
||||
('Email: Amazon Secret Access Key', '', 'If email mode is Amazon SNS please provide SNS Secret',''),
|
||||
('Email: Email From', 'icehrm@mydomain.com', '',''),
|
||||
('System: Do not pass JSON in request', '0', 'Select Yes if you are having trouble loading data for some tables','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('System: Reset Modules and Permissions', '0', 'Select this to reset module and permission information in Database (If you have done any changes to meta files)','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('System: Add New Permissions', '0', 'Select this to add new permission changes done to meta.json file of any module','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('System: Debug Mode', '0', '','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('Projects: Make All Projects Available to Employees', '1', '','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('Attendance: Time-sheet Cross Check', '0', 'Only allow users to add an entry to a timesheet only if they have marked atteandance for the selected period','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]'),
|
||||
('Api: REST Api Enabled', '0', '','["value", {"label":"Value","type":"select","source":[["0","No"],["1","Yes"]]}]');
|
||||
|
||||
|
||||
INSERT INTO `Certifications` (`id`, `name`, `description`) VALUES
|
||||
(1, 'Red Hat Certified Architect (RHCA)', 'Red Hat Certified Architect (RHCA)'),
|
||||
(2, 'GIAC Secure Software Programmer -Java', 'GIAC Secure Software Programmer -Java'),
|
||||
(3, 'Risk Management Professional (PMI)', 'Risk Management Professional (PMI)'),
|
||||
(4, 'IT Infrastructure Library (ITIL) Expert Certification', 'IT Infrastructure Library (ITIL) Expert Certification'),
|
||||
(5, 'Microsoft Certified Architect', 'Microsoft Certified Architect'),
|
||||
(6, 'Oracle Exadata 11g Certified Implementation Specialist', 'Oracle Exadata 11g Certified Implementation Specialist'),
|
||||
(7, 'Cisco Certified Design Professional (CCDP)', 'Cisco Certified Design Professional (CCDP)'),
|
||||
(8, 'Cisco Certified Internetwork Expert (CCIE)', 'Cisco Certified Internetwork Expert (CCIE)'),
|
||||
(9, 'Cisco Certified Network Associate', 'Cisco Certified Network Associate'),
|
||||
(10, 'HP/Master Accredited Solutions Expert (MASE)', 'HP/Master Accredited Solutions Expert (MASE)'),
|
||||
(11, 'HP/Master Accredited Systems Engineer (Master ASE)', 'HP/Master Accredited Systems Engineer (Master ASE)'),
|
||||
(12, 'Certified Information Security Manager (CISM)', 'Certified Information Security Manager (CISM)'),
|
||||
(13, 'Certified Information Systems Auditor (CISA)', 'Certified Information Systems Auditor (CISA)'),
|
||||
(14, 'CyberSecurity Forensic Analyst (CSFA)', 'CyberSecurity Forensic Analyst (CSFA)'),
|
||||
(15, 'Open Group Certified Architect (OpenCA)', 'Open Group Certified Architect (OpenCA)'),
|
||||
(16, 'Oracle DBA Administrator Certified Master OCM', 'Oracle DBA Administrator Certified Master OCM'),
|
||||
(17, 'Project Management Professional', 'Project Management Professional'),
|
||||
(18, 'Apple Certified Support Professional', 'Apple Certified Support Professional'),
|
||||
(19, 'Certified Public Accountant (CPA)', 'Certified Public Accountant (CPA)'),
|
||||
(20, 'Chartered Financial Analyst', 'Chartered Financial Analyst'),
|
||||
(21, 'Professional in Human Resources (PHR)', 'Professional in Human Resources (PHR)');
|
||||
|
||||
|
||||
|
||||
INSERT INTO `Clients` (`id`, `name`, `details`, `first_contact_date`, `created`, `address`, `contact_number`, `contact_email`, `company_url`, `status`) VALUES
|
||||
(1, 'IceHrm Sample Client 1', NULL, '2012-01-04', '2013-01-03 05:47:33', '001, Sample Road,\nSample City, USA', '678-894-1047', 'icehrm+client1@web-stalk.com', 'http://icehrm.com', 'Active'),
|
||||
(2, 'IceHrm Sample Client 2', NULL, '2012-01-04', '2013-01-03 05:47:33', '001, Sample Road,\nSample City, USA', '678-894-1047', 'icehrm+client1@web-stalk.com', 'http://icehrm.com', 'Active'),
|
||||
(3, 'IceHrm Sample Client 3', NULL, '2012-01-04', '2013-01-03 05:47:33', '001, Sample Road,\nSample City, USA', '678-894-1047', 'icehrm+client1@web-stalk.com', 'http://icehrm.com', 'Active');
|
||||
|
||||
|
||||
INSERT INTO `CompanyLoans` (`id`, `name`, `details`) VALUES
|
||||
(1, 'Personal loan', 'Personal loans'),
|
||||
(2, 'Educational loan', 'Educational loan');
|
||||
|
||||
|
||||
INSERT INTO `CompanyStructures` (`id`, `title`, `description`, `address`, `type`, `country`, `parent`) VALUES
|
||||
(1, 'Your Company', 'Please update your company name here. You can update, delete or add units according to your needs', '', 'Company', 'US', NULL),
|
||||
(2, 'Head Office', 'US Head office', 'PO Box 001002\nSample Road, Sample Town', 'Head Office', 'US', 1),
|
||||
(3, 'Marketing Department', 'Marketing Department', 'PO Box 001002\nSample Road, Sample Town', 'Department', 'US', 2);
|
||||
|
||||
|
||||
INSERT INTO `Documents` (`id`, `name`, `details`) VALUES
|
||||
(1, 'ID Copy', 'Your ID copy'),
|
||||
(2, 'Degree Ceritficate', 'Degree Ceritficate'),
|
||||
(3, 'Driving License', 'Driving License');
|
||||
|
||||
|
||||
INSERT INTO `Educations` (`id`, `name`, `description`) VALUES
|
||||
(1, 'Bachelors Degree', 'Bachelors Degree'),
|
||||
(2, 'Diploma', 'Diploma'),
|
||||
(3, 'Masters Degree', 'Masters Degree'),
|
||||
(4, 'Doctorate', 'Doctorate');
|
||||
|
||||
INSERT INTO `HoliDays` (`id`, `name`, `dateh`, `status`) VALUES
|
||||
(1, 'New Year''s Day', '2015-01-01', 'Full Day'),
|
||||
(2, 'Christmas Day', '2015-12-25', 'Full Day');
|
||||
|
||||
|
||||
INSERT INTO `JobTitles` (`id`, `code`, `name`, `description`, `specification`) VALUES
|
||||
(1, 'SE', 'Software Engineer', 'The work of a software engineer typically includes designing and programming system-level software: operating systems, database systems, embedded systems and so on. They understand how both software a', 'Software Engineer'),
|
||||
(2, 'ASE', 'Assistant Software Engineer', 'Assistant Software Engineer', 'Assistant Software Engineer'),
|
||||
(3, 'PM', 'Project Manager', 'Project Manager', 'Project Manager'),
|
||||
(4, 'QAE', 'QA Engineer', 'Quality Assurance Engineer ', 'Quality Assurance Engineer '),
|
||||
(5, 'PRM', 'Product Manager', 'Product Manager', 'Product Manager'),
|
||||
(6, 'AQAE', 'Assistant QA Engineer ', 'Assistant QA Engineer ', 'Assistant QA Engineer '),
|
||||
(7, 'TPM', 'Technical Project Manager', 'Technical Project Manager', 'Technical Project Manager'),
|
||||
(8, 'PRS', 'Pre-Sales Executive', 'Pre-Sales Executive', 'Pre-Sales Executive'),
|
||||
(9, 'ME', 'Marketing Executive', 'Marketing Executive', 'Marketing Executive'),
|
||||
(10, 'DH', 'Department Head', 'Department Head', 'Department Head'),
|
||||
(11, 'CEO', 'Chief Executive Officer', 'Chief Executive Officer', 'Chief Executive Officer'),
|
||||
(12, 'DBE', 'Database Engineer', 'Database Engineer', 'Database Engineer'),
|
||||
(13, 'SA', 'Server Admin', 'Server Admin', 'Server Admin');
|
||||
|
||||
|
||||
INSERT INTO `Languages` (`id`, `name`, `description`) VALUES
|
||||
(1, 'English', 'English'),
|
||||
(2, 'French', 'French'),
|
||||
(3, 'German', 'German'),
|
||||
(4, 'Chinese', 'Chinese');
|
||||
|
||||
|
||||
|
||||
INSERT INTO `PayGrades` (`id`, `name`, `currency`, `min_salary`, `max_salary`) VALUES
|
||||
(1, 'Manager', 'SGD', '5000.00', '15000.00'),
|
||||
(2, 'Executive', 'SGD', '3500.00', '7000.00'),
|
||||
(3, 'Assistant ', 'SGD', '2000.00', '4000.00'),
|
||||
(4, 'Administrator', 'SGD', '2000.00', '6000.00');
|
||||
|
||||
INSERT INTO `Projects` (`id`, `name`, `client`, `details`, `created`, `status`) VALUES
|
||||
(1, 'Project 1', 3, NULL, '2013-01-03 05:53:38', 'Active'),
|
||||
(2, 'Project 2', 3, NULL, '2013-01-03 05:54:22', 'Active'),
|
||||
(3, 'Project 3', 1, NULL, '2013-01-03 05:55:02', 'Active'),
|
||||
(4, 'Project 4', 2, NULL, '2013-01-03 05:56:16', 'Active');
|
||||
|
||||
INSERT INTO `Skills` (`id`, `name`, `description`) VALUES
|
||||
(1, 'Programming and Application Development', 'Programming and Application Development'),
|
||||
(2, 'Project Management', 'Project Management'),
|
||||
(3, 'Help Desk/Technical Support', 'Help Desk/Technical Support'),
|
||||
(4, 'Networking', 'Networking'),
|
||||
(5, 'Databases', 'Databases'),
|
||||
(6, 'Business Intelligence', 'Business Intelligence'),
|
||||
(7, 'Cloud Computing', 'Cloud Computing'),
|
||||
(8, 'Information Security', 'Information Security'),
|
||||
(9, 'HTML Skills', 'HTML Skills'),
|
||||
(10, 'Graphic Designing', 'Graphic Designing');
|
||||
|
||||
INSERT INTO `EmploymentStatus` (`id`, `name`, `description`) VALUES
|
||||
(1, 'Full Time Contract', 'Full Time Contract'),
|
||||
(2, 'Full Time Internship', 'Full Time Internship'),
|
||||
(3, 'Full Time Permanent', 'Full Time Permanent'),
|
||||
(4, 'Part Time Contract', 'Part Time Contract'),
|
||||
(5, 'Part Time Internship', 'Part Time Internship'),
|
||||
(6, 'Part Time Permanent', 'Part Time Permanent');
|
||||
|
||||
INSERT INTO `FieldNameMappings` (`type`, `name`, `textOrig`, `textMapped`, `display`) VALUES
|
||||
('Employee', 'employee_id', 'Employee Number', 'Employee Number', 'Table and Form'),
|
||||
('Employee', 'first_name', 'First Name', 'First Name', 'Table and Form'),
|
||||
('Employee', 'middle_name', 'Middle Name', 'Middle Name', 'Form'),
|
||||
('Employee', 'last_name', 'Last Name', 'Last Name', 'Table and Form'),
|
||||
('Employee', 'nationality', 'Nationality', 'Nationality', 'Form'),
|
||||
('Employee', 'ethnicity', 'Ethnicity', 'Ethnicity', 'Form'),
|
||||
('Employee', 'immigration_status', 'Immigration Status', 'Immigration Status', 'Form'),
|
||||
('Employee', 'birthday', 'Date of Birth', 'Date of Birth', 'Form'),
|
||||
('Employee', 'gender', 'Gender', 'Gender', 'Form'),
|
||||
('Employee', 'marital_status', 'Marital Status', 'Marital Status', 'Form'),
|
||||
('Employee', 'ssn_num', 'SSN/NRIC', 'SSN/NRIC', 'Form'),
|
||||
('Employee', 'nic_num', 'NIC', 'NIC', 'Form'),
|
||||
('Employee', 'other_id', 'Other ID', 'Other ID', 'Form'),
|
||||
('Employee', 'driving_license', 'Driving License No', 'Driving License No', 'Form'),
|
||||
('Employee', 'employment_status', 'Employment Status', 'Employment Status', 'Form'),
|
||||
('Employee', 'job_title', 'Job Title', 'Job Title', 'Form'),
|
||||
('Employee', 'pay_grade', 'Pay Grade', 'Pay Grade', 'Form'),
|
||||
('Employee', 'work_station_id', 'Work Station Id', 'Work Station Id', 'Form'),
|
||||
('Employee', 'address1', 'Address Line 1', 'Address Line 1', 'Form'),
|
||||
('Employee', 'address2', 'Address Line 2', 'Address Line 2', 'Form'),
|
||||
('Employee', 'city', 'City', 'City', 'Form'),
|
||||
('Employee', 'country', 'Country', 'Country', 'Form'),
|
||||
('Employee', 'province', 'Province', 'Province', 'Form'),
|
||||
('Employee', 'postal_code', 'Postal/Zip Code', 'Postal/Zip Code', 'Form'),
|
||||
('Employee', 'home_phone', 'Home Phone', 'Home Phone', 'Form'),
|
||||
('Employee', 'mobile_phone', 'Mobile Phone', 'Mobile Phone', 'Table and Form'),
|
||||
('Employee', 'work_phone', 'Work Phone', 'Work Phone', 'Form'),
|
||||
('Employee', 'work_email', 'Work Email', 'Work Email', 'Form'),
|
||||
('Employee', 'private_email', 'Private Email', 'Private Email', 'Form'),
|
||||
('Employee', 'joined_date', 'Joined Date', 'Joined Date', 'Form'),
|
||||
('Employee', 'confirmation_date', 'Confirmation Date', 'Confirmation Date', 'Form'),
|
||||
('Employee', 'termination_date', 'Termination Date', 'Termination Date', 'Form'),
|
||||
('Employee', 'supervisor', 'Supervisor', 'Supervisor', 'Table and Form'),
|
||||
('Employee', 'department', 'Department', 'Department', 'Table and Form'),
|
||||
('Employee', 'notes', 'Notes', 'Notes', 'Form');
|
||||
|
||||
|
||||
INSERT INTO `CustomFields` (`type`, `name`, `data`,`display`) VALUES
|
||||
('Employee', 'custom1', '', 'Hidden'),
|
||||
('Employee', 'custom2', '', 'Hidden'),
|
||||
('Employee', 'custom3', '', 'Hidden'),
|
||||
('Employee', 'custom4', '', 'Hidden'),
|
||||
('Employee', 'custom5', '', 'Hidden'),
|
||||
('Employee', 'custom6', '', 'Hidden'),
|
||||
('Employee', 'custom7', '', 'Hidden'),
|
||||
('Employee', 'custom8', '', 'Hidden'),
|
||||
('Employee', 'custom9', '', 'Hidden'),
|
||||
('Employee', 'custom10', '', 'Hidden');
|
||||
|
||||
|
||||
INSERT INTO `Employees` (`id`, `employee_id`, `first_name`, `middle_name`, `last_name`, `nationality`, `birthday`, `gender`, `marital_status`, `ssn_num`, `nic_num`, `other_id`, `driving_license`, `driving_license_exp_date`, `employment_status`, `job_title`, `pay_grade`, `work_station_id`, `address1`, `address2`, `city`, `country`, `province`, `postal_code`, `home_phone`, `mobile_phone`, `work_phone`, `work_email`, `private_email`, `joined_date`, `confirmation_date`, `supervisor`, `department`, `custom1`, `custom2`, `custom3`, `custom4`, `custom5`, `custom6`, `custom7`, `custom8`, `custom9`, `custom10`) VALUES
|
||||
(1, 'EMP001', 'IceHrm', 'Sample', 'Employee', 35, '1984-03-17 18:30:00', 'Male', 'Married', '', '294-38-3535', '294-38-3535', '', NULL, 3, 11, 2, '', '2772 Flynn Street', 'Willoughby', 'Willoughby', 'US', 41, '44094', '440-953-4578', '440-953-4578', '440-953-4578', 'icehrm+admin@web-stalk.com', 'icehrm+admin@web-stalk.com', '2005-08-03 18:00:00', '0000-00-00 00:00:00', NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO `UserRoles` VALUES
|
||||
(1,'Report Manager'),
|
||||
(2,'Attendance Manager');
|
||||
|
||||
|
||||
INSERT INTO `Users` VALUES
|
||||
(1,'admin','icehrm+admin@web-stalk.com','21232f297a57a5a743894a0e4a801fc3',1,NULL,'Admin','',NULL,NULL,NULL);
|
||||
|
||||
|
||||
INSERT INTO `SalaryComponentType` (`id`,`code`, `name`) VALUES
|
||||
(1,'B001', 'Basic'),
|
||||
(2,'B002', 'Allowance');
|
||||
|
||||
|
||||
INSERT INTO `SalaryComponent` VALUES
|
||||
(1,'Basic Salary', 1,''),(2,'Fixed Allowance', 1,''),(3,'Car Allowance', 2,''),(4,'Telephone Allowance', 2,'');
|
||||
|
||||
93
core-ext/scripts/icehrm_sample_data.sql
Normal file
93
core-ext/scripts/icehrm_sample_data.sql
Normal file
@@ -0,0 +1,93 @@
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
|
||||
INSERT INTO `CompanyStructures` (`id`, `title`, `description`, `address`, `type`, `country`, `parent`) VALUES
|
||||
(4, 'Development Center', 'Development Center', 'PO Box 001002\nSample Road, Sample Town', 'Regional Office', 'SG', 1),
|
||||
(5, 'Engineering Department', 'Engineering Department', 'PO Box 001002\nSample Road, Sample Town, 341234', 'Department', 'SG', 4),
|
||||
(6, 'Development Team', 'Development Team', '', 'Unit', 'SG', 5),
|
||||
(7, 'QA Team', 'QA Team', '', 'Unit', 'SG', 5),
|
||||
(8, 'Server Administration', 'Server Administration', '', 'Unit', 'SG', 5),
|
||||
(9, 'Administration & HR', 'Administration and Human Resource', '', 'Department', 'SG', 4);
|
||||
|
||||
|
||||
INSERT INTO `Employees` (`id`, `employee_id`, `first_name`, `middle_name`, `last_name`, `nationality`, `birthday`, `gender`, `marital_status`, `ssn_num`, `nic_num`, `other_id`, `driving_license`, `driving_license_exp_date`, `employment_status`, `job_title`, `pay_grade`, `work_station_id`, `address1`, `address2`, `city`, `country`, `province`, `postal_code`, `home_phone`, `mobile_phone`, `work_phone`, `work_email`, `private_email`, `joined_date`, `confirmation_date`, `supervisor`, `department`, `custom1`, `custom2`, `custom3`, `custom4`, `custom5`, `custom6`, `custom7`, `custom8`, `custom9`, `custom10`) VALUES
|
||||
(2, 'EMP002', 'Lala', 'Nadila ', 'Lamees', 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+manager@web-stalk.com', 'icehrm+manager@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 1, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(3, 'EMP003', 'Sofia', '', 'O''Sullivan', 4, '1975-08-28 18:30:00', 'Female', 'Married', '', '768-20-4394', '768-20-4394', '', NULL, 3, 10, 2, '', '2792 Trails End Road', 'Fort Lauderdale', 'Fort Lauderdale', 'US', 12, '33308', '954-388-3340', '954-388-3340', '954-388-3340', 'icehrm+user1@web-stalk.com', 'icehrm+user1@web-stalk.com', '2010-02-08 18:30:00', '0000-00-00 00:00:00', 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(4, 'EMP004', 'Taylor', '', 'Holmes', 10, '1979-07-15 18:30:00', 'Male', 'Single', '158-06-2292', '158-06-2292', '', '', NULL, 1, 5, 2, '', '1164', 'Walnut Avenue', 'Rochelle Park', 'US', 35, '7662', '201-474-8048', '201-474-8048', '201-474-8048', 'icehrm+user2@web-stalk.com', 'icehrm+user2@web-stalk.com', '2006-07-12 18:30:00', '0000-00-00 00:00:00', 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
|
||||
|
||||
INSERT INTO `EmergencyContacts` (`id`, `employee`, `name`, `relationship`, `home_phone`, `work_phone`, `mobile_phone`) VALUES
|
||||
(1, 1, 'Emma Owns', 'Mother', '+874463422', '+874463422', '+874463422'),
|
||||
(2, 2, 'Casey Watson', 'Sister', '231-453-876', '231-453-876', '231-453-876');
|
||||
|
||||
|
||||
INSERT INTO `EmployeeCertifications` (`id`, `certification_id`, `employee`, `institute`, `date_start`, `date_end`) VALUES
|
||||
(1, 21, 1, 'PHR', '2012-06-04', '2016-06-13'),
|
||||
(2, 19, 1, 'CPA', '2010-02-16', '2019-02-28'),
|
||||
(3, 17, 2, 'PMP', '2011-06-14', '2019-10-20'),
|
||||
(4, 3, 2, 'PMI', '2004-06-08', '2017-09-14');
|
||||
|
||||
INSERT INTO `EmployeeCompanyLoans` (`id`, `employee`, `loan`, `start_date`, `last_installment_date`, `period_months`, `amount`, `monthly_installment`, `status`, `details`) VALUES
|
||||
(1, 2, 2, '2013-02-05', '0000-00-00', 12, '12000.00', '1059.45', 'Approved', '');
|
||||
|
||||
INSERT INTO `EmployeeDependents` (`id`, `employee`, `name`, `relationship`, `dob`, `id_number`) VALUES
|
||||
(1, 1, 'Emma Owns', 'Parent', '1940-06-11', '475209UHB'),
|
||||
(2, 1, 'Mica Singroo', 'Other', '2000-06-13', '');
|
||||
|
||||
|
||||
INSERT INTO `EmployeeDocuments` (`id`, `employee`, `document`, `date_added`, `valid_until`, `status`, `details`) VALUES
|
||||
(1, 2, 2, '2013-01-08', '0000-00-00', 'Active', 'zxczx');
|
||||
|
||||
|
||||
INSERT INTO `EmployeeEducations` (`id`, `education_id`, `employee`, `institute`, `date_start`, `date_end`) VALUES
|
||||
(1, 1, 1, 'National University of Turky', '2004-02-03', '2006-06-13'),
|
||||
(2, 1, 2, 'MIT', '1995-02-21', '1999-10-12');
|
||||
|
||||
|
||||
INSERT INTO `EmployeeLanguages` (`id`, `language_id`, `employee`, `reading`, `speaking`, `writing`, `understanding`) VALUES
|
||||
(1, 1, 1, 'Full Professional Proficiency', 'Full Professional Proficiency', 'Full Professional Proficiency', 'Native or Bilingual Proficiency'),
|
||||
(2, 1, 2, 'Native or Bilingual Proficiency', 'Native or Bilingual Proficiency', 'Native or Bilingual Proficiency', 'Native or Bilingual Proficiency'),
|
||||
(3, 2, 2, 'Limited Working Proficiency', 'Professional Working Proficiency', 'Limited Working Proficiency', 'Professional Working Proficiency');
|
||||
|
||||
|
||||
INSERT INTO `EmployeeProjects` (`id`, `employee`, `project`, `date_start`, `date_end`, `status`, `details`) VALUES
|
||||
(1, 2, 1, '2010-03-18', '2014-03-06', 'Inactive', ''),
|
||||
(3, 2, 2, '2013-02-05', '2013-02-11', 'Current', ''),
|
||||
(5, 2, 3, '2013-02-24', '0000-00-00', 'Current', '');
|
||||
|
||||
|
||||
|
||||
INSERT INTO `EmployeeSalary` (`id`, `employee`, `component`, `pay_frequency`, `currency`, `amount`, `details`) VALUES
|
||||
(1, 1, 'Basic', 'Monthly', 131, '2700.00', ''),
|
||||
(2, 2, 'Basic Salary', 'Monthly', 151, '12000.00', ''),
|
||||
(3, 2, 'Travelling Allowance', 'Monthly', 131, '5000.00', '');
|
||||
|
||||
|
||||
INSERT INTO `EmployeeSkills` (`id`, `skill_id`, `employee`, `details`) VALUES
|
||||
(1, 9, 1, 'Creating web sites'),
|
||||
(2, 6, 2, 'Certified Business Intelligence Professional');
|
||||
|
||||
|
||||
|
||||
INSERT INTO `Users` (`id`, `username`, `email`, `password`, `employee`, `user_level`, `last_login`, `last_update`, `created`) VALUES
|
||||
(2, 'manager', 'icehrm+manager@web-stalk.com', '4048bb914a704a0728549a26b92d8550', 2, 'Manager', '2013-01-03 02:47:37', '2013-01-03 02:47:37', '2013-01-03 02:47:37'),
|
||||
(3, 'user1', 'icehrm+user1@web-stalk.com', '4048bb914a704a0728549a26b92d8550', 3, 'Employee', '2013-01-03 02:48:32', '2013-01-03 02:48:32', '2013-01-03 02:48:32'),
|
||||
(4, 'user2', 'icehrm+user2@web-stalk.com', '4048bb914a704a0728549a26b92d8550', 4, 'Employee', '2013-01-03 02:58:55', '2013-01-03 02:58:55', '2013-01-03 02:58:55');
|
||||
|
||||
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
248
core-ext/scripts/icehrm_upgrade_opensource_latest_to_12.6.sql
Normal file
248
core-ext/scripts/icehrm_upgrade_opensource_latest_to_12.6.sql
Normal file
@@ -0,0 +1,248 @@
|
||||
/* Upgrade v10.2 to v11.0 */
|
||||
|
||||
ALTER TABLE `LeaveTypes` ADD COLUMN `leave_color` varchar(10) NULL;
|
||||
|
||||
create table `RestAccessTokens` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`userId` bigint(20) NOT NULL,
|
||||
`hash` varchar(32) default null,
|
||||
`token` varchar(500) default null,
|
||||
`created` DATETIME default '0000-00-00 00:00:00',
|
||||
`updated` DATETIME default '0000-00-00 00:00:00',
|
||||
primary key (`id`),
|
||||
unique key `userId` (`userId`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
REPLACE INTO `Settings` (`name`, `value`, `description`, `meta`) VALUES
|
||||
('Api: REST Api Enabled', '0', '','["value", {"label":"Value","type":"select","source":[["0","No"],["1","Yes"]]}]');
|
||||
|
||||
ALTER TABLE Employees ADD COLUMN `status` enum('Active','Terminated') default 'Active';
|
||||
|
||||
ALTER TABLE EmployeeLeaves MODIFY COLUMN `status` enum('Approved','Pending','Rejected','Cancellation Requested','Cancelled') default 'Pending';
|
||||
|
||||
ALTER TABLE EmployeeLeaveLog MODIFY COLUMN `status_from` enum('Approved','Pending','Rejected','Cancellation Requested','Cancelled') default 'Pending';
|
||||
ALTER TABLE EmployeeLeaveLog MODIFY COLUMN `status_to` enum('Approved','Pending','Rejected','Cancellation Requested','Cancelled') default 'Pending';
|
||||
|
||||
create table `ArchivedEmployees` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ref_id` bigint(20) NOT NULL,
|
||||
`employee_id` varchar(50) default null,
|
||||
`first_name` varchar(100) default '' not null,
|
||||
`last_name` varchar(100) default '' not null,
|
||||
`gender` enum('Male','Female') default NULL,
|
||||
`ssn_num` varchar(100) default '',
|
||||
`nic_num` varchar(100) default '',
|
||||
`other_id` varchar(100) default '',
|
||||
`work_email` varchar(100) default null,
|
||||
`joined_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`confirmation_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`supervisor` bigint(20) default null,
|
||||
`department` bigint(20) default null,
|
||||
`termination_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`notes` text default null,
|
||||
`data` longtext default null,
|
||||
primary key (`id`)
|
||||
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
/* Upgrade v11.0 to v11.1 */
|
||||
|
||||
create table `FieldNameMappings` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(20) NOT NULL,
|
||||
`name` varchar(20) NOT NULL,
|
||||
`textOrig` varchar(200) default null,
|
||||
`textMapped` varchar(200) default null,
|
||||
`display` enum('Form','Table and Form','Hidden') default 'Form',
|
||||
`created` DATETIME default '0000-00-00 00:00:00',
|
||||
`updated` DATETIME default '0000-00-00 00:00:00',
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
INSERT INTO `FieldNameMappings` (`type`, `name`, `textOrig`, `textMapped`, `display`) VALUES
|
||||
('Employee', 'employee_id', 'Employee Number', 'Employee Number', 'Table and Form'),
|
||||
('Employee', 'first_name', 'First Name', 'First Name', 'Table and Form'),
|
||||
('Employee', 'middle_name', 'Middle Name', 'Middle Name', 'Form'),
|
||||
('Employee', 'last_name', 'Last Name', 'Last Name', 'Table and Form'),
|
||||
('Employee', 'nationality', 'Nationality', 'Nationality', 'Form'),
|
||||
('Employee', 'ethnicity', 'Ethnicity', 'Ethnicity', 'Form'),
|
||||
('Employee', 'immigration_status', 'Immigration Status', 'Immigration Status', 'Form'),
|
||||
('Employee', 'birthday', 'Date of Birth', 'Date of Birth', 'Form'),
|
||||
('Employee', 'gender', 'Gender', 'Gender', 'Form'),
|
||||
('Employee', 'marital_status', 'Marital Status', 'Marital Status', 'Form'),
|
||||
('Employee', 'ssn_num', 'SSN/NRIC', 'SSN/NRIC', 'Form'),
|
||||
('Employee', 'nic_num', 'NIC', 'NIC', 'Form'),
|
||||
('Employee', 'other_id', 'Other ID', 'Other ID', 'Form'),
|
||||
('Employee', 'driving_license', 'Driving License No', 'Driving License No', 'Form'),
|
||||
('Employee', 'employment_status', 'Employment Status', 'Employment Status', 'Form'),
|
||||
('Employee', 'job_title', 'Job Title', 'Job Title', 'Form'),
|
||||
('Employee', 'pay_grade', 'Pay Grade', 'Pay Grade', 'Form'),
|
||||
('Employee', 'work_station_id', 'Work Station Id', 'Work Station Id', 'Form'),
|
||||
('Employee', 'address1', 'Address Line 1', 'Address Line 1', 'Form'),
|
||||
('Employee', 'address2', 'Address Line 2', 'Address Line 2', 'Form'),
|
||||
('Employee', 'city', 'City', 'City', 'Form'),
|
||||
('Employee', 'country', 'Country', 'Country', 'Form'),
|
||||
('Employee', 'province', 'Province', 'Province', 'Form'),
|
||||
('Employee', 'postal_code', 'Postal/Zip Code', 'Postal/Zip Code', 'Form'),
|
||||
('Employee', 'home_phone', 'Home Phone', 'Home Phone', 'Form'),
|
||||
('Employee', 'mobile_phone', 'Mobile Phone', 'Mobile Phone', 'Table and Form'),
|
||||
('Employee', 'work_phone', 'Work Phone', 'Work Phone', 'Form'),
|
||||
('Employee', 'work_email', 'Work Email', 'Work Email', 'Form'),
|
||||
('Employee', 'private_email', 'Private Email', 'Private Email', 'Form'),
|
||||
('Employee', 'joined_date', 'Joined Date', 'Joined Date', 'Form'),
|
||||
('Employee', 'confirmation_date', 'Confirmation Date', 'Confirmation Date', 'Form'),
|
||||
('Employee', 'termination_date', 'Termination Date', 'Termination Date', 'Form'),
|
||||
('Employee', 'supervisor', 'Supervisor', 'Supervisor', 'Table and Form'),
|
||||
('Employee', 'department', 'Department', 'Department', 'Table and Form'),
|
||||
('Employee', 'notes', 'Notes', 'Notes', 'Form');
|
||||
|
||||
|
||||
create table `CustomFields` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(20) NOT NULL,
|
||||
`name` varchar(20) NOT NULL,
|
||||
`data` text default null,
|
||||
`display` enum('Form','Table and Form','Hidden') default 'Form',
|
||||
`created` DATETIME default '0000-00-00 00:00:00',
|
||||
`updated` DATETIME default '0000-00-00 00:00:00',
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
INSERT INTO `CustomFields` (`type`, `name`, `data`,`display`) VALUES
|
||||
('Employee', 'custom1', '', 'Hidden'),
|
||||
('Employee', 'custom2', '', 'Hidden'),
|
||||
('Employee', 'custom3', '', 'Hidden'),
|
||||
('Employee', 'custom4', '', 'Hidden'),
|
||||
('Employee', 'custom5', '', 'Hidden'),
|
||||
('Employee', 'custom6', '', 'Hidden'),
|
||||
('Employee', 'custom7', '', 'Hidden'),
|
||||
('Employee', 'custom8', '', 'Hidden'),
|
||||
('Employee', 'custom9', '', 'Hidden'),
|
||||
('Employee', 'custom10', '', 'Hidden');
|
||||
|
||||
|
||||
Alter table `Employees` MODIFY COLUMN `middle_name` varchar(100) default null;
|
||||
Alter table `Employees` MODIFY COLUMN `last_name` varchar(100) default null;
|
||||
Alter table `Employees` MODIFY COLUMN `ssn_num` varchar(100) default NULL;
|
||||
Alter table `Employees` MODIFY COLUMN `nic_num` varchar(100) default NULL;
|
||||
Alter table `Employees` MODIFY COLUMN `other_id` varchar(100) default NULL;
|
||||
Alter table `Employees` MODIFY COLUMN `driving_license` varchar(100) default NULL;
|
||||
Alter table `Employees` MODIFY COLUMN `work_station_id` varchar(100) default NULL;
|
||||
Alter table `Employees` MODIFY COLUMN `address1` varchar(100) default NULL;
|
||||
Alter table `Employees` MODIFY COLUMN `address2` varchar(100) default NULL;
|
||||
Alter table `Employees` MODIFY COLUMN `city` varchar(150) default NULL;
|
||||
|
||||
|
||||
Alter table `Employees` ADD COLUMN `ethnicity` bigint(20) default null;
|
||||
Alter table `Employees` ADD COLUMN `immigration_status` bigint(20) default null;
|
||||
|
||||
|
||||
Alter table `EmployeeSalary` MODIFY COLUMN `component` bigint(20) NOT NULL;
|
||||
Alter table `EmployeeSalary` MODIFY COLUMN `currency` bigint(20) NULL;
|
||||
|
||||
INSERT INTO `SalaryComponentType` (`id`,`code`, `name`) VALUES
|
||||
(1,'B001', 'Basic'),
|
||||
(2,'B002', 'Allowance');
|
||||
|
||||
|
||||
INSERT INTO `SalaryComponent` VALUES
|
||||
(1,'Basic Salary', 1,''),(2,'Fixed Allowance', 1,''),(3,'Car Allowance', 2,''),(4,'Telephone Allowance', 2,'');
|
||||
|
||||
|
||||
|
||||
/* Upgrade v11.1 to v12.0 */
|
||||
|
||||
ALTER TABLE Users ADD COLUMN user_roles text null;
|
||||
ALTER TABLE Users ADD COLUMN `default_module` bigint(20) null after `employee`;
|
||||
ALTER TABLE Modules ADD COLUMN user_roles text null AFTER `user_levels`;
|
||||
ALTER TABLE Modules ADD COLUMN label varchar(100) NOT NULL AFTER `name`;
|
||||
|
||||
create table `UserRoles` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
primary key (`id`),
|
||||
unique key `name` (`name`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
ALTER TABLE `Users` CHANGE `user_level` `user_level` enum('Admin','Employee','Manager','Other') default NULL;
|
||||
|
||||
create table `EmployeeEducationsTemp` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`education_id` bigint(20) NULL,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`institute` varchar(400) default null,
|
||||
`date_start` date default '0000-00-00',
|
||||
`date_end` date default '0000-00-00',
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
insert into EmployeeEducationsTemp select * from EmployeeEducations;
|
||||
|
||||
drop table EmployeeEducations;
|
||||
|
||||
create table `EmployeeEducations` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`education_id` bigint(20) NULL,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`institute` varchar(400) default null,
|
||||
`date_start` date default '0000-00-00',
|
||||
`date_end` date default '0000-00-00',
|
||||
CONSTRAINT `Fk_EmployeeEducations_Educations` FOREIGN KEY (`education_id`) REFERENCES `Educations` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeEducations_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
insert into EmployeeEducations select * from EmployeeEducationsTemp;
|
||||
|
||||
drop table EmployeeEducationsTemp;
|
||||
|
||||
UPDATE `Settings` set value = '1' where name = 'System: Reset Modules and Permissions';
|
||||
UPDATE `Settings` set value = '1' where name = 'System: Add New Permissions';
|
||||
|
||||
create table `SalaryComponentType` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`code` varchar(10) NOT NULL,
|
||||
`name` varchar(100) NOT NULL,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `SalaryComponent` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`componentType` bigint(20) NULL,
|
||||
`details` text default null,
|
||||
CONSTRAINT `Fk_SalaryComponent_SalaryComponentType` FOREIGN KEY (`componentType`) REFERENCES `SalaryComponentType` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `ImmigrationStatus` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Ethnicity` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeImmigrationStatus` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`status` bigint(20) NOT NULL,
|
||||
CONSTRAINT `Fk_EmployeeImmigrationStatus_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeImmigrationStatus_Type` FOREIGN KEY (`status`) REFERENCES `ImmigrationStatus` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeEthnicity` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`ethnicity` bigint(20) NOT NULL,
|
||||
CONSTRAINT `Fk_EmployeeEthnicity_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeEthnicity_Ethnicity` FOREIGN KEY (`ethnicity`) REFERENCES `Ethnicity` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
775
core-ext/scripts/icehrmdb.sql
Normal file
775
core-ext/scripts/icehrmdb.sql
Normal file
@@ -0,0 +1,775 @@
|
||||
create table `CompanyStructures` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`title` tinytext not null,
|
||||
`description` text not null,
|
||||
`address` text default NULL,
|
||||
`type` enum('Company','Head Office','Regional Office','Department','Unit','Sub Unit','Other') default NULL,
|
||||
`country` varchar(2) not null default '0',
|
||||
`parent` bigint(20) NULL,
|
||||
CONSTRAINT `Fk_CompanyStructures_Own` FOREIGN KEY (`parent`) REFERENCES `CompanyStructures` (`id`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Country` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`code` char(2) not null default '',
|
||||
`namecap` varchar(80) null default '',
|
||||
`name` varchar(80) not null default '',
|
||||
`iso3` char(3) default null,
|
||||
`numcode` smallint(6) default null,
|
||||
UNIQUE KEY `code` (`code`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Province` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(40) not null default '',
|
||||
`code` char(2) not null default '',
|
||||
`country` char(2) not null default 'US',
|
||||
CONSTRAINT `Fk_Province_Country` FOREIGN KEY (`country`) REFERENCES `Country` (`code`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `CurrencyTypes` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`code` varchar(3) not null default '',
|
||||
`name` varchar(70) not null default '',
|
||||
primary key (`id`),
|
||||
UNIQUE KEY `CurrencyTypes_code` (`code`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `PayGrades` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
`currency` varchar(3) not null,
|
||||
`min_salary` decimal(12,2) DEFAULT 0.00,
|
||||
`max_salary` decimal(12,2) DEFAULT 0.00,
|
||||
CONSTRAINT `Fk_PayGrades_CurrencyTypes` FOREIGN KEY (`currency`) REFERENCES `CurrencyTypes` (`code`),
|
||||
primary key(`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `JobTitles` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`code` varchar(10) not null default '',
|
||||
`name` varchar(100) default null,
|
||||
`description` varchar(200) default null,
|
||||
`specification` varchar(400) default null,
|
||||
primary key(`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmploymentStatus` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
`description` varchar(400) default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Skills` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
`description` varchar(400) default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Educations` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
`description` varchar(400) default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Certifications` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
`description` varchar(400) default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Languages` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
`description` varchar(400) default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Nationality` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Employees` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee_id` varchar(50) default null,
|
||||
`first_name` varchar(100) default '' not null,
|
||||
`middle_name` varchar(100) default null,
|
||||
`last_name` varchar(100) default null,
|
||||
`nationality` bigint(20) default null,
|
||||
`birthday` DATETIME default '0000-00-00 00:00:00',
|
||||
`gender` enum('Male','Female') default NULL,
|
||||
`marital_status` enum('Married','Single','Divorced','Widowed','Other') default NULL,
|
||||
`ssn_num` varchar(100) default NULL,
|
||||
`nic_num` varchar(100) default NULL,
|
||||
`other_id` varchar(100) default NULL,
|
||||
`driving_license` varchar(100) default NULL,
|
||||
`driving_license_exp_date` date default '0000-00-00',
|
||||
`employment_status` bigint(20) default null,
|
||||
`job_title` bigint(20) default null,
|
||||
`pay_grade` bigint(20) null,
|
||||
`work_station_id` varchar(100) default NULL,
|
||||
`address1` varchar(100) default NULL,
|
||||
`address2` varchar(100) default NULL,
|
||||
`city` varchar(150) default NULL,
|
||||
`country` char(2) default null,
|
||||
`province` bigint(20) default null,
|
||||
`postal_code` varchar(20) default null,
|
||||
`home_phone` varchar(50) default null,
|
||||
`mobile_phone` varchar(50) default null,
|
||||
`work_phone` varchar(50) default null,
|
||||
`work_email` varchar(100) default null,
|
||||
`private_email` varchar(100) default null,
|
||||
`joined_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`confirmation_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`supervisor` bigint(20) default null,
|
||||
`department` bigint(20) default null,
|
||||
`custom1` varchar(250) default null,
|
||||
`custom2` varchar(250) default null,
|
||||
`custom3` varchar(250) default null,
|
||||
`custom4` varchar(250) default null,
|
||||
`custom5` varchar(250) default null,
|
||||
`custom6` varchar(250) default null,
|
||||
`custom7` varchar(250) default null,
|
||||
`custom8` varchar(250) default null,
|
||||
`custom9` varchar(250) default null,
|
||||
`custom10` varchar(250) default null,
|
||||
`termination_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`notes` text default null,
|
||||
`status` enum('Active','Terminated') default 'Active',
|
||||
`ethnicity` bigint(20) default null,
|
||||
`immigration_status` bigint(20) default null,
|
||||
CONSTRAINT `Fk_Employee_Nationality` FOREIGN KEY (`nationality`) REFERENCES `Nationality` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_Employee_JobTitle` FOREIGN KEY (`job_title`) REFERENCES `JobTitles` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_Employee_EmploymentStatus` FOREIGN KEY (`employment_status`) REFERENCES `EmploymentStatus` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_Employee_Country` FOREIGN KEY (`country`) REFERENCES `Country` (`code`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_Employee_Province` FOREIGN KEY (`province`) REFERENCES `Province` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_Employee_Supervisor` FOREIGN KEY (`supervisor`) REFERENCES `Employees` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_Employee_CompanyStructures` FOREIGN KEY (`department`) REFERENCES `CompanyStructures` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_Employee_PayGrades` FOREIGN KEY (`pay_grade`) REFERENCES `PayGrades` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
primary key (`id`),
|
||||
unique key `employee_id` (`employee_id`)
|
||||
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `ArchivedEmployees` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ref_id` bigint(20) NOT NULL,
|
||||
`employee_id` varchar(50) default null,
|
||||
`first_name` varchar(100) default '' not null,
|
||||
`last_name` varchar(100) default '' not null,
|
||||
`gender` enum('Male','Female') default NULL,
|
||||
`ssn_num` varchar(100) default '',
|
||||
`nic_num` varchar(100) default '',
|
||||
`other_id` varchar(100) default '',
|
||||
`work_email` varchar(100) default null,
|
||||
`joined_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`confirmation_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`supervisor` bigint(20) default null,
|
||||
`department` bigint(20) default null,
|
||||
`termination_date` DATETIME default '0000-00-00 00:00:00',
|
||||
`notes` text default null,
|
||||
`data` longtext default null,
|
||||
primary key (`id`)
|
||||
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `UserRoles` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) default null,
|
||||
primary key (`id`),
|
||||
unique key `name` (`name`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Users` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(100) default null,
|
||||
`email` varchar(100) default null,
|
||||
`password` varchar(100) default null,
|
||||
`employee` bigint(20) null,
|
||||
`default_module` bigint(20) null,
|
||||
`user_level` enum('Admin','Employee','Manager','Other') default NULL,
|
||||
`user_roles` text null,
|
||||
`last_login` timestamp default '0000-00-00 00:00:00',
|
||||
`last_update` timestamp default '0000-00-00 00:00:00',
|
||||
`created` timestamp default '0000-00-00 00:00:00',
|
||||
CONSTRAINT `Fk_User_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
primary key (`id`),
|
||||
unique key `username` (`username`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `EmployeeSkills` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`skill_id` bigint(20) NULL,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`details` varchar(400) default null,
|
||||
CONSTRAINT `Fk_EmployeeSkills_Skills` FOREIGN KEY (`skill_id`) REFERENCES `Skills` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeSkills_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`),
|
||||
unique key (`employee`,`skill_id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeEducations` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`education_id` bigint(20) NULL,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`institute` varchar(400) default null,
|
||||
`date_start` date default '0000-00-00',
|
||||
`date_end` date default '0000-00-00',
|
||||
CONSTRAINT `Fk_EmployeeEducations_Educations` FOREIGN KEY (`education_id`) REFERENCES `Educations` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeEducations_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeCertifications` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`certification_id` bigint(20) NULL,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`institute` varchar(400) default null,
|
||||
`date_start` date default '0000-00-00',
|
||||
`date_end` date default '0000-00-00',
|
||||
CONSTRAINT `Fk_EmployeeCertifications_Certifications` FOREIGN KEY (`certification_id`) REFERENCES `Certifications` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeCertifications_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`),
|
||||
unique key (`employee`,`certification_id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `EmployeeLanguages` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`language_id` bigint(20) NULL,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`reading` enum('Elementary Proficiency','Limited Working Proficiency','Professional Working Proficiency','Full Professional Proficiency','Native or Bilingual Proficiency') default NULL,
|
||||
`speaking` enum('Elementary Proficiency','Limited Working Proficiency','Professional Working Proficiency','Full Professional Proficiency','Native or Bilingual Proficiency') default NULL,
|
||||
`writing` enum('Elementary Proficiency','Limited Working Proficiency','Professional Working Proficiency','Full Professional Proficiency','Native or Bilingual Proficiency') default NULL,
|
||||
`understanding` enum('Elementary Proficiency','Limited Working Proficiency','Professional Working Proficiency','Full Professional Proficiency','Native or Bilingual Proficiency') default NULL,
|
||||
CONSTRAINT `Fk_EmployeeLanguages_Languages` FOREIGN KEY (`language_id`) REFERENCES `Languages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeLanguages_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`),
|
||||
unique key (`employee`,`language_id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmergencyContacts` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`relationship` varchar(100) default null,
|
||||
`home_phone` varchar(15) default null,
|
||||
`work_phone` varchar(15) default null,
|
||||
`mobile_phone` varchar(15) default null,
|
||||
CONSTRAINT `Fk_EmergencyContacts_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeDependents` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`relationship` enum('Child','Spouse','Parent','Other') default NULL,
|
||||
`dob` date default '0000-00-00',
|
||||
`id_number` varchar(25) default null,
|
||||
CONSTRAINT `Fk_EmployeeDependents_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
|
||||
create table `Files` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`filename` varchar(100) NOT NULL,
|
||||
`employee` bigint(20) NULL,
|
||||
`file_group` varchar(100) NOT NULL,
|
||||
primary key (`id`),
|
||||
unique key `filename` (`filename`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Clients` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`details` text default null,
|
||||
`first_contact_date` date default '0000-00-00',
|
||||
`created` timestamp default '0000-00-00 00:00:00',
|
||||
`address` text default null,
|
||||
`contact_number` varchar(25) NULL,
|
||||
`contact_email` varchar(25) NULL,
|
||||
`company_url` varchar(500) NULL,
|
||||
`status` enum('Active','Inactive') default 'Active',
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Projects` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`client` bigint(20) NULL,
|
||||
`details` text default null,
|
||||
`created` timestamp default '0000-00-00 00:00:00',
|
||||
`status` enum('Active','Inactive') default 'Active',
|
||||
CONSTRAINT `Fk_Projects_Client` FOREIGN KEY (`client`) REFERENCES `Clients` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeTimeSheets` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`date_start` date NOT NULL,
|
||||
`date_end` date NOT NULL,
|
||||
`status` enum('Approved','Pending','Rejected','Submitted') default 'Pending',
|
||||
CONSTRAINT `Fk_EmployeeTimeSheets_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
UNIQUE KEY `EmployeeTimeSheetsKey` (`employee`,`date_start`,`date_end`),
|
||||
KEY `EmployeeTimeSheets_date_end` (`date_end`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeProjects` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`project` bigint(20) NULL,
|
||||
`date_start` date NULL,
|
||||
`date_end` date NULL,
|
||||
`status` enum('Current','Inactive','Completed') default 'Current',
|
||||
`details` text default null,
|
||||
CONSTRAINT `Fk_EmployeeProjects_Projects` FOREIGN KEY (`project`) REFERENCES `Projects` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeProjects_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
UNIQUE KEY `EmployeeProjectsKey` (`employee`,`project`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeTimeEntry` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`project` bigint(20) NULL,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`timesheet` bigint(20) NOT NULL,
|
||||
`details` text default null,
|
||||
`created` timestamp default '0000-00-00 00:00:00',
|
||||
`date_start` timestamp default '0000-00-00 00:00:00',
|
||||
`time_start` varchar(10) NOT NULL,
|
||||
`date_end` timestamp default '0000-00-00 00:00:00',
|
||||
`time_end` varchar(10) NOT NULL,
|
||||
`status` enum('Active','Inactive') default 'Active',
|
||||
CONSTRAINT `Fk_EmployeeTimeEntry_Projects` FOREIGN KEY (`project`) REFERENCES `Projects` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeTimeEntry_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeTimeEntry_EmployeeTimeSheets` FOREIGN KEY (`timesheet`) REFERENCES `EmployeeTimeSheets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
KEY `employee_project` (`employee`,`project`),
|
||||
KEY `employee_project_date_start` (`employee`,`project`,`date_start`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Documents` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`details` text default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeDocuments` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`document` bigint(20) NULL,
|
||||
`date_added` date NOT NULL,
|
||||
`valid_until` date NOT NULL,
|
||||
`status` enum('Active','Inactive','Draft') default 'Active',
|
||||
`details` text default null,
|
||||
`attachment` varchar(100) NULL,
|
||||
CONSTRAINT `Fk_EmployeeDocuments_Documents` FOREIGN KEY (`document`) REFERENCES `Documents` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeDocuments_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `CompanyLoans` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`details` text default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeCompanyLoans` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`loan` bigint(20) NULL,
|
||||
`start_date` date NOT NULL,
|
||||
`last_installment_date` date NOT NULL,
|
||||
`period_months` bigint(20) NULL,
|
||||
`currency` bigint(20) NULL DEFAULT NULL,
|
||||
`amount` decimal(10,2) NOT NULL,
|
||||
`monthly_installment` decimal(10,2) NOT NULL,
|
||||
`status` enum('Approved','Repayment','Paid','Suspended') default 'Approved',
|
||||
`details` text default null,
|
||||
CONSTRAINT `Fk_EmployeeCompanyLoans_CompanyLoans` FOREIGN KEY (`loan`) REFERENCES `CompanyLoans` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeCompanyLoans_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Settings` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`value` text default null,
|
||||
`description` text default null,
|
||||
`meta` text default null,
|
||||
primary key (`id`),
|
||||
UNIQUE KEY(`name`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `Modules` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`menu` varchar(30) NOT NULL,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`label` varchar(100) NOT NULL,
|
||||
`icon` VARCHAR( 50 ) NULL,
|
||||
`mod_group` varchar(30) NOT NULL,
|
||||
`mod_order` INT(11) NULL,
|
||||
`status` enum('Enabled','Disabled') default 'Enabled',
|
||||
`version` varchar(10) default '',
|
||||
`update_path` varchar(500) default '',
|
||||
`user_levels` varchar(500) NOT NULL,
|
||||
`user_roles` text null,
|
||||
primary key (`id`),
|
||||
UNIQUE KEY `Modules_name_modgroup` (`name`,`mod_group`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Reports` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`details` text default null,
|
||||
`parameters` text default null,
|
||||
`query` text default null,
|
||||
`paramOrder` varchar(500) NOT NULL,
|
||||
`type` enum('Query','Class') default 'Query',
|
||||
primary key (`id`),
|
||||
UNIQUE KEY `Reports_Name` (`name`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `Attendance` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`in_time` timestamp default '0000-00-00 00:00:00',
|
||||
`out_time` timestamp default '0000-00-00 00:00:00',
|
||||
`note` varchar(500) default null,
|
||||
CONSTRAINT `Fk_Attendance_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
KEY `in_time` (`in_time`),
|
||||
KEY `out_time` (`out_time`),
|
||||
KEY `employee_in_time` (`employee`,`in_time`),
|
||||
KEY `employee_out_time` (`employee`,`out_time`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `Permissions` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`user_level` enum('Admin','Employee','Manager') default NULL,
|
||||
`module_id` bigint(20) NOT NULL,
|
||||
`permission` varchar(200) default null,
|
||||
`meta` varchar(500) default null,
|
||||
`value` varchar(200) default null,
|
||||
UNIQUE KEY `Module_Permission` (`user_level`,`module_id`,`permission`),
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `DataEntryBackups` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`tableType` varchar(200) default null,
|
||||
`data` longtext default null,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `AuditLog` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`time` datetime default '0000-00-00 00:00:00',
|
||||
`user` bigint(20) NOT NULL,
|
||||
`ip` varchar(100) NULL,
|
||||
`type` varchar(100) NOT NULL,
|
||||
`employee` varchar(300) NULL,
|
||||
`details` text default null,
|
||||
CONSTRAINT `Fk_AuditLog_Users` FOREIGN KEY (`user`) REFERENCES `Users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `Notifications` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`time` datetime default '0000-00-00 00:00:00',
|
||||
`fromUser` bigint(20) NULL,
|
||||
`fromEmployee` bigint(20) NULL,
|
||||
`toUser` bigint(20) NOT NULL,
|
||||
`image` varchar(500) default null,
|
||||
`message` text default null,
|
||||
`action` text default null,
|
||||
`type` varchar(100) NULL,
|
||||
`status` enum('Unread','Read') default 'Unread',
|
||||
CONSTRAINT `Fk_Notifications_Users` FOREIGN KEY (`touser`) REFERENCES `Users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`),
|
||||
KEY `toUser_time` (`toUser`,`time`),
|
||||
KEY `toUser_status_time` (`toUser`,`status`,`time`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Courses` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`code` varchar(300) NOT NULL,
|
||||
`name` varchar(300) NOT NULL,
|
||||
`description` text default null,
|
||||
`coordinator` bigint(20) NULL,
|
||||
`trainer` varchar(300) NULL,
|
||||
`trainer_info` text default null,
|
||||
`paymentType` enum('Company Sponsored','Paid by Employee') default 'Company Sponsored',
|
||||
`currency` varchar(3) not null,
|
||||
`cost` decimal(12,2) DEFAULT 0.00,
|
||||
`status` enum('Active','Inactive') default 'Active',
|
||||
`created` datetime default '0000-00-00 00:00:00',
|
||||
`updated` datetime default '0000-00-00 00:00:00',
|
||||
CONSTRAINT `Fk_Courses_Employees` FOREIGN KEY (`coordinator`) REFERENCES `Employees` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `TrainingSessions` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(300) NOT NULL,
|
||||
`course` bigint(20) NOT NULL,
|
||||
`description` text default null,
|
||||
`scheduled` datetime default '0000-00-00 00:00:00',
|
||||
`dueDate` datetime default '0000-00-00 00:00:00',
|
||||
`deliveryMethod` enum('Classroom','Self Study','Online') default 'Classroom',
|
||||
`deliveryLocation` varchar(500) NULL,
|
||||
`status` enum('Pending','Approved','Completed','Cancelled') default 'Pending',
|
||||
`attendanceType` enum('Sign Up','Assign') default 'Sign Up',
|
||||
`attachment` varchar(300) NULL,
|
||||
`created` datetime default '0000-00-00 00:00:00',
|
||||
`updated` datetime default '0000-00-00 00:00:00',
|
||||
CONSTRAINT `Fk_TrainingSessions_Courses` FOREIGN KEY (`course`) REFERENCES `Courses` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `EmployeeTrainingSessions` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`trainingSession` bigint(20) NULL,
|
||||
`feedBack` varchar(1500) NULL,
|
||||
`status` enum('Scheduled','Attended','Not-Attended') default 'Scheduled',
|
||||
CONSTRAINT `Fk_EmployeeTrainingSessions_TrainingSessions` FOREIGN KEY (`trainingSession`) REFERENCES `TrainingSessions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeTrainingSessions_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `ImmigrationDocuments` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`details` text default null,
|
||||
`required` enum('Yes','No') default 'Yes',
|
||||
`alert_on_missing` enum('Yes','No') default 'Yes',
|
||||
`alert_before_expiry` enum('Yes','No') default 'Yes',
|
||||
`alert_before_day_number` int(11) NOT NULL,
|
||||
`created` timestamp NULL default '0000-00-00 00:00:00',
|
||||
`updated` timestamp NULL default '0000-00-00 00:00:00',
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeImmigrations` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`document` bigint(20) NULL,
|
||||
`documentname` varchar(150) NOT NULL,
|
||||
`valid_until` date NOT NULL,
|
||||
`status` enum('Active','Inactive','Draft') default 'Active',
|
||||
`details` text default null,
|
||||
`attachment1` varchar(100) NULL,
|
||||
`attachment2` varchar(100) NULL,
|
||||
`attachment3` varchar(100) NULL,
|
||||
`created` timestamp NULL default '0000-00-00 00:00:00',
|
||||
`updated` timestamp NULL default '0000-00-00 00:00:00',
|
||||
CONSTRAINT `Fk_EmployeeImmigrations_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeImmigrations_ImmigrationDocuments` FOREIGN KEY (`document`) REFERENCES `ImmigrationDocuments` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `EmployeeTravelRecords` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`type` enum('Local','International') default 'Local',
|
||||
`purpose` varchar(200) NOT NULL,
|
||||
`travel_from` varchar(200) NOT NULL,
|
||||
`travel_to` varchar(200) NOT NULL,
|
||||
`travel_date` datetime NULL default '0000-00-00 00:00:00',
|
||||
`return_date` datetime NULL default '0000-00-00 00:00:00',
|
||||
`details` varchar(500) default null,
|
||||
`attachment1` varchar(100) NULL,
|
||||
`attachment2` varchar(100) NULL,
|
||||
`attachment3` varchar(100) NULL,
|
||||
`created` timestamp NULL default '0000-00-00 00:00:00',
|
||||
`updated` timestamp NULL default '0000-00-00 00:00:00',
|
||||
CONSTRAINT `Fk_EmployeeTravelRecords_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `RestAccessTokens` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`userId` bigint(20) NOT NULL,
|
||||
`hash` varchar(32) default null,
|
||||
`token` varchar(500) default null,
|
||||
`created` DATETIME default '0000-00-00 00:00:00',
|
||||
`updated` DATETIME default '0000-00-00 00:00:00',
|
||||
primary key (`id`),
|
||||
unique key `userId` (`userId`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `FieldNameMappings` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(20) NOT NULL,
|
||||
`name` varchar(20) NOT NULL,
|
||||
`textOrig` varchar(200) default null,
|
||||
`textMapped` varchar(200) default null,
|
||||
`display` enum('Form','Table and Form','Hidden') default 'Form',
|
||||
`created` DATETIME default '0000-00-00 00:00:00',
|
||||
`updated` DATETIME default '0000-00-00 00:00:00',
|
||||
primary key (`id`),
|
||||
unique key `name` (`name`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `CustomFields` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(20) NOT NULL,
|
||||
`name` varchar(20) NOT NULL,
|
||||
`data` text default null,
|
||||
`display` enum('Form','Table and Form','Hidden') default 'Form',
|
||||
`created` DATETIME default '0000-00-00 00:00:00',
|
||||
`updated` DATETIME default '0000-00-00 00:00:00',
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `SalaryComponentType` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`code` varchar(10) NOT NULL,
|
||||
`name` varchar(100) NOT NULL,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `SalaryComponent` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`componentType` bigint(20) NULL,
|
||||
`details` text default null,
|
||||
CONSTRAINT `Fk_SalaryComponent_SalaryComponentType` FOREIGN KEY (`componentType`) REFERENCES `SalaryComponentType` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `ImmigrationStatus` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Ethnicity` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeImmigrationStatus` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`status` bigint(20) NOT NULL,
|
||||
CONSTRAINT `Fk_EmployeeImmigrationStatus_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeImmigrationStatus_Type` FOREIGN KEY (`status`) REFERENCES `ImmigrationStatus` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `EmployeeEthnicity` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`ethnicity` bigint(20) NOT NULL,
|
||||
CONSTRAINT `Fk_EmployeeEthnicity_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeEthnicity_Ethnicity` FOREIGN KEY (`ethnicity`) REFERENCES `Ethnicity` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
create table `EmployeeSalary` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`employee` bigint(20) NOT NULL,
|
||||
`component` bigint(20) NOT NULL,
|
||||
`pay_frequency` enum('Hourly','Daily','Bi Weekly','Weekly','Semi Monthly','Monthly') default NULL,
|
||||
`currency` bigint(20) NULL,
|
||||
`amount` decimal(10,2) NOT NULL,
|
||||
`details` text default null,
|
||||
CONSTRAINT `Fk_EmployeeSalary_Employee` FOREIGN KEY (`employee`) REFERENCES `Employees` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_EmployeeSalary_Currency` FOREIGN KEY (`currency`) REFERENCES `CurrencyTypes` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Deductions` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`contributor` enum('Employee','Employer') default NULL,
|
||||
`type` enum('Fixed','Percentage') default NULL,
|
||||
`percentage_type` enum('On Component','On Component Type') default NULL,
|
||||
`componentType` bigint(20) NULL,
|
||||
`component` bigint(20) NULL,
|
||||
`rangeAmounts` text default null,
|
||||
`country` bigint(20) NULL,
|
||||
CONSTRAINT `Fk_Deductions_Country` FOREIGN KEY (`country`) REFERENCES `Country` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `Tax` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`contributor` enum('Employee','Employer') default NULL,
|
||||
`type` enum('Fixed','Percentage') default NULL,
|
||||
`percentage_type` enum('On Component','On Component Type') default NULL,
|
||||
`componentType` bigint(20) NULL,
|
||||
`component` bigint(20) NULL,
|
||||
`rangeAmounts` text default null,
|
||||
`country` bigint(20) NULL,
|
||||
CONSTRAINT `Fk_Tax_Country` FOREIGN KEY (`country`) REFERENCES `Country` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `TaxRules` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`apply` enum('Yes','No') default 'Yes',
|
||||
`application_type` enum('All','Condition - OR','Condition - AND') default 'All',
|
||||
`tax` bigint(20) NOT NULL,
|
||||
`job_title` bigint(20) NULL,
|
||||
`ethnicity` bigint(20) NULL,
|
||||
`nationality` bigint(20) NULL,
|
||||
`immigration_status` bigint(20) NULL,
|
||||
`pay_grade` bigint(20) NULL,
|
||||
`country` bigint(20) NULL,
|
||||
CONSTRAINT `Fk_TaxRules_Tax` FOREIGN KEY (`tax`) REFERENCES `Tax` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_TaxRules_Country` FOREIGN KEY (`country`) REFERENCES `Country` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `DeductionRules` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`apply` enum('Yes','No') default 'Yes',
|
||||
`application_type` enum('All','Condition - OR','Condition - AND') default 'All',
|
||||
`deduction` bigint(20) NOT NULL,
|
||||
`job_title` bigint(20) NULL,
|
||||
`ethnicity` bigint(20) NULL,
|
||||
`nationality` bigint(20) NULL,
|
||||
`immigration_status` bigint(20) NULL,
|
||||
`pay_grade` bigint(20) NULL,
|
||||
`country` bigint(20) NULL,
|
||||
CONSTRAINT `Fk_DeductionRules_Deductions` FOREIGN KEY (`deduction`) REFERENCES `Deductions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `Fk_DeductionRules_Country` FOREIGN KEY (`country`) REFERENCES `Country` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
primary key (`id`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
|
||||
|
||||
|
||||
0
core-ext/scripts/reports/active_employees.txt
Normal file
0
core-ext/scripts/reports/active_employees.txt
Normal file
35
core-ext/scripts/reports/employee_details.txt
Normal file
35
core-ext/scripts/reports/employee_details.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
|
||||
Select id, employee_id as 'Employee ID',
|
||||
concat(`first_name`,' ',`middle_name`,' ', `last_name`) as 'Name',
|
||||
(SELECT name from Nationality where id = nationality) as 'Nationality',
|
||||
birthday as 'Birthday',
|
||||
gender as 'Gender',
|
||||
marital_status as 'Marital Status',
|
||||
ssn_num as 'SSN Number',
|
||||
nic_num as 'NIC Number',
|
||||
other_id as 'Other IDs',
|
||||
driving_license as 'Driving License Number',
|
||||
(SELECT name from EmploymentStatus where id = employment_status) as 'Employment Status',
|
||||
(SELECT name from JobTitles where id = job_title) as 'Job Title',
|
||||
(SELECT name from PayGrades where id = pay_grade) as 'Pay Grade',
|
||||
work_station_id as 'Work Station ID',
|
||||
address1 as 'Address 1',
|
||||
address2 as 'Address 2',
|
||||
city as 'City',
|
||||
(SELECT name from Country where code = country) as 'Country',
|
||||
(SELECT name from Province where id = province) as 'Province',
|
||||
postal_code as 'Postal Code',
|
||||
home_phone as 'Home Phone',
|
||||
mobile_phone as 'Mobile Phone',
|
||||
work_phone as 'Work Phone',
|
||||
work_email as 'Work Email',
|
||||
private_email as 'Private Email',
|
||||
joined_date as 'Joined Date',
|
||||
confirmation_date as 'Confirmation Date',
|
||||
(SELECT title from CompanyStructures where id = department) as 'Department',
|
||||
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`,' [Employee ID:',`employee_id`,']') from Employees e1 where e1.id = e.supervisor) as 'Supervisor'
|
||||
FROM Employees e _where_
|
||||
|
||||
|
||||
This report list all employee details and you can filter employees by department, employment status or job title
|
||||
24
core-ext/scripts/reports/employee_leaves.txt
Normal file
24
core-ext/scripts/reports/employee_leaves.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
[
|
||||
[ "employee", {"label":"Employee","type":"select","allow-null":true,"remote-source":["Employee","id","first_name+last_name"]}],
|
||||
[ "date_start", {"label":"Start Date","type":"date"}],
|
||||
[ "date_end", {"label":"End Date","type":"date"}],
|
||||
[ "status", {"label":"Leave Status","type":"select","source":[["NULL","All Statuses"],["Approved","Approved"],["Pending","Pending"],["Rejected","Rejected"]]}]
|
||||
]
|
||||
|
||||
["employee","date_start","date_end","status"]
|
||||
|
||||
|
||||
SELECT *,
|
||||
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`) from Employees where id = employee) as 'Employee',
|
||||
(SELECT name from LeaveTypes where id = leave_type) as 'Leave Type',
|
||||
(SELECT name from LeavePeriods where id = leave_type) as 'Leave Type',
|
||||
date_start as 'Start Date',
|
||||
date_end as 'End Date',
|
||||
details as 'Reason',
|
||||
status as 'Leave Status',
|
||||
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Full Day') as 'Full Day Count',
|
||||
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Half Day - Morning') as 'Half Day (Morning) Count',
|
||||
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Half Day - Afternoon') as 'Half Day (Afternoon) Count'
|
||||
from EmployeeLeaves lv where employee = ? and date_start >= ? and date_end <= ? and status = ?;
|
||||
|
||||
This report list all employee leaves by employee, date range and leave status
|
||||
20
core-ext/scripts/reports/employee_timesheet.txt
Normal file
20
core-ext/scripts/reports/employee_timesheet.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
[ "employee", {"label":"Employee","type":"select","allow-null":true,"remote-source":["Employee","id","first_name+last_name"]}],
|
||||
[ "project", {"label":"Project","type":"select","allow-null":true,"remote-source":["Project","id","name"]}],
|
||||
[ "date_start", {"label":"Start Date","type":"date"}],
|
||||
[ "date_end", {"label":"End Date","type":"date"}]
|
||||
]
|
||||
|
||||
["date_start","date_end","project","employee"]
|
||||
|
||||
SELECT
|
||||
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`) from Employees where id = te.employee) as 'Employee',
|
||||
(SELECT name from Projects where id = te.project) as 'Project',
|
||||
details as 'Details',
|
||||
date_start as 'Start Time',
|
||||
date_end as 'End Time',
|
||||
SEC_TO_TIME(TIMESTAMPDIFF(SECOND,te.date_start,te.date_end)) as 'Duration'
|
||||
FROM EmployeeTimeEntry te
|
||||
WHERE date_start >= ? and date_end <= ? and project = ? and employee = ?
|
||||
|
||||
This report list all employee time entries by employee, date range and project
|
||||
169
core-ext/scripts/test/add_attendance.sql
Normal file
169
core-ext/scripts/test/add_attendance.sql
Normal file
@@ -0,0 +1,169 @@
|
||||
SET @employee = 1;
|
||||
SET @startInTime = '2014-08-01 08:15:15';
|
||||
SET @startOutTime = '2014-08-01 12:15:15';
|
||||
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
SET @startInTime = DATE_ADD(@startInTime, INTERVAL 1 DAY);
|
||||
SET @startOutTime = DATE_ADD(@startOutTime, INTERVAL 1 DAY);
|
||||
INSERT INTO `Attendance` (`employee`, `in_time`, `out_time`, `note`) VALUES
|
||||
(@employee, FROM_UNIXTIME(UNIX_TIMESTAMP(@startInTime) + FLOOR(0 + (RAND() * 60*60*4))), FROM_UNIXTIME(UNIX_TIMESTAMP(@startOutTime) + FLOOR(0 + (RAND() * 60*60*4))), 'Test Entry');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
267
core-ext/scripts/test/add_test_employees.sql
Normal file
267
core-ext/scripts/test/add_test_employees.sql
Normal file
@@ -0,0 +1,267 @@
|
||||
INSERT INTO `Employees` (`employee_id`, `first_name`, `middle_name`, `last_name`, `nationality`, `birthday`, `gender`, `marital_status`, `ssn_num`, `nic_num`, `other_id`, `driving_license`, `driving_license_exp_date`, `employment_status`, `job_title`, `pay_grade`, `work_station_id`, `address1`, `address2`, `city`, `country`, `province`, `postal_code`, `home_phone`, `mobile_phone`, `work_phone`, `work_email`, `private_email`, `joined_date`, `confirmation_date`, `supervisor`, `department`, `custom1`, `custom2`, `custom3`, `custom4`, `custom5`, `custom6`, `custom7`, `custom8`, `custom9`, `custom10`) VALUES
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||
(FLOOR(RAND() * 50000), concat('Employee ',FLOOR(RAND() * 50000)), '', concat('E',FLOOR(RAND() * 50000)), 175, '1984-03-12 18:30:00', 'Female', 'Single', '', '4594567WE3', '4595567WE3', '349-066-YUO', '2012-03-01', 1, 8, 2, 'W001', 'Green War Rd, 00123', '', 'Istanbul', 'TR', NULL, '909066', '+960112345', '+960112345', '+960112345', 'icehrm+1@web-stalk.com', 'icehrm+1@web-stalk.com', '2011-03-07 18:30:00', '2012-02-14 18:30:00', 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
105
ext/admin/attendance/api/AttendanceActionManager.php
Normal file
105
ext/admin/attendance/api/AttendanceActionManager.php
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
class AttendanceActionManager extends SubActionManager{
|
||||
|
||||
public function savePunch($req){
|
||||
|
||||
|
||||
$employee = $this->baseService->getElement('Employee',$req->employee,null,true);
|
||||
$inDateTime = $req->in_time;
|
||||
$inDateArr = explode(" ",$inDateTime);
|
||||
$inDate = $inDateArr[0];
|
||||
$outDateTime = $req->out_time;
|
||||
$outDate = "";
|
||||
if(!empty($outDateTime)){
|
||||
$outDateArr = explode(" ",$outDateTime);
|
||||
$outDate = $outDateArr[0];
|
||||
}
|
||||
|
||||
$note = $req->note;
|
||||
|
||||
//check if dates are differnet
|
||||
if(!empty($outDate) && $inDate != $outDate){
|
||||
return new IceResponse(IceResponse::ERROR,"Attendance entry should be within a single day");
|
||||
}
|
||||
|
||||
//compare dates
|
||||
if(!empty($outDateTime) && strtotime($outDateTime) <= strtotime($inDateTime)){
|
||||
return new IceResponse(IceResponse::ERROR,"Punch-in time should be lesser than Punch-out time");
|
||||
}
|
||||
|
||||
|
||||
//Find all punches for the day
|
||||
$attendance = new Attendance();
|
||||
$attendanceList = $attendance->Find("employee = ? and DATE_FORMAT( in_time, '%Y-%m-%d' ) = ?",array($employee->id,$inDate));
|
||||
|
||||
foreach($attendanceList as $attendance){
|
||||
if(!empty($req->id) && $req->id == $attendance->id){
|
||||
continue;
|
||||
}
|
||||
if(empty($attendance->out_time) || $attendance->out_time == "0000-00-00 00:00:00"){
|
||||
return new IceResponse(IceResponse::ERROR,"There is a non closed attendance entry for today. Please mark punch-out time of the open entry before adding a new one");
|
||||
}else if(!empty($outDateTime)){
|
||||
if(strtotime($attendance->out_time) >= strtotime($outDateTime) && strtotime($attendance->in_time) <= strtotime($outDateTime)){
|
||||
//-1---0---1---0 || ---0--1---1---0
|
||||
return new IceResponse(IceResponse::ERROR,"Time entry is overlapping with an existing one");
|
||||
}else if(strtotime($attendance->out_time) >= strtotime($inDateTime) && strtotime($attendance->in_time) <= strtotime($inDateTime)){
|
||||
//---0---1---0---1 || ---0--1---1---0
|
||||
return new IceResponse(IceResponse::ERROR,"Time entry is overlapping with an existing one");
|
||||
}else if(strtotime($attendance->out_time) <= strtotime($outDateTime) && strtotime($attendance->in_time) >= strtotime($inDateTime)){
|
||||
//--1--0---0--1--
|
||||
return new IceResponse(IceResponse::ERROR,"Time entry is overlapping with an existing one");
|
||||
}
|
||||
}else{
|
||||
if(strtotime($attendance->out_time) >= strtotime($inDateTime) && strtotime($attendance->in_time) <= strtotime($inDateTime)){
|
||||
//---0---1---0
|
||||
return new IceResponse(IceResponse::ERROR,"Time entry is overlapping with an existing one");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$attendance = new Attendance();
|
||||
if(!empty($req->id)){
|
||||
$attendance->Load("id = ?",array($req->id));
|
||||
}
|
||||
$attendance->in_time = $inDateTime;
|
||||
if(empty($outDateTime)){
|
||||
$attendance->out_time = "0000-00-00 00:00:00";
|
||||
}else{
|
||||
$attendance->out_time = $outDateTime;
|
||||
}
|
||||
|
||||
$attendance->employee = $req->employee;
|
||||
$attendance->note = $note;
|
||||
$ok = $attendance->Save();
|
||||
if(!$ok){
|
||||
LogManager::getInstance()->info($attendance->ErrorMsg());
|
||||
return new IceResponse(IceResponse::ERROR,"Error occured while saving attendance");
|
||||
}
|
||||
return new IceResponse(IceResponse::SUCCESS,$attendance);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
176
ext/admin/attendance/api/AttendanceAdminManager.php
Normal file
176
ext/admin/attendance/api/AttendanceAdminManager.php
Normal file
@@ -0,0 +1,176 @@
|
||||
<?php
|
||||
if (!class_exists('AttendanceAdminManager')) {
|
||||
|
||||
class AttendanceAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
$this->addModelClass('Attendance');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Model Classes
|
||||
|
||||
if (!class_exists('Attendance')) {
|
||||
class Attendance extends ICEHRM_Record {
|
||||
var $_table = 'Attendance';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array("get");
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccess(){
|
||||
return array("element","save","delete");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!class_exists('AttendanceStatus')) {
|
||||
class AttendanceStatus extends ICEHRM_Record {
|
||||
var $_table = 'Attendance';
|
||||
|
||||
|
||||
public function getRecentAttendanceEntries($limit){
|
||||
$shift = intval(SettingsManager::getInstance()->getSetting("Attendance: Shift (Minutes)"));
|
||||
$attendance = new Attendance();
|
||||
$attendanceToday = $attendance->Find("1 = 1 order by in_time desc limit ".$limit,array());
|
||||
$attendanceData = array();
|
||||
$employees = array();
|
||||
foreach($attendanceToday as $atEntry){
|
||||
$entry = new stdClass();
|
||||
$entry->id = $atEntry->employee;
|
||||
$dayArr = explode(" ",$atEntry->in_time);
|
||||
$day = $dayArr[0];
|
||||
if($atEntry->out_time == "0000-00-00 00:00:00" || empty($atEntry->out_time)){
|
||||
if(strtotime($atEntry->in_time) < (time() + $shift * 60) && $day == date("Y-m-d")){
|
||||
$entry->status = "Clocked In";
|
||||
$entry->statusId = 0;
|
||||
$entry->color = 'green';
|
||||
|
||||
$employee = new Employee();
|
||||
$employee->Load("id = ?",array($entry->id));
|
||||
$entry->employee = $employee->first_name." ".$employee->last_name;
|
||||
$employees[$entry->id] = $entry;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isset($employees[$entry->id])){
|
||||
$employee = new Employee();
|
||||
$employee->Load("id = ?",array($entry->id));
|
||||
if($day == date("Y-m-d")){
|
||||
$entry->status = "Clocked Out";
|
||||
$entry->statusId = 1;
|
||||
$entry->color = 'yellow';
|
||||
}else{
|
||||
$entry->status = "Not Clocked In";
|
||||
$entry->statusId = 2;
|
||||
$entry->color = 'gray';
|
||||
}
|
||||
$entry->employee = $employee->first_name." ".$employee->last_name;
|
||||
$employees[$entry->id] = $entry;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return array_values($employees);
|
||||
}
|
||||
|
||||
public function Find($whereOrderBy,$bindarr=false,$pkeysArr=false,$extra=array()){
|
||||
$shift = intval(SettingsManager::getInstance()->getSetting("Attendance: Shift (Minutes)"));
|
||||
$employee = new Employee();
|
||||
$data = array();
|
||||
$employees = $employee->Find("1=1");
|
||||
|
||||
$attendance = new Attendance();
|
||||
$attendanceToday = $attendance->Find("date(in_time) = ?",array(date("Y-m-d")));
|
||||
$attendanceData = array();
|
||||
//Group by employee
|
||||
foreach($attendanceToday as $attendance){
|
||||
if(isset($attendanceData[$attendance->employee])){
|
||||
$attendanceData[$attendance->employee][] = $attendance;
|
||||
}else{
|
||||
$attendanceData[$attendance->employee] = array($attendance);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach($employees as $employee){
|
||||
|
||||
$entry = new stdClass();
|
||||
$entry->id = $employee->id;
|
||||
$entry->employee = $employee->id;
|
||||
|
||||
|
||||
|
||||
if(isset($attendanceData[$employee->id])){
|
||||
$attendanceEntries = $attendanceData[$employee->id];
|
||||
foreach($attendanceEntries as $atEntry){
|
||||
if($atEntry->out_time == "0000-00-00 00:00:00" || empty($atEntry->out_time)){
|
||||
if(strtotime($atEntry->in_time) < time() + $shift * 60){
|
||||
$entry->status = "Clocked In";
|
||||
$entry->statusId = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(empty($entry->status)){
|
||||
$entry->status = "Clocked Out";
|
||||
$entry->statusId = 1;
|
||||
}
|
||||
}else{
|
||||
$entry->status = "Not Clocked In";
|
||||
$entry->statusId = 2;
|
||||
}
|
||||
|
||||
$data[] = $entry;
|
||||
}
|
||||
|
||||
function cmp($a, $b) {
|
||||
return $a->statusId - $b->statusId;
|
||||
}
|
||||
usort($data, "cmp");
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array("get");
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccess(){
|
||||
return array("element","save","delete");
|
||||
}
|
||||
}
|
||||
}
|
||||
82
ext/admin/attendance/index.php
Normal file
82
ext/admin/attendance/index.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'attendance_monitor';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabAttendance" href="#tabPageAttendance">Monitor Attendance</a></li>
|
||||
<li class=""><a id="tabAttendanceStatus" href="#tabPageAttendanceStatus">Current Clocked In Status</a></li>
|
||||
<!--
|
||||
<li class=""><a id="tabAttendanceData" href="#tabPageAttendanceData">Attendance Data Update</a></li>
|
||||
-->
|
||||
</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>
|
||||
<div id="AttendanceForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageAttendanceStatus">
|
||||
<div id="AttendanceStatus" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="AttendanceStatusForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="tab-pane" id="tabPageAttendanceData">
|
||||
<div class="control-group" id="field__id_">
|
||||
<div class="controls">
|
||||
<textarea class="input-xxlarge" placeholder="Insert CSV data to submit" type="textarea" width="96%" rows="100" id="attendanceData" name="attendanceData"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<button onclick="return false;" class="btn">Update Attendance Data</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
modJsList['tabAttendance'] = new AttendanceAdapter('Attendance','Attendance','','in_time desc');
|
||||
modJsList['tabAttendance'].setRemoteTable(true);
|
||||
modJsList['tabAttendanceStatus'] = new AttendanceStatusAdapter('AttendanceStatus','AttendanceStatus','','');
|
||||
modJsList['tabAttendanceStatus'].setShowAddNew(false);
|
||||
var modJs = modJsList['tabAttendance'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
218
ext/admin/attendance/lib.js
Normal file
218
ext/admin/attendance/lib.js
Normal file
@@ -0,0 +1,218 @@
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
function AttendanceAdapter(endPoint,tab,filter,orderBy) {
|
||||
this.initAdapter(endPoint,tab,filter,orderBy);
|
||||
}
|
||||
|
||||
AttendanceAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
AttendanceAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"employee",
|
||||
"in_time",
|
||||
"out_time",
|
||||
"note"
|
||||
];
|
||||
});
|
||||
|
||||
AttendanceAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Employee" },
|
||||
{ "sTitle": "Time-In" },
|
||||
{ "sTitle": "Time-Out"},
|
||||
{ "sTitle": "Note"}
|
||||
];
|
||||
});
|
||||
|
||||
AttendanceAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "employee", {"label":"Employee","type":"select2","allow-null":false,"remote-source":["Employee","id","first_name+last_name"]}],
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "in_time", {"label":"Time-In","type":"datetime"}],
|
||||
[ "out_time", {"label":"Time-Out","type":"datetime", "validation":"none"}],
|
||||
[ "note", {"label":"Note","type":"textarea","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
AttendanceAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "employee", {"label":"Employee","type":"select2","allow-null":false,"remote-source":["Employee","id","first_name+last_name"]}]
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
AttendanceAdapter.method('getCustomTableParams', function() {
|
||||
var that = this;
|
||||
var dataTableParams = {
|
||||
"aoColumnDefs": [
|
||||
{
|
||||
"fnRender": function(data, cell){
|
||||
return that.preProcessRemoteTableData(data, cell, 2)
|
||||
} ,
|
||||
"aTargets": [2]
|
||||
},
|
||||
{
|
||||
"fnRender": function(data, cell){
|
||||
return that.preProcessRemoteTableData(data, cell, 3)
|
||||
} ,
|
||||
"aTargets": [3]
|
||||
},
|
||||
{
|
||||
"fnRender": function(data, cell){
|
||||
return that.preProcessRemoteTableData(data, cell, 4)
|
||||
} ,
|
||||
"aTargets": [4]
|
||||
},
|
||||
{
|
||||
"fnRender": that.getActionButtons,
|
||||
"aTargets": [that.getDataMapping().length]
|
||||
}
|
||||
]
|
||||
};
|
||||
return dataTableParams;
|
||||
});
|
||||
|
||||
AttendanceAdapter.method('preProcessRemoteTableData', function(data, cell, id) {
|
||||
if(id == 2){
|
||||
if(cell == '0000-00-00 00:00:00' || cell == "" || cell == undefined || cell == null){
|
||||
return "";
|
||||
}
|
||||
return Date.parse(cell).toString('yyyy MMM d <b>HH:mm</b>');
|
||||
}else if(id == 3){
|
||||
if(cell == '0000-00-00 00:00:00' || cell == "" || cell == undefined || cell == null){
|
||||
return "";
|
||||
}
|
||||
return Date.parse(cell).toString('MMM d <b>HH:mm</b>');
|
||||
}else if(id == 4){
|
||||
if(cell != undefined && cell != null){
|
||||
if(cell.length > 10){
|
||||
return cell.substring(0,10)+"..";
|
||||
}
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
AttendanceAdapter.method('save', function() {
|
||||
var validator = new FormValidation(this.getTableName()+"_submit",true,{'ShowPopup':false,"LabelErrorClass":"error"});
|
||||
if(validator.checkValues()){
|
||||
var params = validator.getFormParameters();
|
||||
|
||||
var msg = this.doCustomValidation(params);
|
||||
if(msg == null){
|
||||
var id = $('#'+this.getTableName()+"_submit #id").val();
|
||||
if(id != null && id != undefined && id != ""){
|
||||
$(params).attr('id',id);
|
||||
}
|
||||
|
||||
var reqJson = JSON.stringify(params);
|
||||
var callBackData = [];
|
||||
callBackData['callBackData'] = [];
|
||||
callBackData['callBackSuccess'] = 'saveSuccessCallback';
|
||||
callBackData['callBackFail'] = 'saveFailCallback';
|
||||
|
||||
this.customAction('savePunch','admin=attendance',reqJson,callBackData);
|
||||
}else{
|
||||
$("#"+this.getTableName()+'Form .label').html(msg);
|
||||
$("#"+this.getTableName()+'Form .label').show();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
AttendanceAdapter.method('saveSuccessCallback', function(callBackData) {
|
||||
this.get(callBackData);
|
||||
});
|
||||
|
||||
|
||||
AttendanceAdapter.method('saveFailCallback', function(callBackData) {
|
||||
this.showMessage("Error saving attendance entry", callBackData);
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Attendance Status
|
||||
*/
|
||||
|
||||
|
||||
function AttendanceStatusAdapter(endPoint,tab,filter,orderBy) {
|
||||
this.initAdapter(endPoint,tab,filter,orderBy);
|
||||
}
|
||||
|
||||
AttendanceStatusAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
AttendanceStatusAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"employee",
|
||||
"status"
|
||||
];
|
||||
});
|
||||
|
||||
AttendanceStatusAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Employee" },
|
||||
{ "sTitle": "Clocked In Status" }
|
||||
];
|
||||
});
|
||||
|
||||
AttendanceStatusAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
AttendanceStatusAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "employee", {"label":"Employee","type":"select2","allow-null":false,"remote-source":["Employee","id","first_name+last_name"]}]
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
AttendanceStatusAdapter.method('getActionButtonsHtml', function(id,data) {
|
||||
|
||||
|
||||
html = '<div class="online-button-_COLOR_"></div>';
|
||||
html = html.replace(/_BASE_/g,this.baseUrl);
|
||||
if(data[2] == "Not Clocked In"){
|
||||
html = html.replace(/_COLOR_/g,'gray');
|
||||
}else if(data[2] == "Clocked Out"){
|
||||
html = html.replace(/_COLOR_/g,'yellow');
|
||||
}else if(data[2] == "Clocked In"){
|
||||
html = html.replace(/_COLOR_/g,'green');
|
||||
}
|
||||
return html;
|
||||
});
|
||||
10
ext/admin/attendance/meta.json
Normal file
10
ext/admin/attendance/meta.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"label":"Monitor Attendance",
|
||||
"menu":"Employees",
|
||||
"order":"8",
|
||||
"icon":"fa-clock-o",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
if (!class_exists('Company_structureAdminManager')) {
|
||||
|
||||
class Company_structureAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
$this->addDatabaseErrorMapping("CONSTRAINT `Fk_Employee_CompanyStructures` FOREIGN KEY (`department`) REFERENCES `CompanyStructures` (`id`)", "Can not delete a company structure while employees are assigned to it");
|
||||
$this->addDatabaseErrorMapping("CONSTRAINT `Fk_CompanyStructures_Own` FOREIGN KEY (`parent`) REFERENCES ", "Can not delete a parent structure");
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
$this->addModelClass('CompanyStructure');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('CompanyStructure')) {
|
||||
class CompanyStructure extends ICEHRM_Record {
|
||||
var $_table = 'CompanyStructures';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
|
||||
public function validateSave($obj){
|
||||
if($obj->id == $obj->parent && !empty($obj->parent)){
|
||||
return new IceResponse(IceResponse::ERROR,"A Company structure unit can not be the parent of the same unit");
|
||||
}
|
||||
|
||||
return new IceResponse(IceResponse::SUCCESS,"");
|
||||
}
|
||||
}
|
||||
}
|
||||
96
ext/admin/company_structure/index.php
Normal file
96
ext/admin/company_structure/index.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'company_structure';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
?>
|
||||
<script type="text/javascript" src="<?=BASE_URL.'js/d3js/d3.js?v='.$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL.'js/d3js/d3.layout.js?v='.$jsVersion?>"></script>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
.node circle {
|
||||
cursor: pointer;
|
||||
fill: #fff;
|
||||
stroke: steelblue;
|
||||
stroke-width: 1.5px;
|
||||
}
|
||||
|
||||
.node text {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
path.link {
|
||||
fill: none;
|
||||
stroke: #ccc;
|
||||
stroke-width: 1.5px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<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="tabCompanyStructure" href="#tabPageCompanyStructure">Company Structure</a></li>
|
||||
<li><a id="tabCompanyGraph" href="#tabPageCompanyGraph">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;">
|
||||
|
||||
</div>
|
||||
<div id="CompanyStructureForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane reviewBlock" id="tabPageCompanyGraph" style="overflow-x: scroll;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
modJsList['tabCompanyStructure'] = new CompanyStructureAdapter('CompanyStructure');
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Add Company Structure']) && $modulePermissions['perm']['Add Company Structure'] == "No"){?>
|
||||
modJsList['tabCompanyStructure'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Delete Company Structure']) && $modulePermissions['perm']['Delete Company Structure'] == "No"){?>
|
||||
modJsList['tabCompanyStructure'].setShowDelete(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Edit Company Structure']) && $modulePermissions['perm']['Edit Company Structure'] == "No"){?>
|
||||
modJsList['tabCompanyStructure'].setShowEdit(false);
|
||||
<?php }?>
|
||||
|
||||
|
||||
modJsList['tabCompanyGraph'] = new CompanyGraphAdapter('CompanyStructure');
|
||||
|
||||
var modJs = modJsList['tabCompanyStructure'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
306
ext/admin/company_structure/lib.js
Normal file
306
ext/admin/company_structure/lib.js
Normal file
@@ -0,0 +1,306 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
function CompanyStructureAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
CompanyStructureAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
CompanyStructureAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"title",
|
||||
"address",
|
||||
"type",
|
||||
"country",
|
||||
"parent"
|
||||
];
|
||||
});
|
||||
|
||||
CompanyStructureAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID","bVisible":false },
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Address","bSortable":false},
|
||||
{ "sTitle": "Type"},
|
||||
{ "sTitle": "Country", "sClass": "center" },
|
||||
{ "sTitle": "Parent Structure"}
|
||||
];
|
||||
});
|
||||
|
||||
CompanyStructureAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden","validation":""}],
|
||||
[ "title", {"label":"Name","type":"text","validation":""}],
|
||||
[ "description", {"label":"Details","type":"textarea","validation":""}],
|
||||
[ "address", {"label":"Address","type":"textarea","validation":"none"}],
|
||||
[ "type", {"label":"Type","type":"select","source":[["Company","Company"],["Head Office","Head Office"],["Regional Office","Regional Office"],["Department","Department"],["Unit","Unit"],["Sub Unit","Sub Unit"],["Other","Other"]]}],
|
||||
[ "country", {"label":"Country","type":"select","remote-source":["Country","code","name"]}],
|
||||
[ "parent", {"label":"Parent Structure","type":"select","allow-null":true,"remote-source":["CompanyStructure","id","title"]}]
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* Company Graph
|
||||
*/
|
||||
|
||||
|
||||
function CompanyGraphAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
this.nodeIdCounter = 0;
|
||||
}
|
||||
|
||||
CompanyGraphAdapter.inherits(CompanyStructureAdapter);
|
||||
|
||||
|
||||
CompanyGraphAdapter.method('convertToTree', function(data) {
|
||||
var ice = {};
|
||||
ice['id'] = -1;
|
||||
ice['title'] = '';
|
||||
ice['name'] = '';
|
||||
ice['children'] = [];
|
||||
|
||||
var parent = null;
|
||||
|
||||
var added = {};
|
||||
|
||||
|
||||
for(var i=0;i<data.length;i++){
|
||||
|
||||
data[i].name = data[i].title;
|
||||
|
||||
if(data[i].parent != null && data[i].parent != undefined){
|
||||
parent = this.findParent(data,data[i].parent);
|
||||
if(parent != null){
|
||||
if(parent.children == undefined || parent.children == null){
|
||||
parent.children = [];
|
||||
}
|
||||
parent.children.push(data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
for(var i=0;i<data.length;i++){
|
||||
if(data[i].parent == null || data[i].parent == undefined){
|
||||
ice['children'].push(data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return ice;
|
||||
|
||||
});
|
||||
|
||||
|
||||
CompanyGraphAdapter.method('findParent', function(data, parent) {
|
||||
for(var i=0;i<data.length;i++){
|
||||
if(data[i].title == parent || data[i].title == parent){
|
||||
return data[i];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
});
|
||||
|
||||
|
||||
CompanyGraphAdapter.method('createTable', function(elementId) {
|
||||
$("#tabPageCompanyGraph").html("");
|
||||
var that = this;
|
||||
var sourceData = this.sourceData;
|
||||
|
||||
//this.fixCyclicParent(sourceData);
|
||||
var treeData = this.convertToTree(sourceData);
|
||||
|
||||
var m = [20, 120, 20, 120],
|
||||
w = 5000 - m[1] - m[3],
|
||||
h = 1000 - m[0] - m[2],
|
||||
root;
|
||||
|
||||
var tree = d3.layout.tree()
|
||||
.size([h, w]);
|
||||
|
||||
this.diagonal = d3.svg.diagonal()
|
||||
.projection(function(d) { return [d.y, d.x]; });
|
||||
|
||||
this.vis = d3.select("#tabPageCompanyGraph").append("svg:svg")
|
||||
.attr("width", w + m[1] + m[3])
|
||||
.attr("height", h + m[0] + m[2])
|
||||
.append("svg:g")
|
||||
.attr("transform", "translate(" + m[3] + "," + m[0] + ")");
|
||||
|
||||
root = treeData;
|
||||
root.x0 = h / 2;
|
||||
root.y0 = 0;
|
||||
|
||||
function toggleAll(d) {
|
||||
if (d.children) {
|
||||
console.log(d.name);
|
||||
d.children.forEach(toggleAll);
|
||||
that.toggle(d);
|
||||
}
|
||||
}
|
||||
this.update(root, tree, root);
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
CompanyGraphAdapter.method('update', function(source, tree, root) {
|
||||
var that = this;
|
||||
var duration = d3.event && d3.event.altKey ? 5000 : 500;
|
||||
|
||||
// Compute the new tree layout.
|
||||
var nodes = tree.nodes(root).reverse();
|
||||
|
||||
// Normalize for fixed-depth.
|
||||
nodes.forEach(function(d) { d.y = d.depth * 180; });
|
||||
|
||||
// Update the nodes<65>
|
||||
var node = that.vis.selectAll("g.node")
|
||||
.data(nodes, function(d) { return d.id || (d.id = ++that.nodeIdCounter); });
|
||||
|
||||
// Enter any new nodes at the parent's previous position.
|
||||
var nodeEnter = node.enter().append("svg:g")
|
||||
.attr("class", "node")
|
||||
.attr("transform", function(d) { return "translate(" + source.y0 + "," + source.x0 + ")"; })
|
||||
.on("click", function(d) { that.toggle(d); that.update(d, tree, root); });
|
||||
|
||||
nodeEnter.append("svg:circle")
|
||||
.attr("r", 1e-6)
|
||||
.style("fill", function(d) { return d._children ? "lightsteelblue" : "#fff"; });
|
||||
|
||||
nodeEnter.append("svg:text")
|
||||
.attr("x", function(d) { return d.children || d._children ? -10 : 10; })
|
||||
.attr("dy", ".35em")
|
||||
.attr("text-anchor", function(d) { return d.children || d._children ? "end" : "start"; })
|
||||
.text(function(d) { return d.name; })
|
||||
.style("fill-opacity", 1e-6);
|
||||
|
||||
// Transition nodes to their new position.
|
||||
var nodeUpdate = node.transition()
|
||||
.duration(duration)
|
||||
.attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; });
|
||||
|
||||
nodeUpdate.select("circle")
|
||||
.attr("r", 4.5)
|
||||
.style("fill", function(d) { return d._children ? "lightsteelblue" : "#fff"; });
|
||||
|
||||
nodeUpdate.select("text")
|
||||
.style("fill-opacity", 1);
|
||||
|
||||
// Transition exiting nodes to the parent's new position.
|
||||
var nodeExit = node.exit().transition()
|
||||
.duration(duration)
|
||||
.attr("transform", function(d) { return "translate(" + source.y + "," + source.x + ")"; })
|
||||
.remove();
|
||||
|
||||
nodeExit.select("circle")
|
||||
.attr("r", 1e-6);
|
||||
|
||||
nodeExit.select("text")
|
||||
.style("fill-opacity", 1e-6);
|
||||
|
||||
// Update the links<6B>
|
||||
var link = that.vis.selectAll("path.link")
|
||||
.data(tree.links(nodes), function(d) { return d.target.id; });
|
||||
|
||||
// Enter any new links at the parent's previous position.
|
||||
link.enter().insert("svg:path", "g")
|
||||
.attr("class", "link")
|
||||
.attr("d", function(d) {
|
||||
var o = {x: source.x0, y: source.y0};
|
||||
return that.diagonal({source: o, target: o});
|
||||
})
|
||||
.transition()
|
||||
.duration(duration)
|
||||
.attr("d", that.diagonal);
|
||||
|
||||
// Transition links to their new position.
|
||||
link.transition()
|
||||
.duration(duration)
|
||||
.attr("d", that.diagonal);
|
||||
|
||||
// Transition exiting nodes to the parent's new position.
|
||||
link.exit().transition()
|
||||
.duration(duration)
|
||||
.attr("d", function(d) {
|
||||
var o = {x: source.x, y: source.y};
|
||||
return that.diagonal({source: o, target: o});
|
||||
})
|
||||
.remove();
|
||||
|
||||
// Stash the old positions for transition.
|
||||
nodes.forEach(function(d) {
|
||||
d.x0 = d.x;
|
||||
d.y0 = d.y;
|
||||
});
|
||||
});
|
||||
|
||||
// Toggle children.
|
||||
CompanyGraphAdapter.method('toggle', function(d) {
|
||||
if (d.children) {
|
||||
d._children = d.children;
|
||||
d.children = null;
|
||||
} else {
|
||||
d.children = d._children;
|
||||
d._children = null;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
CompanyGraphAdapter.method('getSourceDataById', function(id) {
|
||||
|
||||
for(var i=0; i< this.sourceData.length; i++){
|
||||
if(this.sourceData[i].id == id){
|
||||
return this.sourceData[i];
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
});
|
||||
|
||||
CompanyGraphAdapter.method('fixCyclicParent', function(sourceData) {
|
||||
var errorMsg = "";
|
||||
for(var i=0; i< sourceData.length; i++){
|
||||
var obj = sourceData[i];
|
||||
|
||||
|
||||
var curObj = obj;
|
||||
var parentIdArr = {};
|
||||
parentIdArr[curObj.id] = 1;
|
||||
|
||||
while(curObj.parent != null && curObj.parent != undefined){
|
||||
var parent = this.getSourceDataById(curObj.parent);
|
||||
if(parent == null){
|
||||
break;
|
||||
}else if(parentIdArr[parent.id] == 1){
|
||||
errorMsg = obj.title +"'s parent structure set to "+parent.title+"<br/>";
|
||||
obj.parent = null;
|
||||
break;
|
||||
}
|
||||
parentIdArr[parent.id] = 1;
|
||||
curObj = parent;
|
||||
}
|
||||
}
|
||||
|
||||
if(errorMsg != ""){
|
||||
this.showMessage("Company Structure is having a cyclic dependency","We found a cyclic dependency due to following reasons:<br/>"+errorMsg);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
});
|
||||
|
||||
CompanyGraphAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=61';
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
16
ext/admin/company_structure/meta.json
Normal file
16
ext/admin/company_structure/meta.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"label":"Company Structure",
|
||||
"menu":"Admin",
|
||||
"order":"2",
|
||||
"icon":"fa-building-o",
|
||||
"user_levels":["Admin","Manager"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
"Manager":{
|
||||
"Add Company Structure":"No",
|
||||
"Edit Company Structure":"No",
|
||||
"Delete Company Structure":"No"
|
||||
}
|
||||
}
|
||||
}
|
||||
55
ext/admin/dashboard/api/DashboardActionManager.php
Normal file
55
ext/admin/dashboard/api/DashboardActionManager.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
|
||||
class DashboardActionManager extends SubActionManager{
|
||||
|
||||
public function getInitData($req){
|
||||
$data = array();
|
||||
$employees = new Employee();
|
||||
$data['numberOfEmployees'] = $employees->Count("1 = 1");
|
||||
|
||||
$company = new CompanyStructure();
|
||||
$data['numberOfCompanyStuctures'] = $company->Count("1 = 1");
|
||||
|
||||
$user = new User();
|
||||
$data['numberOfUsers'] = $user->Count("1 = 1");
|
||||
|
||||
$project = new Project();
|
||||
$data['numberOfProjects'] = $project->Count("status = 'Active'");
|
||||
|
||||
$attendance = new Attendance();
|
||||
$data['numberOfAttendanceLastWeek'] = $attendance->Count("in_time > '".date("Y-m-d H:i:s",strtotime("-1 week"))."'");
|
||||
|
||||
$empLeave = new EmployeeLeave();
|
||||
$data['numberOfLeaves'] = $empLeave->Count("date_start > '".date("Y-m-d")."'");
|
||||
|
||||
$timeEntry = new EmployeeTimeEntry();
|
||||
$data['numberOfAttendanceLastWeek'] = $attendance->Count("in_time > '".date("Y-m-d H:i:s",strtotime("-1 week"))."'");
|
||||
|
||||
|
||||
return new IceResponse(IceResponse::SUCCESS,$data);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
22
ext/admin/dashboard/api/DashboardAdminManager.php
Normal file
22
ext/admin/dashboard/api/DashboardAdminManager.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
if (!class_exists('DashboardAdminManager')) {
|
||||
class DashboardAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
223
ext/admin/dashboard/index.php
Normal file
223
ext/admin/dashboard/index.php
Normal file
@@ -0,0 +1,223 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'dashboard';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
?><div class="span9">
|
||||
<div id="iceannon">
|
||||
<div class="callout callout-warning lead" style="font-size: 14px;">
|
||||
<h4>Why not upgrade to IceHrm Pro Version</h4>
|
||||
<p>
|
||||
IceHrm Pro is the feature rich upgrade to IceHrm open source version. It comes with improved modules for
|
||||
employee management, leave management, LDAP support and number of other features over open source version.
|
||||
Hit this <a href="http://icehrm.com/#compare" class="btn btn-primary btn-xs target="_blank">link</a> to do a full one to one comparison.
|
||||
|
||||
Also you can learn more about IceHrm Pro <a href="http://blog.icehrm.com/icehrm-pro/" class="btn btn-primary btn-xs" target="_blank">here</a>
|
||||
<br/>
|
||||
<br/>
|
||||
<a href="http://icehrm.com/modules.php" class="btn btn-success btm-xs" target="_blank"><i class="fa fa-checkout"></i> Buy IceHrm Pro</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-aqua">
|
||||
<div class="inner">
|
||||
<h3>
|
||||
People
|
||||
</h3>
|
||||
<p id="numberOfEmployees">
|
||||
.. Employees
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-person-stalker"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="employeeLink">
|
||||
Manage Employees <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-green">
|
||||
<div class="inner">
|
||||
<h3 id="numberOfCompanyStuctures">..</h3>
|
||||
<p >
|
||||
Company Structures
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-shuffle"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="companyLink">
|
||||
Manage Company <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner">
|
||||
<h3>Users</h3>
|
||||
<p id="numberOfUsers">
|
||||
.. Users
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-person-add"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="usersLink">
|
||||
Manage Users <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-red">
|
||||
<div class="inner">
|
||||
<h3 id="numberOfProjects">..</h3>
|
||||
<p>
|
||||
Active Projects
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-pie-graph"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="projectsLink">
|
||||
Update Clients/Projects <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner">
|
||||
<h3>
|
||||
Attendance
|
||||
</h3>
|
||||
<p id="numberOfAttendanceLastWeek">
|
||||
.. Entries Last Week
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-clock"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="attendanceLink">
|
||||
Monitor Attendance <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-red">
|
||||
<div class="inner">
|
||||
<h3 id="numberOfLeaves">..</h3>
|
||||
<p >Upcoming Leaves</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-calendar"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="leaveLink">
|
||||
Leave Management <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-teal">
|
||||
<div class="inner">
|
||||
<h3>Reports</h3>
|
||||
<p>
|
||||
View / Download Reports
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-document-text"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="reportsLink">
|
||||
Create a Report <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
<div class="col-lg-3 col-xs-6">
|
||||
<!-- small box -->
|
||||
<div class="small-box bg-green">
|
||||
<div class="inner">
|
||||
<h3>Settings</h3>
|
||||
<p>
|
||||
Configure IceHrm
|
||||
</p>
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i class="ion ion-settings"></i>
|
||||
</div>
|
||||
<a href="#" class="small-box-footer" id="settingsLink">
|
||||
Update Settings <i class="fa fa-arrow-circle-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- ./col -->
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabDashboard'] = new DashboardAdapter('Dashboard','Dashboard');
|
||||
|
||||
var modJs = modJsList['tabDashboard'];
|
||||
|
||||
$("#employeeLink").attr("href",modJs.getCustomUrl('?g=admin&n=employees&m=admin_Admin'));
|
||||
$("#companyLink").attr("href",modJs.getCustomUrl('?g=admin&n=company_structure&m=admin_Admin'));
|
||||
$("#usersLink").attr("href",modJs.getCustomUrl('?g=admin&n=users&m=admin_System'));
|
||||
$("#projectsLink").attr("href",modJs.getCustomUrl('?g=admin&n=projects&m=admin_Admin'));
|
||||
$("#attendanceLink").attr("href",modJs.getCustomUrl('?g=admin&n=attendance&m=admin_Admin'));
|
||||
$("#leaveLink").attr("href",modJs.getCustomUrl('?g=admin&n=leaves&m=admin_Admin'));
|
||||
$("#reportsLink").attr("href",modJs.getCustomUrl('?g=admin&n=reports&m=admin_Reports'));
|
||||
$("#settingsLink").attr("href",modJs.getCustomUrl('?g=admin&n=settings&m=admin_System'));
|
||||
|
||||
modJs.getInitData();
|
||||
|
||||
$(document).ready(function(){
|
||||
try{
|
||||
$.ajax({
|
||||
url : "https://icehrm-public.s3.amazonaws.com/icehrmnews.html",
|
||||
success : function(result){
|
||||
$('#iceannon').html(result);
|
||||
}
|
||||
});
|
||||
}catch(e){}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
76
ext/admin/dashboard/lib.js
Normal file
76
ext/admin/dashboard/lib.js
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
function DashboardAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
DashboardAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
DashboardAdapter.method('getDataMapping', function() {
|
||||
return [];
|
||||
});
|
||||
|
||||
DashboardAdapter.method('getHeaders', function() {
|
||||
return [];
|
||||
});
|
||||
|
||||
DashboardAdapter.method('getFormFields', function() {
|
||||
return [];
|
||||
});
|
||||
|
||||
|
||||
DashboardAdapter.method('get', function(callBackData) {
|
||||
});
|
||||
|
||||
|
||||
DashboardAdapter.method('getInitData', function() {
|
||||
var that = this;
|
||||
var object = {};
|
||||
var reqJson = JSON.stringify(object);
|
||||
var callBackData = [];
|
||||
callBackData['callBackData'] = [];
|
||||
callBackData['callBackSuccess'] = 'getInitDataSuccessCallBack';
|
||||
callBackData['callBackFail'] = 'getInitDataFailCallBack';
|
||||
|
||||
this.customAction('getInitData','admin=dashboard',reqJson,callBackData);
|
||||
});
|
||||
|
||||
|
||||
|
||||
DashboardAdapter.method('getInitDataSuccessCallBack', function(data) {
|
||||
|
||||
$("#numberOfEmployees").html(data['numberOfEmployees']+" Employees");
|
||||
$("#numberOfCompanyStuctures").html(data['numberOfCompanyStuctures']);
|
||||
$("#numberOfUsers").html(data['numberOfUsers']+" Users");
|
||||
$("#numberOfProjects").html(data['numberOfProjects']);
|
||||
$("#numberOfAttendanceLastWeek").html(data['numberOfAttendanceLastWeek']+" Entries Last Week");
|
||||
$("#numberOfLeaves").html(data['numberOfLeaves']);
|
||||
$("#numberOfTimeEntries").html(data['numberOfTimeEntries']);
|
||||
|
||||
});
|
||||
|
||||
DashboardAdapter.method('getInitDataFailCallBack', function(callBackData) {
|
||||
|
||||
});
|
||||
11
ext/admin/dashboard/meta.json
Normal file
11
ext/admin/dashboard/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Dashboard",
|
||||
"menu":"Admin",
|
||||
"order":"1",
|
||||
"icon":"fa-desktop",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
69
ext/admin/documents/api/DocumentsAdminManager.php
Normal file
69
ext/admin/documents/api/DocumentsAdminManager.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
if (!class_exists('DocumentsAdminManager')) {
|
||||
class DocumentsAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
$this->addFileFieldMapping('EmployeeDocument', 'attachment', 'name');
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
$this->addDatabaseErrorMapping('CONSTRAINT `Fk_EmployeeDocuments_Documents` FOREIGN KEY','Can not delete Document Type, users have already uploaded these types of documents');
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
$this->addModelClass('Document');
|
||||
$this->addModelClass('EmployeeDocument');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('Document')) {
|
||||
class Document extends ICEHRM_Record {
|
||||
var $_table = 'Documents';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('EmployeeDocument')) {
|
||||
class EmployeeDocument extends ICEHRM_Record {
|
||||
var $_table = 'EmployeeDocuments';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array("get");
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccess(){
|
||||
return array("element","save","delete");
|
||||
}
|
||||
|
||||
public function Insert(){
|
||||
if(empty($this->date_added)){
|
||||
$this->date_added = date("Y-m-d H:i:s");
|
||||
}
|
||||
return parent::Insert();
|
||||
}
|
||||
}
|
||||
}
|
||||
64
ext/admin/documents/index.php
Normal file
64
ext/admin/documents/index.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'documents';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabDocument" href="#tabPageDocument">Document Types</a></li>
|
||||
<li class=""><a id="tabEmployeeDocument" href="#tabPageEmployeeDocument">Employee Documents</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageDocument">
|
||||
<div id="Document" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="DocumentForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageEmployeeDocument">
|
||||
<div id="EmployeeDocument" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EmployeeDocumentForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabDocument'] = new DocumentAdapter('Document','Document');
|
||||
modJsList['tabEmployeeDocument'] = new EmployeeDocumentAdapter('EmployeeDocument','EmployeeDocument');
|
||||
|
||||
var modJs = modJsList['tabDocument'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
107
ext/admin/documents/lib.js
Normal file
107
ext/admin/documents/lib.js
Normal file
@@ -0,0 +1,107 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* DocumentAdapter
|
||||
*/
|
||||
|
||||
function DocumentAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
DocumentAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
DocumentAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"details"
|
||||
];
|
||||
});
|
||||
|
||||
DocumentAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Details"}
|
||||
];
|
||||
});
|
||||
|
||||
DocumentAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text","validation":""}],
|
||||
[ "details", {"label":"Details","type":"textarea","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
DocumentAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=88';
|
||||
});
|
||||
|
||||
|
||||
function EmployeeDocumentAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
EmployeeDocumentAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
EmployeeDocumentAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"employee",
|
||||
"document",
|
||||
"details",
|
||||
"date_added",
|
||||
"status",
|
||||
"attachment"
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeDocumentAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Employee" },
|
||||
{ "sTitle": "Document" },
|
||||
{ "sTitle": "Details" },
|
||||
{ "sTitle": "Date Added"},
|
||||
{ "sTitle": "Status"},
|
||||
{ "sTitle": "Attachment","bVisible":false}
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeDocumentAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "employee", {"label":"Employee","type":"select2","remote-source":["Employee","id","first_name+last_name"]}],
|
||||
[ "document", {"label":"Document","type":"select2","remote-source":["Document","id","name"]}],
|
||||
[ "date_added", {"label":"Date Added","type":"date","validation":""}],
|
||||
[ "valid_until", {"label":"Valid Until","type":"date","validation":"none"}],
|
||||
[ "status", {"label":"Status","type":"select","source":[["Active","Active"],["Inactive","Inactive"],["Draft","Draft"]]}],
|
||||
[ "details", {"label":"Details","type":"textarea","validation":"none"}],
|
||||
[ "attachment", {"label":"Attachment","type":"fileupload","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
EmployeeDocumentAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "employee", {"label":"Employee","type":"select2","remote-source":["Employee","id","first_name+last_name"]}]
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
EmployeeDocumentAdapter.method('getActionButtonsHtml', function(id,data) {
|
||||
var html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img><img class="tableActionButton" src="_BASE_images/download.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Download Document" onclick="download(\'_attachment_\');return false;"></img><img class="tableActionButton" src="_BASE_images/delete.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Delete" onclick="modJs.deleteRow(_id_);return false;"></img></div>';
|
||||
html = html.replace(/_id_/g,id);
|
||||
html = html.replace(/_attachment_/g,data[6]);
|
||||
html = html.replace(/_BASE_/g,this.baseUrl);
|
||||
return html;
|
||||
});
|
||||
11
ext/admin/documents/meta.json
Normal file
11
ext/admin/documents/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Document Management",
|
||||
"menu":"Employees",
|
||||
"order":"2",
|
||||
"icon":"fa-files-o",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
71
ext/admin/employees/api/EmployeesAdminManager.php
Normal file
71
ext/admin/employees/api/EmployeesAdminManager.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
if (!class_exists('EmployeesAdminManager')) {
|
||||
class EmployeesAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
$this->addDatabaseErrorMapping('CONSTRAINT `Fk_User_Employee` FOREIGN KEY',"Can not delete Employee, please delete the User for this employee first.");
|
||||
$this->addDatabaseErrorMapping("Duplicate entry|for key 'employee'","A duplicate entry found");
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
$this->addModelClass('Employee');
|
||||
$this->addModelClass('EmploymentStatus');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('Employee')) {
|
||||
class Employee extends ICEHRM_Record {
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array("get");
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccess(){
|
||||
return array("element","save");
|
||||
}
|
||||
|
||||
public function getUserOnlyMeAccessField(){
|
||||
return "id";
|
||||
}
|
||||
|
||||
var $_table = 'Employees';
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('EmploymentStatus')) {
|
||||
class EmploymentStatus extends ICEHRM_Record {
|
||||
|
||||
var $_table = 'EmploymentStatus';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
34
ext/admin/employees/index.php
Normal file
34
ext/admin/employees/index.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
$moduleName = 'employees';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabEmployee" href="#tabPageEmployee">Employees</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageEmployee">
|
||||
<div id="Employee" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EmployeeForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
modJsList['tabEmployee'] = new EmployeeAdapter('Employee');
|
||||
modJsList['tabEmployee'].setRemoteTable(true);
|
||||
|
||||
var modJs = modJsList['tabEmployee'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
96
ext/admin/employees/lib.js
Normal file
96
ext/admin/employees/lib.js
Normal file
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
function EmployeeAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
EmployeeAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
EmployeeAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"employee_id",
|
||||
"first_name",
|
||||
"last_name",
|
||||
"mobile_phone",
|
||||
"department",
|
||||
"gender",
|
||||
"supervisor"
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" },
|
||||
{ "sTitle": "Employee Number" },
|
||||
{ "sTitle": "First Name" },
|
||||
{ "sTitle": "Last Name"},
|
||||
{ "sTitle": "Mobile"},
|
||||
{ "sTitle": "Department"},
|
||||
{ "sTitle": "Gender"},
|
||||
{ "sTitle": "Supervisor"}
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden","validation":""}],
|
||||
[ "employee_id", {"label":"Employee Number","type":"text","validation":""}],
|
||||
[ "first_name", {"label":"First Name","type":"text","validation":""}],
|
||||
[ "middle_name", {"label":"Middle Name","type":"text","validation":"none"}],
|
||||
[ "last_name", {"label":"Last Name","type":"text","validation":""}],
|
||||
[ "nationality", {"label":"Nationality","type":"select2","remote-source":["Nationality","id","name"]}],
|
||||
[ "birthday", {"label":"Date of Birth","type":"date","validation":""}],
|
||||
[ "gender", {"label":"Gender","type":"select","source":[["Male","Male"],["Female","Female"]]}],
|
||||
[ "marital_status", {"label":"Marital Status","type":"select","source":[["Married","Married"],["Single","Single"],["Divorced","Divorced"],["Widowed","Widowed"],["Other","Other"]]}],
|
||||
[ "ssn_num", {"label":"SSN/NRIC","type":"text","validation":"none"}],
|
||||
[ "nic_num", {"label":"NIC","type":"text","validation":"none"}],
|
||||
[ "other_id", {"label":"Other ID","type":"text","validation":"none"}],
|
||||
[ "driving_license", {"label":"Driving License No","type":"text","validation":"none"}],
|
||||
/*[ "driving_license_exp_date", {"label":"License Exp Date","type":"date","validation":"none"}],*/
|
||||
[ "employment_status", {"label":"Employment Status","type":"select2","remote-source":["EmploymentStatus","id","name"]}],
|
||||
[ "job_title", {"label":"Job Title","type":"select2","remote-source":["JobTitle","id","name"]}],
|
||||
[ "pay_grade", {"label":"Pay Grade","type":"select2","allow-null":true,"remote-source":["PayGrade","id","name"]}],
|
||||
[ "work_station_id", {"label":"Work Station Id","type":"text","validation":"none"}],
|
||||
[ "address1", {"label":"Address Line 1","type":"text","validation":"none"}],
|
||||
[ "address2", {"label":"Address Line 2","type":"text","validation":"none"}],
|
||||
[ "city", {"label":"City","type":"text","validation":"none"}],
|
||||
[ "country", {"label":"Country","type":"select2","remote-source":["Country","code","name"]}],
|
||||
[ "province", {"label":"Province","type":"select2","allow-null":true,"remote-source":["Province","id","name"]}],
|
||||
[ "postal_code", {"label":"Postal/Zip Code","type":"text","validation":"none"}],
|
||||
[ "home_phone", {"label":"Home Phone","type":"text","validation":"none"}],
|
||||
[ "mobile_phone", {"label":"Mobile Phone","type":"text","validation":"none"}],
|
||||
[ "work_phone", {"label":"Work Phone","type":"text","validation":"none"}],
|
||||
[ "work_email", {"label":"Work Email","type":"text","validation":"emailOrEmpty"}],
|
||||
[ "private_email", {"label":"Private Email","type":"text","validation":"emailOrEmpty"}],
|
||||
[ "joined_date", {"label":"Joined Date","type":"date","validation":""}],
|
||||
[ "confirmation_date", {"label":"Confirmation Date","type":"date","validation":"none"}],
|
||||
[ "department", {"label":"Department","type":"select2","remote-source":["CompanyStructure","id","title"]}],
|
||||
[ "supervisor", {"label":"Supervisor","type":"select2","allow-null":true,"remote-source":["Employee","id","first_name+last_name"]}]
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "job_title", {"label":"Job Title","type":"select2","allow-null":true,"null-label":"All Job Titles","remote-source":["JobTitle","id","name"]}],
|
||||
[ "department", {"label":"Department","type":"select2","allow-null":true,"null-label":"All Departments","remote-source":["CompanyStructure","id","title"]}],
|
||||
[ "supervisor", {"label":"Supervisor","type":"select2","allow-null":true,"null-label":"Anyone","remote-source":["Employee","id","first_name+last_name"]}]
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeAdapter.method('getActionButtonsHtml', function(id) {
|
||||
var html = '<div style="width:110px;"><img class="tableActionButton" src="_BASE_images/user.png" style="cursor:pointer;" rel="tooltip" title="Login as this Employee" onclick="modJs.setAdminEmployee(_id_);return false;"></img><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;margin-left:15px;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img><img class="tableActionButton" src="_BASE_images/delete.png" style="margin-left:15px;cursor:pointer;" rel="tooltip" title="Terminate Employee" onclick="modJs.deleteRow(_id_);return false;"></img></div>';
|
||||
html = html.replace(/_id_/g,id);
|
||||
html = html.replace(/_BASE_/g,this.baseUrl);
|
||||
return html;
|
||||
});
|
||||
|
||||
EmployeeAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=69';
|
||||
});
|
||||
|
||||
|
||||
11
ext/admin/employees/meta.json
Normal file
11
ext/admin/employees/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Employees",
|
||||
"menu":"Employees",
|
||||
"order":"1",
|
||||
"icon":"fa-users",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
54
ext/admin/jobs/api/JobsAdminManager.php
Normal file
54
ext/admin/jobs/api/JobsAdminManager.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
if (!class_exists('JobsAdminManager')) {
|
||||
class JobsAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
$this->addModelClass('JobTitle');
|
||||
$this->addModelClass('PayGrade');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('JobTitle')) {
|
||||
class JobTitle extends ICEHRM_Record {
|
||||
var $_table = 'JobTitles';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('PayGrade')) {
|
||||
class PayGrade extends ICEHRM_Record {
|
||||
var $_table = 'PayGrades';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
||||
74
ext/admin/jobs/index.php
Normal file
74
ext/admin/jobs/index.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'jobs';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabJobTitles" href="#tabPageJobTitles">Job Titles</a></li>
|
||||
<li><a id="tabPayGrades" href="#tabPagePayGrades">Pay Grades</a></li>
|
||||
<li><a id="tabEmploymentStatus" href="#tabPageEmploymentStatus">Employment Status</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageJobTitles">
|
||||
<div id="JobTitle" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="JobTitleForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPagePayGrades">
|
||||
<div id="PayGrade" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="PayGradeForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageEmploymentStatus">
|
||||
<div id="EmploymentStatus" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EmploymentStatusForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabJobTitles'] = new JobTitleAdapter('JobTitle');
|
||||
modJsList['tabPayGrades'] = new PayGradeAdapter('PayGrade');
|
||||
modJsList['tabEmploymentStatus'] = new EmploymentStatusAdapter('EmploymentStatus');
|
||||
|
||||
var modJs = modJsList['tabJobTitles'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
139
ext/admin/jobs/lib.js
Normal file
139
ext/admin/jobs/lib.js
Normal file
@@ -0,0 +1,139 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* JobTitleAdapter
|
||||
*/
|
||||
|
||||
function JobTitleAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
JobTitleAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
JobTitleAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"code",
|
||||
"name"
|
||||
];
|
||||
});
|
||||
|
||||
JobTitleAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Code" },
|
||||
{ "sTitle": "Name" }
|
||||
];
|
||||
});
|
||||
|
||||
JobTitleAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "code", {"label":"Job Title Code","type":"text"}],
|
||||
[ "name", {"label":"Job Title","type":"text"}],
|
||||
[ "description", {"label":"Description","type":"textarea"}],
|
||||
[ "specification", {"label":"Specification","type":"textarea"}]
|
||||
];
|
||||
});
|
||||
|
||||
JobTitleAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=80';
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* PayGradeAdapter
|
||||
*/
|
||||
|
||||
function PayGradeAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
PayGradeAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
PayGradeAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"currency",
|
||||
"min_salary",
|
||||
"max_salary"
|
||||
];
|
||||
});
|
||||
|
||||
PayGradeAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Currency"},
|
||||
{ "sTitle": "Min Salary" },
|
||||
{ "sTitle": "Max Salary"}
|
||||
];
|
||||
});
|
||||
|
||||
PayGradeAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Pay Grade Name","type":"text"}],
|
||||
[ "currency", {"label":"Currency","type":"select2","remote-source":["CurrencyType","code","name"]}],
|
||||
[ "min_salary", {"label":"Min Salary","type":"text","validation":"float"}],
|
||||
[ "max_salary", {"label":"Max Salary","type":"text","validation":"float"}]
|
||||
];
|
||||
});
|
||||
|
||||
PayGradeAdapter.method('doCustomValidation', function(params) {
|
||||
try{
|
||||
if(parseFloat(params.min_salary)>parseFloat(params.max_salary)){
|
||||
return "Min Salary should be smaller than Max Salary";
|
||||
}
|
||||
}catch(e){
|
||||
|
||||
}
|
||||
return null;
|
||||
});
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* EmploymentStatusAdapter
|
||||
*/
|
||||
|
||||
function EmploymentStatusAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
EmploymentStatusAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
EmploymentStatusAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"description"
|
||||
];
|
||||
});
|
||||
|
||||
EmploymentStatusAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" },
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Description"}
|
||||
];
|
||||
});
|
||||
|
||||
EmploymentStatusAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Employment Status","type":"text"}],
|
||||
[ "description", {"label":"Description","type":"textarea","validation":""}]
|
||||
];
|
||||
});
|
||||
|
||||
11
ext/admin/jobs/meta.json
Normal file
11
ext/admin/jobs/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Job Details Setup",
|
||||
"menu":"Admin",
|
||||
"order":"3",
|
||||
"icon":"fa-columns",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
37
ext/admin/loans/api/LoansAdminManager.php
Normal file
37
ext/admin/loans/api/LoansAdminManager.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
if (!class_exists('LoansAdminManager')) {
|
||||
class LoansAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
$this->addModelClass('CompanyLoan');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('CompanyLoan')) {
|
||||
class CompanyLoan extends ICEHRM_Record {
|
||||
var $_table = 'CompanyLoans';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
||||
64
ext/admin/loans/index.php
Normal file
64
ext/admin/loans/index.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'CompanyLoans';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabCompanyLoan" href="#tabPageCompanyLoan">Loan Types</a></li>
|
||||
<li><a id="tabEmployeeCompanyLoan" href="#tabPageEmployeeCompanyLoan">Employee Loans</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageCompanyLoan">
|
||||
<div id="CompanyLoan" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="CompanyLoanForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageEmployeeCompanyLoan">
|
||||
<div id="EmployeeCompanyLoan" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EmployeeCompanyLoanForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabCompanyLoan'] = new CompanyLoanAdapter('CompanyLoan','CompanyLoan');
|
||||
modJsList['tabEmployeeCompanyLoan'] = new EmployeeCompanyLoanAdapter('EmployeeCompanyLoan','EmployeeCompanyLoan');
|
||||
|
||||
var modJs = modJsList['tabCompanyLoan'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
102
ext/admin/loans/lib.js
Normal file
102
ext/admin/loans/lib.js
Normal file
@@ -0,0 +1,102 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* CompanyLoanAdapter
|
||||
*/
|
||||
|
||||
function CompanyLoanAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
CompanyLoanAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
CompanyLoanAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"details"
|
||||
];
|
||||
});
|
||||
|
||||
CompanyLoanAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Details"}
|
||||
];
|
||||
});
|
||||
|
||||
CompanyLoanAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text","validation":""}],
|
||||
[ "details", {"label":"Details","type":"textarea","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
/*
|
||||
* EmployeeCompanyLoanAdapter
|
||||
*/
|
||||
|
||||
function EmployeeCompanyLoanAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
EmployeeCompanyLoanAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
EmployeeCompanyLoanAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"employee",
|
||||
"loan",
|
||||
"start_date",
|
||||
"period_months",
|
||||
"currency",
|
||||
"amount",
|
||||
"status"
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeCompanyLoanAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Employee" },
|
||||
{ "sTitle": "Loan Type" },
|
||||
{ "sTitle": "Loan Start Date"},
|
||||
{ "sTitle": "Loan Period (Months)"},
|
||||
{ "sTitle": "Currency"},
|
||||
{ "sTitle": "Amount"},
|
||||
{ "sTitle": "Status"}
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeCompanyLoanAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "employee", {"label":"Employee","type":"select2","remote-source":["Employee","id","first_name+last_name"]}],
|
||||
[ "loan", {"label":"Loan Type","type":"select","remote-source":["CompanyLoan","id","name"]}],
|
||||
[ "start_date", {"label":"Loan Start Date","type":"date","validation":""}],
|
||||
[ "last_installment_date", {"label":"Last Installment Date","type":"date","validation":"none"}],
|
||||
[ "period_months", {"label":"Loan Period (Months)","type":"text","validation":"number"}],
|
||||
[ "currency", {"label":"Currency","type":"select2","remote-source":["CurrencyType","id","name"]}],
|
||||
[ "amount", {"label":"Loan Amount","type":"text","validation":"float"}],
|
||||
[ "monthly_installment", {"label":"Monthly Installment","type":"text","validation":"float"}],
|
||||
[ "status", {"label":"Status","type":"select","source":[["Approved","Approved"],["Paid","Paid"],["Suspended","Suspended"]]}],
|
||||
[ "details", {"label":"Details","type":"textarea","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeCompanyLoanAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "employee", {"label":"Employee","type":"select2","allow-null":true,"null-label":"All Employees","remote-source":["Employee","id","first_name+last_name"]}],
|
||||
[ "loan", {"label":"Loan Type","type":"select","allow-null":true,"null-label":"All Loan Types","remote-source":["CompanyLoan","id","name"]}],
|
||||
|
||||
];
|
||||
});
|
||||
11
ext/admin/loans/meta.json
Normal file
11
ext/admin/loans/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Company Loans",
|
||||
"menu":"Admin",
|
||||
"order":"7",
|
||||
"icon":"fa-shield",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
7
ext/admin/meta.json
Normal file
7
ext/admin/meta.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"Admin":"fa-cubes",
|
||||
"Employees":"fa-users",
|
||||
"Reports":"fa-file-text",
|
||||
"System":"fa-cogs",
|
||||
"Salary Details":"fa-money"
|
||||
}
|
||||
144
ext/admin/metadata/api/MetadataAdminManager.php
Normal file
144
ext/admin/metadata/api/MetadataAdminManager.php
Normal file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
if (!class_exists('MetadataAdminManager')) {
|
||||
|
||||
class MetadataAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
$this->addModelClass('Country');
|
||||
$this->addModelClass('Province');
|
||||
$this->addModelClass('CurrencyType');
|
||||
$this->addModelClass('Nationality');
|
||||
$this->addModelClass('ImmigrationStatus');
|
||||
$this->addModelClass('Ethnicity');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('Country')) {
|
||||
class Country extends ICEHRM_Record {
|
||||
var $_table = 'Country';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getAnonymousAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('Province')) {
|
||||
class Province extends ICEHRM_Record {
|
||||
var $_table = 'Province';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getAnonymousAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('CurrencyType')) {
|
||||
class CurrencyType extends ICEHRM_Record {
|
||||
var $_table = 'CurrencyTypes';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getAnonymousAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('Nationality')) {
|
||||
class Nationality extends ICEHRM_Record {
|
||||
var $_table = 'Nationality';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getAnonymousAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('ImmigrationStatus')) {
|
||||
class ImmigrationStatus extends ICEHRM_Record {
|
||||
var $_table = 'ImmigrationStatus';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getAnonymousAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('Ethnicity')) {
|
||||
class Ethnicity extends ICEHRM_Record {
|
||||
var $_table = 'Ethnicity';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getAnonymousAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
42
ext/admin/metadata/index.php
Normal file
42
ext/admin/metadata/index.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?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 (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'metadata';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
$moduleBuilder = new ModuleBuilder();
|
||||
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab('Country','Country','Countries','CountryAdapter','','',true));
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab('Province','Province','Provinces','ProvinceAdapter','',''));
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab('CurrencyType','CurrencyType','Currency Types','CurrencyTypeAdapter','',''));
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab('Nationality','Nationality','Nationality','NationalityAdapter','',''));
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab('Nationality','Nationality','Nationality','NationalityAdapter','',''));
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab('Ethnicity','Ethnicity','Ethnicity','EthnicityAdapter','',''));
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab('ImmigrationStatus','ImmigrationStatus','Immigration Status','ImmigrationStatusAdapter','',''));
|
||||
|
||||
|
||||
echo UIManager::getInstance()->renderModule($moduleBuilder);
|
||||
|
||||
include APP_BASE_PATH.'footer.php';
|
||||
158
ext/admin/metadata/lib.js
Normal file
158
ext/admin/metadata/lib.js
Normal file
@@ -0,0 +1,158 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* CountryAdapter
|
||||
*/
|
||||
|
||||
function CountryAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
CountryAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
CountryAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"code",
|
||||
"name"
|
||||
];
|
||||
});
|
||||
|
||||
CountryAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Code" },
|
||||
{ "sTitle": "Name"}
|
||||
];
|
||||
});
|
||||
|
||||
CountryAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "code", {"label":"Code","type":"text","validation":""}],
|
||||
[ "name", {"label":"Name","type":"text","validation":""}]
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* ProvinceAdapter
|
||||
*/
|
||||
|
||||
function ProvinceAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
ProvinceAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
ProvinceAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"code",
|
||||
"name",
|
||||
"country"
|
||||
];
|
||||
});
|
||||
|
||||
ProvinceAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Code" },
|
||||
{ "sTitle": "Name"},
|
||||
{ "sTitle": "Country"},
|
||||
];
|
||||
});
|
||||
|
||||
ProvinceAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "code", {"label":"Code","type":"text","validation":""}],
|
||||
[ "name", {"label":"Name","type":"text","validation":""}],
|
||||
[ "country", {"label":"Country","type":"select2","remote-source":["Country","code","name"]}]
|
||||
];
|
||||
});
|
||||
|
||||
ProvinceAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "country", {"label":"Country","type":"select2","remote-source":["Country","code","name"]}]
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* CurrencyTypeAdapter
|
||||
*/
|
||||
|
||||
function CurrencyTypeAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
CurrencyTypeAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
CurrencyTypeAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"code",
|
||||
"name"
|
||||
];
|
||||
});
|
||||
|
||||
CurrencyTypeAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Code" },
|
||||
{ "sTitle": "Name"}
|
||||
];
|
||||
});
|
||||
|
||||
CurrencyTypeAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "code", {"label":"Code","type":"text","validation":""}],
|
||||
[ "name", {"label":"Name","type":"text","validation":""}]
|
||||
];
|
||||
});
|
||||
|
||||
/**
|
||||
* NationalityAdapter
|
||||
*/
|
||||
|
||||
function NationalityAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
NationalityAdapter.inherits(IdNameAdapter);
|
||||
|
||||
/**
|
||||
* ImmigrationStatusAdapter
|
||||
*/
|
||||
|
||||
function ImmigrationStatusAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
ImmigrationStatusAdapter.inherits(IdNameAdapter);
|
||||
|
||||
|
||||
/**
|
||||
* EthnicityAdapter
|
||||
*/
|
||||
|
||||
function EthnicityAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
EthnicityAdapter.inherits(IdNameAdapter);
|
||||
|
||||
|
||||
|
||||
11
ext/admin/metadata/meta.json
Normal file
11
ext/admin/metadata/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Manage Metadata",
|
||||
"menu":"System",
|
||||
"order":"6",
|
||||
"icon":"fa-sort-alpha-asc",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
35
ext/admin/modules/api/ModulesAdminManager.php
Normal file
35
ext/admin/modules/api/ModulesAdminManager.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
if (!class_exists('ModulesAdminManager')) {
|
||||
class ModulesAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
$this->addModelClass('Module');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('Module')) {
|
||||
class Module extends ICEHRM_Record {
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
var $_table = 'Modules';
|
||||
}
|
||||
}
|
||||
54
ext/admin/modules/index.php
Normal file
54
ext/admin/modules/index.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'Modules';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabModule" href="#tabPageModule">Modules</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageModule">
|
||||
<div id="Module" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="ModuleForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['moduleModule'] = new ModuleAdapter('Module','Module');
|
||||
modJsList['moduleModule'].setShowAddNew(false);
|
||||
var modJs = modJsList['moduleModule'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
78
ext/admin/modules/lib.js
Normal file
78
ext/admin/modules/lib.js
Normal file
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* ModuleAdapter
|
||||
*/
|
||||
|
||||
function ModuleAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
ModuleAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
ModuleAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"label",
|
||||
"menu",
|
||||
"mod_group",
|
||||
"mod_order",
|
||||
"status",
|
||||
"version",
|
||||
"update_path"
|
||||
];
|
||||
});
|
||||
|
||||
ModuleAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Menu" ,"bVisible":false},
|
||||
{ "sTitle": "Group"},
|
||||
{ "sTitle": "Order"},
|
||||
{ "sTitle": "Status"},
|
||||
{ "sTitle": "Version","bVisible":false},
|
||||
{ "sTitle": "Path" ,"bVisible":false}
|
||||
];
|
||||
});
|
||||
|
||||
ModuleAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "label", {"label":"Label","type":"text","validation":""}],
|
||||
[ "status", {"label":"Status","type":"select","source":[["Enabled","Enabled"],["Disabled","Disabled"]]}],
|
||||
[ "user_levels", {"label":"User Levels","type":"select2multi","source":[["Admin","Admin"],["Manager","Manager"],["Employee","Employee"],["Other","Other"]]}]
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
ModuleAdapter.method('getActionButtonsHtml', function(id,data) {
|
||||
|
||||
|
||||
var nonEditableFields = {};
|
||||
nonEditableFields["admin_Company Structure"] = 1;
|
||||
nonEditableFields["admin_Employees"] = 1;
|
||||
nonEditableFields["admin_Jobs"] = 1;
|
||||
nonEditableFields["admin_Leaves"] = 1;
|
||||
nonEditableFields["admin_Manage Modules"] = 1;
|
||||
nonEditableFields["admin_Projects"] = 1;
|
||||
nonEditableFields["admin_Qualifications"] = 1;
|
||||
nonEditableFields["admin_Settings"] = 1;
|
||||
nonEditableFields["admin_Users"] = 1;
|
||||
nonEditableFields["admin_Upgrade"] = 1;
|
||||
|
||||
nonEditableFields["user_Basic Information"] = 1;
|
||||
|
||||
if(nonEditableFields[data[3]+"_"+data[1]] == 1){
|
||||
return "";
|
||||
}
|
||||
var html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img></div>';
|
||||
html = html.replace(/_id_/g,id);
|
||||
html = html.replace(/_BASE_/g,this.baseUrl);
|
||||
return html;
|
||||
});
|
||||
11
ext/admin/modules/meta.json
Normal file
11
ext/admin/modules/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Manage Modules",
|
||||
"menu":"System",
|
||||
"order":"3",
|
||||
"icon":"fa-folder-open",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
37
ext/admin/permissions/api/PermissionsAdminManager.php
Normal file
37
ext/admin/permissions/api/PermissionsAdminManager.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
if (!class_exists('PermissionsAdminManager')) {
|
||||
class PermissionsAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
$this->addModelClass('Permission');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('Permission')) {
|
||||
class Permission extends ICEHRM_Record {
|
||||
var $_table = 'Permissions';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
54
ext/admin/permissions/index.php
Normal file
54
ext/admin/permissions/index.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'Permissions';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabPermission" href="#tabPagePermission">Permissions</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPagePermission">
|
||||
<div id="Permission" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="PermissionForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabPermission'] = new PermissionAdapter('Permission','Permission');
|
||||
modJsList['tabPermission'].setShowAddNew(false);
|
||||
var modJs = modJsList['tabPermission'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
73
ext/admin/permissions/lib.js
Normal file
73
ext/admin/permissions/lib.js
Normal file
@@ -0,0 +1,73 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* PermissionAdapter
|
||||
*/
|
||||
|
||||
function PermissionAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
PermissionAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
PermissionAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"user_level",
|
||||
"module_id",
|
||||
"permission",
|
||||
"value"
|
||||
];
|
||||
});
|
||||
|
||||
PermissionAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "User Level" },
|
||||
{ "sTitle": "Module"},
|
||||
{ "sTitle": "Permission"},
|
||||
{ "sTitle": "Value"}
|
||||
];
|
||||
});
|
||||
|
||||
PermissionAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "user_level", {"label":"User Level","type":"placeholder","validation":"none"}],
|
||||
[ "module_id", {"label":"Module","type":"placeholder","remote-source":["Module","id","menu+name"]}],
|
||||
[ "permission", {"label":"Permission","type":"placeholder","validation":"none"}],
|
||||
[ "value", {"label":"Value","type":"text","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
PermissionAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "module_id", {"label":"Module","type":"select2","allow-null":true,"null-label":"All Modules","remote-source":["Module","id","menu+name"]}]
|
||||
];
|
||||
});
|
||||
|
||||
PermissionAdapter.method('getActionButtonsHtml', function(id,data) {
|
||||
var html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img></div>';
|
||||
html = html.replace(/_id_/g,id);
|
||||
html = html.replace(/_BASE_/g,this.baseUrl);
|
||||
return html;
|
||||
});
|
||||
|
||||
|
||||
PermissionAdapter.method('getMetaFieldForRendering', function(fieldName) {
|
||||
if(fieldName == "value"){
|
||||
return "meta";
|
||||
}
|
||||
return "";
|
||||
});
|
||||
|
||||
|
||||
PermissionAdapter.method('fillForm', function(object) {
|
||||
this.uber('fillForm',object);
|
||||
$("#helptext").html(object.description);
|
||||
});
|
||||
11
ext/admin/permissions/meta.json
Normal file
11
ext/admin/permissions/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Manage Permissions",
|
||||
"menu":"System",
|
||||
"order":"4",
|
||||
"icon":"fa-unlock",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
60
ext/admin/projects/api/ProjectsAdminManager.php
Normal file
60
ext/admin/projects/api/ProjectsAdminManager.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
if (!class_exists('ProjectsAdminManager')) {
|
||||
class ProjectsAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
$this->addDatabaseErrorMapping("key 'EmployeeProjectsKey'", "Employee already added to this project");
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
$this->addModelClass('Client');
|
||||
$this->addModelClass('Project');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('Client')) {
|
||||
class Client extends ICEHRM_Record {
|
||||
var $_table = 'Clients';
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists('Project')) {
|
||||
class Project extends ICEHRM_Record {
|
||||
var $_table = 'Projects';
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array("get","element");
|
||||
}
|
||||
}
|
||||
}
|
||||
113
ext/admin/projects/index.php
Normal file
113
ext/admin/projects/index.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'projects';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabClient" href="#tabPageClient">Clients</a></li>
|
||||
<li><a id="tabProject" href="#tabPageProject">Projects</a></li>
|
||||
<li><a id="tabEmployeeProject" href="#tabPageEmployeeProject">Employee Projects</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageClient">
|
||||
<div id="Client" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="ClientForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageProject">
|
||||
<div id="Project" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="ProjectForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageEmployeeProject">
|
||||
<div id="EmployeeProject" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EmployeeProjectForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabClient'] = new ClientAdapter('Client','Client');
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Add Clients']) && $modulePermissions['perm']['Add Clients'] == "No"){?>
|
||||
modJsList['tabClient'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Delete Clients']) && $modulePermissions['perm']['Delete Clients'] == "No"){?>
|
||||
modJsList['tabClient'].setShowDelete(false);
|
||||
<?php }?>
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Edit Clients']) && $modulePermissions['perm']['Edit Clients'] == "No"){?>
|
||||
modJsList['tabClient'].setShowSave(false);
|
||||
<?php }?>
|
||||
|
||||
modJsList['tabProject'] = new ProjectAdapter('Project','Project');
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Add Projects']) && $modulePermissions['perm']['Add Projects'] == "No"){?>
|
||||
modJsList['tabProject'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Delete Projects']) && $modulePermissions['perm']['Delete Projects'] == "No"){?>
|
||||
modJsList['tabProject'].setShowDelete(false);
|
||||
<?php }?>
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Edit Projects']) && $modulePermissions['perm']['Edit Projects'] == "No"){?>
|
||||
modJsList['tabProject'].setShowSave(false);
|
||||
<?php }?>
|
||||
|
||||
|
||||
modJsList['tabEmployeeProject'] = new EmployeeProjectAdapter('EmployeeProject','EmployeeProject');
|
||||
modJsList['tabEmployeeProject'].setRemoteTable(true);
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Add Projects']) && $modulePermissions['perm']['Add Projects'] == "No"){?>
|
||||
modJsList['tabEmployeeProject'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Delete Projects']) && $modulePermissions['perm']['Delete Projects'] == "No"){?>
|
||||
modJsList['tabEmployeeProject'].setShowDelete(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Edit Projects']) && $modulePermissions['perm']['Edit Projects'] == "No"){?>
|
||||
modJsList['tabEmployeeProject'].setShowEdit(false);
|
||||
<?php }?>
|
||||
|
||||
|
||||
var modJs = modJsList['tabClient'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
177
ext/admin/projects/lib.js
Normal file
177
ext/admin/projects/lib.js
Normal file
@@ -0,0 +1,177 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
/**
|
||||
* ClientAdapter
|
||||
*/
|
||||
|
||||
function ClientAdapter(endPoint,tab,filter,orderBy) {
|
||||
this.initAdapter(endPoint,tab,filter,orderBy);
|
||||
}
|
||||
|
||||
ClientAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
ClientAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"details",
|
||||
"address",
|
||||
"contact_number"
|
||||
];
|
||||
});
|
||||
|
||||
ClientAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID","bVisible":false },
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Details"},
|
||||
{ "sTitle": "Address"},
|
||||
{ "sTitle": "Contact Number"}
|
||||
];
|
||||
});
|
||||
|
||||
ClientAdapter.method('getFormFields', function() {
|
||||
if(this.showSave){
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text"}],
|
||||
[ "details", {"label":"Details","type":"textarea","validation":"none"}],
|
||||
[ "address", {"label":"Address","type":"textarea","validation":"none"}],
|
||||
[ "contact_number", {"label":"Contact Number","type":"text","validation":"none"}],
|
||||
[ "contact_email", {"label":"Contact Email","type":"text","validation":"none"}],
|
||||
[ "company_url", {"label":"Company Url","type":"text","validation":"none"}],
|
||||
[ "status", {"label":"Status","type":"select","source":[["Active","Active"],["Inactive","Inactive"]]}],
|
||||
[ "first_contact_date", {"label":"First Contact Date","type":"date","validation":"none"}]
|
||||
];
|
||||
}else{
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"placeholder"}],
|
||||
[ "details", {"label":"Details","type":"placeholder","validation":"none"}],
|
||||
[ "address", {"label":"Address","type":"placeholder","validation":"none"}],
|
||||
[ "contact_number", {"label":"Contact Number","type":"placeholder","validation":"none"}],
|
||||
[ "contact_email", {"label":"Contact Email","type":"placeholder","validation":"none"}],
|
||||
[ "company_url", {"label":"Company Url","type":"placeholder","validation":"none"}],
|
||||
[ "status", {"label":"Status","type":"placeholder","source":[["Active","Active"],["Inactive","Inactive"]]}],
|
||||
[ "first_contact_date", {"label":"First Contact Date","type":"placeholder","validation":"none"}]
|
||||
];
|
||||
}
|
||||
});
|
||||
|
||||
ClientAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=85';
|
||||
});
|
||||
|
||||
/**
|
||||
* ProjectAdapter
|
||||
*/
|
||||
|
||||
function ProjectAdapter(endPoint,tab,filter,orderBy) {
|
||||
this.initAdapter(endPoint,tab,filter,orderBy);
|
||||
}
|
||||
|
||||
ProjectAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
ProjectAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"client"
|
||||
];
|
||||
});
|
||||
|
||||
ProjectAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID","bVisible":false },
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Client"},
|
||||
];
|
||||
});
|
||||
|
||||
ProjectAdapter.method('getFormFields', function() {
|
||||
if(this.showSave){
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text"}],
|
||||
[ "client", {"label":"Client","type":"select2","allow-null":true,"remote-source":["Client","id","name"]}],
|
||||
[ "details", {"label":"Details","type":"textarea","validation":"none"}],
|
||||
[ "status", {"label":"Status","type":"select","source":[["Active","Active"],["Inactive","Inactive"]]}]
|
||||
];
|
||||
}else{
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"placeholder"}],
|
||||
[ "client", {"label":"Client","type":"placeholder","allow-null":true,"remote-source":["Client","id","name"]}],
|
||||
[ "details", {"label":"Details","type":"placeholder","validation":"none"}],
|
||||
[ "status", {"label":"Status","type":"placeholder","source":[["Active","Active"],["Inactive","Inactive"]]}]
|
||||
];
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
ProjectAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=85';
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
* EmployeeProjectAdapter
|
||||
*/
|
||||
|
||||
|
||||
function EmployeeProjectAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
EmployeeProjectAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
EmployeeProjectAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"employee",
|
||||
"project",
|
||||
"status"
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeProjectAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Employee" },
|
||||
{ "sTitle": "Project" },
|
||||
/*{ "sTitle": "Start Date"},*/
|
||||
{ "sTitle": "Status"}
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeProjectAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "employee", {"label":"Employee","type":"select2","remote-source":["Employee","id","first_name+last_name"]}],
|
||||
[ "project", {"label":"Project","type":"select2","remote-source":["Project","id","name"]}],
|
||||
/*[ "date_start", {"label":"Start Date","type":"date","validation":""}],
|
||||
[ "date_end", {"label":"End Date","type":"date","validation":"none"}],*/
|
||||
[ "status", {"label":"Status","type":"select","source":[["Current","Current"],["Inactive","Inactive"],["Completed","Completed"]]}],
|
||||
[ "details", {"label":"Details","type":"textarea","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeProjectAdapter.method('getFilters', function() {
|
||||
return [
|
||||
[ "employee", {"label":"Employee","type":"select2","remote-source":["Employee","id","first_name+last_name"]}]
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
EmployeeProjectAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=85';
|
||||
});
|
||||
|
||||
19
ext/admin/projects/meta.json
Normal file
19
ext/admin/projects/meta.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"label":"Projects/Client Setup",
|
||||
"menu":"Admin",
|
||||
"order":"5",
|
||||
"icon":"fa-list-alt",
|
||||
"user_levels":["Admin","Manager"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
"Manager":{
|
||||
"Add Projects":"Yes",
|
||||
"Edit Projects":"Yes",
|
||||
"Delete Projects":"No",
|
||||
"Add Clients":"Yes",
|
||||
"Edit Clients":"Yes",
|
||||
"Delete Clients":"No"
|
||||
}
|
||||
}
|
||||
}
|
||||
95
ext/admin/qualifications/api/QualificationsAdminManager.php
Normal file
95
ext/admin/qualifications/api/QualificationsAdminManager.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
if (!class_exists('QualificationsAdminManager')) {
|
||||
class QualificationsAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
$this->addModelClass('Skill');
|
||||
$this->addModelClass('Education');
|
||||
$this->addModelClass('Certification');
|
||||
$this->addModelClass('Language');
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!class_exists('Skill')) {
|
||||
class Skill extends ICEHRM_Record {
|
||||
var $_table = 'Skills';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
||||
class Education extends ICEHRM_Record {
|
||||
var $_table = 'Educations';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
||||
class Certification extends ICEHRM_Record {
|
||||
var $_table = 'Certifications';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
||||
class Language extends ICEHRM_Record {
|
||||
var $_table = 'Languages';
|
||||
|
||||
public function getAdminAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getManagerAccess(){
|
||||
return array("get","element","save","delete");
|
||||
}
|
||||
|
||||
public function getUserAccess(){
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
127
ext/admin/qualifications/index.php
Normal file
127
ext/admin/qualifications/index.php
Normal file
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'company_structure';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabSkill" href="#tabPageSkill">Skills</a></li>
|
||||
<li><a id="tabEducation" href="#tabPageEducation">Education</a></li>
|
||||
<li><a id="tabCertification" href="#tabPageCertification">Certifications</a></li>
|
||||
<li><a id="tabLanguage" href="#tabPageLanguage">Languages</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageSkill">
|
||||
<div id="Skill" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="SkillForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageEducation">
|
||||
<div id="Education" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EducationForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageCertification">
|
||||
<div id="Certification" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="CertificationForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tabPageLanguage">
|
||||
<div id="Language" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="LanguageForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabSkill'] = new SkillAdapter('Skill');
|
||||
<?php if(isset($modulePermissions['perm']['Add Skills']) && $modulePermissions['perm']['Add Skills'] == "No"){?>
|
||||
modJsList['tabSkill'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Delete Skills']) && $modulePermissions['perm']['Delete Skills'] == "No"){?>
|
||||
modJsList['tabSkill'].setShowDelete(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Edit Skills']) && $modulePermissions['perm']['Edit Skills'] == "No"){?>
|
||||
modJsList['tabSkill'].setShowEdit(false);
|
||||
<?php }?>
|
||||
|
||||
|
||||
modJsList['tabEducation'] = new EducationAdapter('Education');
|
||||
<?php if(isset($modulePermissions['perm']['Add Education']) && $modulePermissions['perm']['Add Education'] == "No"){?>
|
||||
modJsList['tabEducation'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Delete Education']) && $modulePermissions['perm']['Delete Education'] == "No"){?>
|
||||
modJsList['tabEducation'].setShowDelete(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Edit Education']) && $modulePermissions['perm']['Edit Education'] == "No"){?>
|
||||
modJsList['tabEducation'].setShowEdit(false);
|
||||
<?php }?>
|
||||
|
||||
|
||||
|
||||
modJsList['tabCertification'] = new CertificationAdapter('Certification');
|
||||
<?php if(isset($modulePermissions['perm']['Add Certifications']) && $modulePermissions['perm']['Add Certifications'] == "No"){?>
|
||||
modJsList['tabCertification'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Delete Certifications']) && $modulePermissions['perm']['Delete Certifications'] == "No"){?>
|
||||
modJsList['tabCertification'].setShowDelete(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Edit Certifications']) && $modulePermissions['perm']['Edit Certifications'] == "No"){?>
|
||||
modJsList['tabCertification'].setShowEdit(false);
|
||||
<?php }?>
|
||||
|
||||
|
||||
modJsList['tabLanguage'] = new LanguageAdapter('Language');
|
||||
<?php if(isset($modulePermissions['perm']['Add Languages']) && $modulePermissions['perm']['Add Languages'] == "No"){?>
|
||||
modJsList['tabLanguage'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Delete Languages']) && $modulePermissions['perm']['Delete Languages'] == "No"){?>
|
||||
modJsList['tabLanguage'].setShowDelete(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Edit Languages']) && $modulePermissions['perm']['Edit Languages'] == "No"){?>
|
||||
modJsList['tabLanguage'].setShowEdit(false);
|
||||
<?php }?>
|
||||
|
||||
var modJs = modJsList['tabSkill'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
161
ext/admin/qualifications/lib.js
Normal file
161
ext/admin/qualifications/lib.js
Normal file
@@ -0,0 +1,161 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* SkillAdapter
|
||||
*/
|
||||
|
||||
function SkillAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
SkillAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
SkillAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"description"
|
||||
];
|
||||
});
|
||||
|
||||
SkillAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID","bVisible":false },
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Description"}
|
||||
];
|
||||
});
|
||||
|
||||
SkillAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text"}],
|
||||
[ "description", {"label":"Description","type":"textarea","validation":""}]
|
||||
];
|
||||
});
|
||||
|
||||
SkillAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=83';
|
||||
});
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* EducationAdapter
|
||||
*/
|
||||
|
||||
function EducationAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
EducationAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
EducationAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"description"
|
||||
];
|
||||
});
|
||||
|
||||
EducationAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID","bVisible":false },
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Description"}
|
||||
];
|
||||
});
|
||||
|
||||
EducationAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text"}],
|
||||
[ "description", {"label":"Description","type":"textarea","validation":""}]
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CertificationAdapter
|
||||
*/
|
||||
|
||||
function CertificationAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
CertificationAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
CertificationAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"description"
|
||||
];
|
||||
});
|
||||
|
||||
CertificationAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Description"}
|
||||
];
|
||||
});
|
||||
|
||||
CertificationAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text"}],
|
||||
[ "description", {"label":"Description","type":"textarea","validation":""}]
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* LanguageAdapter
|
||||
*/
|
||||
|
||||
function LanguageAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
}
|
||||
|
||||
LanguageAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
LanguageAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"description"
|
||||
];
|
||||
});
|
||||
|
||||
LanguageAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Description"}
|
||||
];
|
||||
});
|
||||
|
||||
LanguageAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"text"}],
|
||||
[ "description", {"label":"Description","type":"textarea","validation":""}]
|
||||
];
|
||||
});
|
||||
|
||||
26
ext/admin/qualifications/meta.json
Normal file
26
ext/admin/qualifications/meta.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"label":"Qualifications Setup",
|
||||
"menu":"Admin",
|
||||
"order":"4",
|
||||
"icon":"fa-check-square-o",
|
||||
|
||||
"user_levels":["Admin","Manager"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
"Manager":{
|
||||
"Add Skills":"Yes",
|
||||
"Edit Skills":"Yes",
|
||||
"Delete Skills":"No",
|
||||
"Add Education":"Yes",
|
||||
"Edit Education":"Yes",
|
||||
"Delete Education":"No",
|
||||
"Add Certifications":"Yes",
|
||||
"Edit Certifications":"Yes",
|
||||
"Delete Certifications":"No",
|
||||
"Add Languages":"Yes",
|
||||
"Edit Languages":"Yes",
|
||||
"Delete Languages":"No"
|
||||
}
|
||||
}
|
||||
}
|
||||
23
ext/admin/reports/api/ReportsAdminManager.php
Normal file
23
ext/admin/reports/api/ReportsAdminManager.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
if (!class_exists('ReportsAdminManager')) {
|
||||
class ReportsAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
//This is a fixed module, store model classes in models.inc.php
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
34
ext/admin/reports/index.php
Normal file
34
ext/admin/reports/index.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
$moduleName = 'Reports';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabReport" href="#tabPageReport">Reports</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageReport">
|
||||
<div id="Report" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="ReportForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabReport'] = new ReportAdapter('Report','Report');
|
||||
modJsList['tabReport'].setShowAddNew(false);
|
||||
|
||||
var modJs = modJsList['tabReport'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
167
ext/admin/reports/lib.js
Normal file
167
ext/admin/reports/lib.js
Normal file
@@ -0,0 +1,167 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* ReportAdapter
|
||||
*/
|
||||
|
||||
function ReportAdapter(endPoint) {
|
||||
this.initAdapter(endPoint);
|
||||
this._formFileds = [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"label","validation":""}],
|
||||
[ "parameters", {"label":"Parameters","type":"fieldset","validation":"none"}]
|
||||
];
|
||||
}
|
||||
|
||||
ReportAdapter.inherits(AdapterBase);
|
||||
|
||||
ReportAdapter.method('_initLocalFormFields', function() {
|
||||
this._formFileds = [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "name", {"label":"Name","type":"label","validation":""}],
|
||||
[ "parameters", {"label":"Parameters","type":"fieldset","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
ReportAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"details",
|
||||
"parameters"
|
||||
];
|
||||
});
|
||||
|
||||
ReportAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Details"},
|
||||
{ "sTitle": "Parameters","bVisible":false},
|
||||
];
|
||||
});
|
||||
|
||||
ReportAdapter.method('getFormFields', function() {
|
||||
return this._formFileds;
|
||||
});
|
||||
|
||||
ReportAdapter.method('processFormFieldsWithObject', function(object) {
|
||||
var that = this;
|
||||
this._initLocalFormFields();
|
||||
var len = this._formFileds.length;
|
||||
var fieldIDsToDelete = [];
|
||||
var fieldsToDelete = [];
|
||||
for(var i=0;i<len;i++){
|
||||
if(this._formFileds[i][1]['type']=="fieldset"){
|
||||
var newFields = JSON.parse(object[this._formFileds[i][0]]);
|
||||
fieldsToDelete.push(this._formFileds[i][0]);
|
||||
newFields.forEach(function(entry) {
|
||||
that._formFileds.push(entry);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
var tempArray = [];
|
||||
that._formFileds.forEach(function(entry) {
|
||||
if(jQuery.inArray(entry[0], fieldsToDelete) < 0){
|
||||
tempArray.push(entry);
|
||||
}
|
||||
});
|
||||
|
||||
that._formFileds = tempArray;
|
||||
});
|
||||
|
||||
ReportAdapter.method('renderForm', function(object) {
|
||||
var that = this;
|
||||
this.processFormFieldsWithObject(object);
|
||||
var cb = function(){
|
||||
that.uber('renderForm',object);
|
||||
};
|
||||
this.initFieldMasterData(cb);
|
||||
|
||||
});
|
||||
|
||||
ReportAdapter.method('getActionButtonsHtml', function(id,data) {
|
||||
var html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/download.png" style="cursor:pointer;" rel="tooltip" title="Download" onclick="modJs.edit(_id_);return false;"></img></div>';
|
||||
html = html.replace(/_id_/g,id);
|
||||
html = html.replace(/_BASE_/g,this.baseUrl);
|
||||
return html;
|
||||
});
|
||||
|
||||
ReportAdapter.method('addSuccessCallBack', function(callBackData,serverData) {
|
||||
//var link = '<a href="'+this.getCustomActionUrl("download",{'file':serverData})+'" target="_blank">Download Report <i class="icon-download-alt"></i> </a>';
|
||||
//this.showMessage("Download Report",link);
|
||||
|
||||
var fileName = serverData[0];
|
||||
var link;
|
||||
|
||||
if(fileName.indexOf("https:") == 0){
|
||||
link = '<a href="'+fileName+'" target="_blank" style="font-size:14px;font-weight:bold;">Download Report <img src="_BASE_images/download.png"></img> </a>';
|
||||
}else{
|
||||
link = '<a href="'+modJs.getCustomActionUrl("download",{'file':fileName})+'" target="_blank" style="font-size:14px;font-weight:bold;">Download Report <img src="_BASE_images/download.png"></img> </a>';
|
||||
}
|
||||
link = link.replace(/_BASE_/g,this.baseUrl);
|
||||
|
||||
var tableHtml = link+'<br/><br/><div class="box-body table-responsive" style="overflow-x:scroll;padding: 5px;border: solid 1px #DDD;"><table id="tempReportTable" cellpadding="0" cellspacing="0" border="0" class="table table-bordered table-striped"></table></div>';
|
||||
|
||||
//Delete existing temp report table
|
||||
$("#tempReportTable").remove();
|
||||
|
||||
//this.showMessage("Report",tableHtml);
|
||||
|
||||
$("#Report").html(tableHtml);
|
||||
$("#Report").show();
|
||||
$("#ReportForm").hide();
|
||||
|
||||
//Prepare headers
|
||||
var headers = [];
|
||||
for(title in serverData[1]){
|
||||
headers.push({ "sTitle": serverData[1][title]});
|
||||
}
|
||||
|
||||
var data = serverData[2];
|
||||
|
||||
|
||||
var dataTableParams = {
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "_MENU_ records per page"
|
||||
},
|
||||
"aaData": data,
|
||||
"aoColumns": headers,
|
||||
"bSort": false,
|
||||
"iDisplayLength": 15,
|
||||
"iDisplayStart": 0
|
||||
};
|
||||
|
||||
$("#tempReportTable").dataTable( dataTableParams );
|
||||
|
||||
$(".dataTables_paginate ul").addClass("pagination");
|
||||
$(".dataTables_length").hide();
|
||||
$(".dataTables_filter input").addClass("form-control");
|
||||
$(".dataTables_filter input").attr("placeholder","Search");
|
||||
$(".dataTables_filter label").contents().filter(function(){
|
||||
return (this.nodeType == 3);
|
||||
}).remove();
|
||||
$('.tableActionButton').tooltip();
|
||||
});
|
||||
|
||||
|
||||
ReportAdapter.method('fillForm', function(object) {
|
||||
var fields = this.getFormFields();
|
||||
for(var i=0;i<fields.length;i++) {
|
||||
if(fields[i][1].type == 'label'){
|
||||
$("#"+this.getTableName()+'Form #'+fields[i][0]).html(object[fields[i][0]]);
|
||||
}else{
|
||||
$("#"+this.getTableName()+'Form #'+fields[i][0]).val(object[fields[i][0]]);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
ReportAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=118';
|
||||
});
|
||||
11
ext/admin/reports/meta.json
Normal file
11
ext/admin/reports/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Reports",
|
||||
"menu":"Reports",
|
||||
"order":"1",
|
||||
"icon":"fa-file-o",
|
||||
"user_levels":["Admin","Manager"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
88
ext/admin/reports/reportClasses/ActiveEmployeeReport.php
Normal file
88
ext/admin/reports/reportClasses/ActiveEmployeeReport.php
Normal file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
if(!class_exists('ReportBuilder')){
|
||||
include_once MODULE_PATH.'/reportClasses/ReportBuilder.php';
|
||||
}
|
||||
class ActiveEmployeeReport extends ReportBuilder{
|
||||
|
||||
public function getMainQuery(){
|
||||
$query = "Select id, employee_id as 'Employee ID',
|
||||
concat(`first_name`,' ',`middle_name`,' ', `last_name`) as 'Name',
|
||||
(SELECT name from Nationality where id = nationality) as 'Nationality',
|
||||
birthday as 'Birthday',
|
||||
gender as 'Gender',
|
||||
marital_status as 'Marital Status',
|
||||
ssn_num as 'SSN Number',
|
||||
nic_num as 'NIC Number',
|
||||
other_id as 'Other IDs',
|
||||
driving_license as 'Driving License Number',
|
||||
(SELECT name from EmploymentStatus where id = employment_status) as 'Employment Status',
|
||||
(SELECT name from JobTitles where id = job_title) as 'Job Title',
|
||||
(SELECT name from PayGrades where id = pay_grade) as 'Pay Grade',
|
||||
work_station_id as 'Work Station ID',
|
||||
address1 as 'Address 1',
|
||||
address2 as 'Address 2',
|
||||
city as 'City',
|
||||
(SELECT name from Country where code = country) as 'Country',
|
||||
(SELECT name from Province where id = province) as 'Province',
|
||||
postal_code as 'Postal Code',
|
||||
home_phone as 'Home Phone',
|
||||
mobile_phone as 'Mobile Phone',
|
||||
work_phone as 'Work Phone',
|
||||
work_email as 'Work Email',
|
||||
private_email as 'Private Email',
|
||||
joined_date as 'Joined Date',
|
||||
confirmation_date as 'Confirmation Date',
|
||||
(SELECT title from CompanyStructures where id = department) as 'Department',
|
||||
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`,' [Employee ID:',`employee_id`,']') from Employees e1 where e1.id = e.supervisor) as 'Supervisor', notes as 'Notes'
|
||||
FROM Employees e";
|
||||
|
||||
return $query;
|
||||
|
||||
}
|
||||
|
||||
public function getWhereQuery($request){
|
||||
$query = "";
|
||||
$params = array();
|
||||
|
||||
if(empty($request['department']) || $request['department'] == "NULL"){
|
||||
$params = array();
|
||||
$query = "where ((termination_date = '0001-01-01 00:00:00' or termination_date = '0000-00-00 00:00:00') and joined_date < NOW()) or (termination_date > NOW() and joined_date < NOW())";
|
||||
}else{
|
||||
$depts = $this->getChildCompanyStuctures($request['department']);
|
||||
$query = "where department in (".implode(",",$depts).") and (((termination_date = '0001-01-01 00:00:00' or termination_date = '0000-00-00 00:00:00') and joined_date < NOW()) or (termination_date > NOW() and joined_date < NOW()))";
|
||||
}
|
||||
|
||||
|
||||
return array($query, $params);
|
||||
}
|
||||
|
||||
public function getChildCompanyStuctures($companyStructId){
|
||||
$childIds = array();
|
||||
$childIds[] = $companyStructId;
|
||||
$nodeIdsAtLastLevel = $childIds;
|
||||
$count = 0;
|
||||
do{
|
||||
$count++;
|
||||
$companyStructTemp = new CompanyStructure();
|
||||
if(empty($nodeIdsAtLastLevel) || empty($childIds)){
|
||||
break;
|
||||
}
|
||||
$idQuery = "parent in (".implode(",",$nodeIdsAtLastLevel).") and id not in(".implode(",",$childIds).")";
|
||||
LogManager::getInstance()->debug($idQuery);
|
||||
$list = $companyStructTemp->Find($idQuery, array());
|
||||
if(!$list){
|
||||
LogManager::getInstance()->debug($companyStructTemp->ErrorMsg());
|
||||
}
|
||||
$nodeIdsAtLastLevel = array();
|
||||
foreach($list as $item){
|
||||
$childIds[] = $item->id;
|
||||
$nodeIdsAtLastLevel[] = $item->id;
|
||||
}
|
||||
}while(count($list) > 0 && $count < 10);
|
||||
|
||||
return $childIds;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
50
ext/admin/reports/reportClasses/EmployeeAttendanceReport.php
Normal file
50
ext/admin/reports/reportClasses/EmployeeAttendanceReport.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
if(!class_exists('ReportBuilder')){
|
||||
include_once MODULE_PATH.'/reportClasses/ReportBuilder.php';
|
||||
}
|
||||
class EmployeeAttendanceReport extends ReportBuilder{
|
||||
|
||||
public function getMainQuery(){
|
||||
$query = "SELECT
|
||||
(SELECT `employee_id` from Employees where id = at.employee) as 'Employee',
|
||||
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`) from Employees where id = at.employee) as 'Employee',
|
||||
in_time as 'Time In',
|
||||
out_time as 'Time Out',
|
||||
note as 'Note'
|
||||
FROM Attendance at";
|
||||
|
||||
return $query;
|
||||
|
||||
}
|
||||
|
||||
public function getWhereQuery($request){
|
||||
|
||||
$employeeList = array();
|
||||
if(!empty($request['employee'])){
|
||||
$employeeList = json_decode($request['employee'],true);
|
||||
}
|
||||
|
||||
if(in_array("NULL", $employeeList) ){
|
||||
$employeeList = array();
|
||||
}
|
||||
|
||||
if(!empty($employeeList)){
|
||||
$query = "where employee in (".implode(",", $employeeList).") and in_time >= ? and out_time <= ? order by in_time desc;";
|
||||
$params = array(
|
||||
$request['date_start']." 00:00:00",
|
||||
$request['date_end']." 23:59:59",
|
||||
);
|
||||
}else{
|
||||
$query = "where in_time >= ? and out_time <= ? order by in_time desc;";
|
||||
$params = array(
|
||||
$request['date_start']." 00:00:00",
|
||||
$request['date_end']." 23:59:59",
|
||||
);
|
||||
}
|
||||
|
||||
LogManager::getInstance()->info("Query:".$query);
|
||||
LogManager::getInstance()->info("Params:".json_encode($params));
|
||||
|
||||
return array($query, $params);
|
||||
}
|
||||
}
|
||||
70
ext/admin/reports/reportClasses/EmployeeLeavesReport.php
Normal file
70
ext/admin/reports/reportClasses/EmployeeLeavesReport.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
if(!class_exists('ReportBuilder')){
|
||||
include_once MODULE_PATH.'/reportClasses/ReportBuilder.php';
|
||||
}
|
||||
class EmployeeLeavesReport extends ReportBuilder{
|
||||
|
||||
public function getMainQuery(){
|
||||
$query = "SELECT
|
||||
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`) from Employees where id = employee) as 'Employee',
|
||||
(SELECT name from LeaveTypes where id = leave_type) as 'Leave Type',
|
||||
(SELECT name from LeavePeriods where id = leave_type) as 'Leave Type',
|
||||
date_start as 'Start Date',
|
||||
date_end as 'End Date',
|
||||
details as 'Reason',
|
||||
status as 'Leave Status',
|
||||
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Full Day') as 'Full Day Count',
|
||||
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Half Day - Morning') as 'Half Day (Morning) Count',
|
||||
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Half Day - Afternoon') as 'Half Day (Afternoon) Count'
|
||||
from EmployeeLeaves lv";
|
||||
|
||||
return $query;
|
||||
|
||||
}
|
||||
|
||||
public function getWhereQuery($request){
|
||||
|
||||
$employeeList = array();
|
||||
if(!empty($request['employee'])){
|
||||
$employeeList = json_decode($request['employee'],true);
|
||||
}
|
||||
|
||||
if(in_array("NULL", $employeeList) ){
|
||||
$employeeList = array();
|
||||
}
|
||||
|
||||
|
||||
if(!empty($employeeList) && ($request['status'] != "NULL" && !empty($request['status']))){
|
||||
$query = "where employee in (".implode(",", $employeeList).") and date_start >= ? and date_end <= ? and status = ?;";
|
||||
$params = array(
|
||||
$request['date_start'],
|
||||
$request['date_end'],
|
||||
$request['status']
|
||||
);
|
||||
}else if(!empty($employeeList)){
|
||||
$query = "where employee in (".implode(",", $employeeList).") and date_start >= ? and date_end <= ?;";
|
||||
$params = array(
|
||||
$request['date_start'],
|
||||
$request['date_end']
|
||||
);
|
||||
}else if(($request['status'] != "NULL" && !empty($request['status']))){
|
||||
$query = "where status = ? and date_start >= ? and date_end <= ?;";
|
||||
$params = array(
|
||||
$request['status'],
|
||||
$request['date_start'],
|
||||
$request['date_end']
|
||||
);
|
||||
}else{
|
||||
$query = "where date_start >= ? and date_end <= ?;";
|
||||
$params = array(
|
||||
$request['date_start'],
|
||||
$request['date_end']
|
||||
);
|
||||
}
|
||||
|
||||
LogManager::getInstance()->info("Query:".$query);
|
||||
LogManager::getInstance()->info("Params:".json_encode($params));
|
||||
|
||||
return array($query, $params);
|
||||
}
|
||||
}
|
||||
104
ext/admin/reports/reportClasses/EmployeeTimeTrackReport.php
Normal file
104
ext/admin/reports/reportClasses/EmployeeTimeTrackReport.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
if(!interface_exists('ReportBuilderInterface')){
|
||||
include_once MODULE_PATH.'/reportClasses/ReportBuilderInterface.php';
|
||||
}
|
||||
class EmployeeTimeTrackReport implements ReportBuilderInterface{
|
||||
public function getData($report,$req){
|
||||
|
||||
LogManager::getInstance()->info(json_encode($report));
|
||||
LogManager::getInstance()->info(json_encode($req));
|
||||
|
||||
$employeeTimeEntry = new EmployeeTimeEntry();
|
||||
|
||||
$timeEntryList = $employeeTimeEntry->Find("employee = ? and date(date_start) >= ? and date(date_end) <= ?",array($req['employee'], $req['date_start'], $req['date_end']));
|
||||
|
||||
|
||||
$seconds = 0;
|
||||
$graphTimeArray = array();
|
||||
foreach($timeEntryList as $entry){
|
||||
$seconds = (strtotime($entry->date_end) - strtotime($entry->date_start));
|
||||
$key = date("Y-m-d",strtotime($entry->date_end));
|
||||
if(isset($graphTimeArray[$key])){
|
||||
$graphTimeArray[$key] += $seconds;
|
||||
}else{
|
||||
$graphTimeArray[$key] = $seconds;
|
||||
}
|
||||
}
|
||||
|
||||
//$minutes = (int)($seconds/60);
|
||||
|
||||
|
||||
//Find Attendance Entries
|
||||
|
||||
$attendance = new Attendance();
|
||||
$atteandanceList = $attendance->Find("employee = ? and date(in_time) >= ? and date(out_time) <= ? and in_time < out_time",array($req['employee'], $req['date_start'], $req['date_end']));
|
||||
|
||||
$seconds = 0;
|
||||
$graphAttendanceArray = array();
|
||||
$firstTimeInArray = array();
|
||||
$lastTimeOutArray = array();
|
||||
foreach($atteandanceList as $entry){
|
||||
$seconds = (strtotime($entry->out_time) - strtotime($entry->in_time));
|
||||
$key = date("Y-m-d",strtotime($entry->in_time));
|
||||
if(isset($graphAttendanceArray[$key])){
|
||||
$graphAttendanceArray[$key] += $seconds;
|
||||
$lastTimeOutArray[$key] = $entry->out_time;
|
||||
}else{
|
||||
$graphAttendanceArray[$key] = $seconds;
|
||||
$firstTimeInArray[$key] = $entry->in_time;
|
||||
$lastTimeOutArray[$key] = $entry->out_time;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////
|
||||
|
||||
$employeeObject = new Employee();
|
||||
$employeeObject->Load("id = ?",array($req['employee']));
|
||||
|
||||
|
||||
$reportData = array();
|
||||
//$reportData[] = array($employeeObject->first_name." ".$employeeObject->last_name,"","","","");
|
||||
$reportData[] = array("Date","First Punch-In Time","Last Punch-Out Time","Time in Office","Time in Timesheets");
|
||||
|
||||
|
||||
//Iterate date range
|
||||
|
||||
$interval = DateInterval::createFromDateString('1 day');
|
||||
$period = new DatePeriod(new DateTime($req['date_start']), $interval, new DateTime($req['date_end']));
|
||||
|
||||
foreach ( $period as $dt ){
|
||||
$dataRow = array();
|
||||
$key = $dt->format("Y-m-d");
|
||||
|
||||
$dataRow[] = $key;
|
||||
|
||||
if(isset($firstTimeInArray[$key])){
|
||||
$dataRow[] = $firstTimeInArray[$key];
|
||||
}else{
|
||||
$dataRow[] = "Not Found";
|
||||
}
|
||||
|
||||
if(isset($lastTimeOutArray[$key])){
|
||||
$dataRow[] = $lastTimeOutArray[$key];
|
||||
}else{
|
||||
$dataRow[] = "Not Found";
|
||||
}
|
||||
|
||||
if(isset($graphAttendanceArray[$key])){
|
||||
$dataRow[] = round(($graphAttendanceArray[$key]/3600),2);
|
||||
}else{
|
||||
$dataRow[] = 0;
|
||||
}
|
||||
|
||||
if(isset($graphTimeArray[$key])){
|
||||
$dataRow[] = round(($graphTimeArray[$key]/3600),2);
|
||||
}else{
|
||||
$dataRow[] = 0;
|
||||
}
|
||||
|
||||
$reportData[] = $dataRow;
|
||||
}
|
||||
return $reportData;
|
||||
}
|
||||
}
|
||||
66
ext/admin/reports/reportClasses/EmployeeTimesheetReport.php
Normal file
66
ext/admin/reports/reportClasses/EmployeeTimesheetReport.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
if(!class_exists('ReportBuilder')){
|
||||
include_once MODULE_PATH.'/reportClasses/ReportBuilder.php';
|
||||
}
|
||||
class EmployeeTimesheetReport extends ReportBuilder{
|
||||
|
||||
public function getMainQuery(){
|
||||
$query = "SELECT
|
||||
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`) from Employees where id = te.employee) as 'Employee',
|
||||
(SELECT name from Projects where id = te.project) as 'Project',
|
||||
details as 'Details',
|
||||
date_start as 'Start Time',
|
||||
date_end as 'End Time',
|
||||
SEC_TO_TIME(TIMESTAMPDIFF(SECOND,te.date_start,te.date_end)) as 'Duration'
|
||||
FROM EmployeeTimeEntry te";
|
||||
|
||||
return $query;
|
||||
|
||||
}
|
||||
|
||||
public function getWhereQuery($request){
|
||||
|
||||
$employeeList = array();
|
||||
if(!empty($request['employee'])){
|
||||
$employeeList = json_decode($request['employee'],true);
|
||||
}
|
||||
|
||||
if(in_array("NULL", $employeeList) ){
|
||||
$employeeList = array();
|
||||
}
|
||||
|
||||
|
||||
if(!empty($employeeList) && ($request['project'] != "NULL" && !empty($request['project']))){
|
||||
$query = "where employee in (".implode(",", $employeeList).") and date_start >= ? and date_end <= ? and project = ?;";
|
||||
$params = array(
|
||||
$request['date_start'],
|
||||
$request['date_end'],
|
||||
$request['project']
|
||||
);
|
||||
}else if(!empty($employeeList)){
|
||||
$query = "where employee in (".implode(",", $employeeList).") and date_start >= ? and date_end <= ?;";
|
||||
$params = array(
|
||||
$request['date_start'],
|
||||
$request['date_end']
|
||||
);
|
||||
}else if(($request['project'] != "NULL" && !empty($request['project']))){
|
||||
$query = "where project = ? and date_start >= ? and date_end <= ?;";
|
||||
$params = array(
|
||||
$request['project'],
|
||||
$request['date_start'],
|
||||
$request['date_end']
|
||||
);
|
||||
}else{
|
||||
$query = "where date_start >= ? and date_end <= ?;";
|
||||
$params = array(
|
||||
$request['date_start'],
|
||||
$request['date_end']
|
||||
);
|
||||
}
|
||||
|
||||
LogManager::getInstance()->info("Query:".$query);
|
||||
LogManager::getInstance()->info("Params:".json_encode($params));
|
||||
|
||||
return array($query, $params);
|
||||
}
|
||||
}
|
||||
34
ext/admin/reports/reportClasses/NewHiresEmployeeReport.php
Normal file
34
ext/admin/reports/reportClasses/NewHiresEmployeeReport.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
if(!class_exists('ActiveEmployeeReport')){
|
||||
include_once MODULE_PATH.'/reportClasses/ActiveEmployeeReport.php';
|
||||
}
|
||||
class NewHiresEmployeeReport extends ActiveEmployeeReport{
|
||||
|
||||
|
||||
public function getWhereQuery($request){
|
||||
$query = "where ";
|
||||
$params = array();
|
||||
if(!empty($request['department']) && $request['department'] != "NULL"){
|
||||
$depts = $this->getChildCompanyStuctures($request['department']);
|
||||
$query.="department in(".implode(",",$depts).") and ";
|
||||
}
|
||||
|
||||
if(empty($request['date_start']) || $request['date_start'] == "NULL"){
|
||||
$request['date_start'] = date("Y-m-d 00:00:00");
|
||||
}
|
||||
|
||||
if(empty($request['date_end']) || $request['date_end'] == "NULL"){
|
||||
$request['date_end'] = date("Y-m-d 23:59:59");
|
||||
}
|
||||
|
||||
$query.="joined_date >= ? ";
|
||||
$params[] = $request['date_start']." 00:00:00";
|
||||
|
||||
|
||||
|
||||
$query.="and joined_date <= ? ";
|
||||
$params[] = $request['date_end']." 23:59:59";
|
||||
|
||||
return array($query, $params);
|
||||
}
|
||||
}
|
||||
57
ext/admin/reports/reportClasses/ReportBuilder.php
Normal file
57
ext/admin/reports/reportClasses/ReportBuilder.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
if(!interface_exists('ReportBuilderInterface')){
|
||||
include_once MODULE_PATH.'/reportClasses/ReportBuilderInterface.php';
|
||||
}
|
||||
abstract class ReportBuilder implements ReportBuilderInterface{
|
||||
|
||||
public function getData($report,$request){
|
||||
$query = $this->getMainQuery();
|
||||
$where = $this->getWhereQuery($request);
|
||||
$query.=" ".$where[0];
|
||||
return $this->execute($report, $query, $where[1]);
|
||||
}
|
||||
|
||||
protected function execute($report, $query, $parameters){
|
||||
$report->DB()->SetFetchMode(ADODB_FETCH_ASSOC);
|
||||
LogManager::getInstance()->debug("Query: ".$query);
|
||||
LogManager::getInstance()->debug("Parameters: ".json_encode($parameters));
|
||||
$rs = $report->DB()->Execute($query,$parameters);
|
||||
if(!$rs){
|
||||
LogManager::getInstance()->info($report->DB()->ErrorMsg());
|
||||
return array("ERROR","Error generating report");
|
||||
}
|
||||
|
||||
$reportNamesFilled = false;
|
||||
$columnNames = array();
|
||||
$reportData = array();
|
||||
foreach ($rs as $rowId => $row) {
|
||||
$reportData[] = array();
|
||||
if(!$reportNamesFilled){
|
||||
$countIt = 0;
|
||||
foreach ($row as $name=> $value){
|
||||
$countIt++;
|
||||
$columnNames[$countIt] = $name;
|
||||
$reportData[count($reportData)-1][] = $value;
|
||||
}
|
||||
$reportNamesFilled = true;
|
||||
}else{
|
||||
foreach ($row as $name=> $value){
|
||||
$reportData[count($reportData)-1][] = $this->transformData($name, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
array_unshift($reportData,$columnNames);
|
||||
|
||||
return $reportData;
|
||||
}
|
||||
|
||||
abstract public function getWhereQuery($request);
|
||||
|
||||
abstract public function getMainQuery();
|
||||
|
||||
public function transformData($name, $value){
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
interface ReportBuilderInterface{
|
||||
public function getData($report,$request);
|
||||
}
|
||||
34
ext/admin/reports/reportClasses/TerminatedEmployeeReport.php
Normal file
34
ext/admin/reports/reportClasses/TerminatedEmployeeReport.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
if(!class_exists('ActiveEmployeeReport')){
|
||||
include_once MODULE_PATH.'/reportClasses/ActiveEmployeeReport.php';
|
||||
}
|
||||
class TerminatedEmployeeReport extends ActiveEmployeeReport{
|
||||
|
||||
|
||||
public function getWhereQuery($request){
|
||||
$query = "where ";
|
||||
$params = array();
|
||||
if(!empty($request['department']) && $request['department'] != "NULL"){
|
||||
$depts = $this->getChildCompanyStuctures($request['department']);
|
||||
$query.="department in(".implode(",",$depts).") and ";
|
||||
}
|
||||
|
||||
if(empty($request['date_start']) || $request['date_start'] == "NULL"){
|
||||
$request['date_start'] = date("Y-m-d 00:00:00");
|
||||
}
|
||||
|
||||
if(empty($request['date_end']) || $request['date_end'] == "NULL"){
|
||||
$request['date_end'] = date("Y-m-d 23:59:59");
|
||||
}
|
||||
|
||||
$query.="termination_date >= ? ";
|
||||
$params[] = $request['date_start']." 00:00:00";
|
||||
|
||||
|
||||
|
||||
$query.="and termination_date <= ? ";
|
||||
$params[] = $request['date_end']." 23:59:59";
|
||||
|
||||
return array($query, $params);
|
||||
}
|
||||
}
|
||||
18
ext/admin/reports/scripts/reports.sql
Normal file
18
ext/admin/reports/scripts/reports.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
INSERT INTO `Reports` (`name`, `details`, `parameters`, `query`, `paramOrder`, `type`) VALUES
|
||||
('Active Employee Report', 'This report list employees who are currently active based on joined date and termination date ',
|
||||
'[\r\n[ "department", {"label":"Department","type":"select2","remote-source":["CompanyStructure","id","title"],"allow-null":true}]\r\n]',
|
||||
'ActiveEmployeeReport',
|
||||
'["department"]', 'Class');
|
||||
|
||||
|
||||
INSERT INTO `Reports` (`name`, `details`, `parameters`, `query`, `paramOrder`, `type`) VALUES
|
||||
('New Hires Employee Report', 'This report list employees who are joined between given two dates ',
|
||||
'[[ "department", {"label":"Department","type":"select2","remote-source":["CompanyStructure","id","title"],"allow-null":true}],\r\n[ "date_start", {"label":"Start Date","type":"date"}],\r\n[ "date_end", {"label":"End Date","type":"date"}]\r\n]',
|
||||
'NewHiresEmployeeReport',
|
||||
'["department","date_start","date_end"]', 'Class');
|
||||
|
||||
INSERT INTO `Reports` (`name`, `details`, `parameters`, `query`, `paramOrder`, `type`) VALUES
|
||||
('Terminated Employee Report', 'This report list employees who are terminated between given two dates ',
|
||||
'[[ "department", {"label":"Department","type":"select2","remote-source":["CompanyStructure","id","title"],"allow-null":true}],\r\n[ "date_start", {"label":"Start Date","type":"date"}],\r\n[ "date_end", {"label":"End Date","type":"date"}]\r\n]',
|
||||
'TerminatedEmployeeReport',
|
||||
'["department","date_start","date_end"]', 'Class');
|
||||
6
ext/admin/reports/templates/fields/label.html
Normal file
6
ext/admin/reports/templates/fields/label.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<div class="control-group" id="field__id_">
|
||||
<div class="controls">
|
||||
<label id="_id_" name="_id_" style="font-weight:bold"></label>
|
||||
<hr/>
|
||||
</div>
|
||||
</div>
|
||||
14
ext/admin/reports/templates/form_template.html
Normal file
14
ext/admin/reports/templates/form_template.html
Normal file
@@ -0,0 +1,14 @@
|
||||
<form class="form-horizontal" id="_id_">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<span class="label label-warning" id="_id__error" style="display:none;"></span>
|
||||
</div>
|
||||
</div>
|
||||
_fields_
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<button onclick="try{modJs.save()}catch(e){};return false;" class="btn">Download</button>
|
||||
<button onclick="modJs.cancel();return false;" class="btn">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
23
ext/admin/settings/api/SettingsAdminManager.php
Normal file
23
ext/admin/settings/api/SettingsAdminManager.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
if (!class_exists('SettingsAdminManager')) {
|
||||
class SettingsAdminManager extends AbstractModuleManager{
|
||||
|
||||
public function initializeUserClasses(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeFieldMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings(){
|
||||
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions(){
|
||||
|
||||
//This is a fixed module, store model classes in models.inc.php
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
39
ext/admin/settings/api/SettingsInitialize.php
Normal file
39
ext/admin/settings/api/SettingsInitialize.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
class SettingsInitialize extends AbstractInitialize{
|
||||
|
||||
public function init(){
|
||||
if(SettingsManager::getInstance()->getSetting("Api: REST Api Enabled") == "1"){
|
||||
$user = BaseService::getInstance()->getCurrentUser();
|
||||
$dbUser = new User();
|
||||
$dbUser->Load("id = ?",array($user->id));
|
||||
$resp = RestApiManager::getInstance()->getAccessTokenForUser($dbUser);
|
||||
if($resp->getStatus() != IceResponse::SUCCESS){
|
||||
LogManager::getInstance()->error("Error occured while creating REST Api acces token for ".$user->username);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
55
ext/admin/settings/index.php
Normal file
55
ext/admin/settings/index.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'settings';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
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="tabSetting" href="#tabPageSetting">Settings</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageSetting">
|
||||
<div id="Setting" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="SettingForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabSetting'] = new SettingAdapter('Setting','Setting','','name');
|
||||
modJsList['tabSetting'].setShowAddNew(false);
|
||||
|
||||
var modJs = modJsList['tabSetting'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
67
ext/admin/settings/lib.js
Normal file
67
ext/admin/settings/lib.js
Normal file
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Author: Thilina Hasantha
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* SettingAdapter
|
||||
*/
|
||||
|
||||
function SettingAdapter(endPoint,tab,filter,orderBy) {
|
||||
this.initAdapter(endPoint,tab,filter,orderBy);
|
||||
}
|
||||
|
||||
SettingAdapter.inherits(AdapterBase);
|
||||
|
||||
|
||||
|
||||
SettingAdapter.method('getDataMapping', function() {
|
||||
return [
|
||||
"id",
|
||||
"name",
|
||||
"value",
|
||||
"description"
|
||||
];
|
||||
});
|
||||
|
||||
SettingAdapter.method('getHeaders', function() {
|
||||
return [
|
||||
{ "sTitle": "ID" ,"bVisible":false},
|
||||
{ "sTitle": "Name" },
|
||||
{ "sTitle": "Value"},
|
||||
{ "sTitle": "Details"}
|
||||
];
|
||||
});
|
||||
|
||||
SettingAdapter.method('getFormFields', function() {
|
||||
return [
|
||||
[ "id", {"label":"ID","type":"hidden"}],
|
||||
[ "value", {"label":"Value","type":"text","validation":"none"}]
|
||||
];
|
||||
});
|
||||
|
||||
SettingAdapter.method('getActionButtonsHtml', function(id,data) {
|
||||
var html = '<div style="width:80px;"><img class="tableActionButton" src="_BASE_images/edit.png" style="cursor:pointer;" rel="tooltip" title="Edit" onclick="modJs.edit(_id_);return false;"></img></div>';
|
||||
html = html.replace(/_id_/g,id);
|
||||
html = html.replace(/_BASE_/g,this.baseUrl);
|
||||
return html;
|
||||
});
|
||||
|
||||
|
||||
SettingAdapter.method('getMetaFieldForRendering', function(fieldName) {
|
||||
if(fieldName == "value"){
|
||||
return "meta";
|
||||
}
|
||||
return "";
|
||||
});
|
||||
|
||||
|
||||
SettingAdapter.method('fillForm', function(object) {
|
||||
this.uber('fillForm',object);
|
||||
$("#helptext").html(object.description);
|
||||
});
|
||||
|
||||
|
||||
SettingAdapter.method('getHelpLink', function () {
|
||||
return 'http://blog.icehrm.com/?page_id=126';
|
||||
});
|
||||
11
ext/admin/settings/meta.json
Normal file
11
ext/admin/settings/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"label":"Settings",
|
||||
"menu":"System",
|
||||
"order":"1",
|
||||
"icon":"fa-cogs",
|
||||
"user_levels":["Admin"],
|
||||
|
||||
"permissions":
|
||||
{
|
||||
}
|
||||
}
|
||||
16
ext/admin/settings/templates/form_template.html
Normal file
16
ext/admin/settings/templates/form_template.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<form class="form-horizontal" id="_id_">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<span class="label label-warning" id="_id__error" style="display:none;"></span>
|
||||
</div>
|
||||
</div>
|
||||
_fields_
|
||||
<div class="control-group" id="helptext" style="padding-left:20%;">
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<button onclick="try{modJs.save()}catch(e){};return false;" class="btn">Save</button>
|
||||
<button onclick="modJs.cancel();return false;" class="btn">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
100
ext/admin/users/api/UsersActionManager.php
Normal file
100
ext/admin/users/api/UsersActionManager.php
Normal file
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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 Hrm 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 Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
*/
|
||||
|
||||
class UsersActionManager extends SubActionManager{
|
||||
public function changePassword($req){
|
||||
if($this->user->user_level == 'Admin' || $this->user->id == $req->id){
|
||||
$user = $this->baseService->getElement('User',$req->id);
|
||||
if(empty($user->id)){
|
||||
return new IceResponse(IceResponse::ERROR,"Please save the user first");
|
||||
}
|
||||
$user->password = md5($req->pwd);
|
||||
$ok = $user->Save();
|
||||
if(!$ok){
|
||||
return new IceResponse(IceResponse::ERROR,$user->ErrorMsg());
|
||||
}
|
||||
return new IceResponse(IceResponse::SUCCESS,$user);
|
||||
}
|
||||
return new IceResponse(IceResponse::ERROR);
|
||||
}
|
||||
|
||||
public function saveUser($req){
|
||||
if($this->user->user_level == 'Admin'){
|
||||
|
||||
$user = new User();
|
||||
$user->Load("email = ?",array($req->email));
|
||||
|
||||
if($user->email == $req->email){
|
||||
return new IceResponse(IceResponse::ERROR,"User with same email already exists");
|
||||
}
|
||||
|
||||
$user->Load("username = ?",array($req->username));
|
||||
|
||||
if($user->username == $req->username){
|
||||
return new IceResponse(IceResponse::ERROR,"User with same username already exists");
|
||||
}
|
||||
|
||||
$user = new User();
|
||||
$user->email = $req->email;
|
||||
$user->username = $req->username;
|
||||
$password = $this->generateRandomString(6);
|
||||
$user->password = md5($password);
|
||||
$user->employee = (empty($req->employee) || $req->employee == "NULL" )?NULL:$req->employee;
|
||||
$user->user_level = $req->user_level;
|
||||
$user->last_login = date("Y-m-d H:i:s");
|
||||
$user->last_update = date("Y-m-d H:i:s");
|
||||
$user->created = date("Y-m-d H:i:s");
|
||||
|
||||
$employee = null;
|
||||
if(!empty($user->employee)){
|
||||
$employee = $this->baseService->getElement('Employee',$user->employee,null,true);
|
||||
}
|
||||
|
||||
$ok = $user->Save();
|
||||
if(!$ok){
|
||||
LogManager::getInstance()->info($user->ErrorMsg()."|".json_encode($user));
|
||||
return new IceResponse(IceResponse::ERROR,"Error occured while saving the user");
|
||||
}
|
||||
$user->password = "";
|
||||
$user = $this->baseService->cleanUpAdoDB($user);
|
||||
|
||||
if(!empty($this->emailSender)){
|
||||
$usersEmailSender = new UsersEmailSender($this->emailSender, $this);
|
||||
$usersEmailSender->sendWelcomeUserEmail($user, $password, $employee);
|
||||
}
|
||||
return new IceResponse(IceResponse::SUCCESS,$user);
|
||||
}
|
||||
return new IceResponse(IceResponse::ERROR, "Not Allowed");
|
||||
}
|
||||
|
||||
|
||||
private function generateRandomString($length = 10) {
|
||||
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||
$charactersLength = strlen($characters);
|
||||
$randomString = '';
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$randomString .= $characters[rand(0, $charactersLength - 1)];
|
||||
}
|
||||
return $randomString;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user