Skip to content

Commit

Permalink
refactor: employee resource
Browse files Browse the repository at this point in the history
  • Loading branch information
ruchamahabal committed Aug 28, 2023
1 parent f32281f commit 004bbed
Show file tree
Hide file tree
Showing 19 changed files with 59 additions and 59 deletions.
4 changes: 2 additions & 2 deletions frontend/src/components/CheckInPanel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ const checkins = createListResource({
"device_id",
],
filters: {
employee: employee.data.name,
employee: employee().name,
},
orderBy: "time desc",
})
Expand Down Expand Up @@ -99,7 +99,7 @@ const submitLog = (logType) => {
checkins.insert.submit(
{
employee: employee.data.name,
employee: employee().name,
log_type: logType,
time: checkinTimestamp.value,
},
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/ExpenseClaimSummary.vue
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ const employee = inject("$employee")
const summary = createResource({
url: "hrms.api.get_expense_claim_summary",
params: {
employee: employee.data.name,
employee: employee().name,
},
auto: true,
})
Expand All @@ -78,6 +78,6 @@ const total_claimed_amount = computed(() => {
})
const company_currency = computed(() =>
getCompanyCurrencySymbol(employee.data.company)
getCompanyCurrencySymbol(employee().company)
)
</script>
2 changes: 1 addition & 1 deletion frontend/src/components/Holidays.vue
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ const dayjs = inject("$dayjs")
const holidays = createResource({
url: "hrms.api.get_holidays_for_employee",
params: {
employee: employee.data.name,
employee: employee().name,
},
auto: true,
transform: (data) => {
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/LeaveBalance.vue
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ const employee = inject("$employee")
const leaveBalance = createResource({
url: "hrms.api.get_leave_balance_map",
params: {
employee: employee.data.name,
employee: employee().name,
},
auto: true,
transform: (data) => {
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/components/ListView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -178,9 +178,9 @@ const defaultFilters = computed(() => {
const filters = []
if (isTeamRequest.value) {
filters.push([props.doctype, "employee", "!=", employee.data.name])
filters.push([props.doctype, "employee", "!=", employee().name])
} else {
filters.push([props.doctype, "employee", "=", employee.data.name])
filters.push([props.doctype, "employee", "=", employee().name])
}
return filters
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/components/RequestPanel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -59,20 +59,20 @@ const teamRequests = computed(() => {
onMounted(() => {
socket.off("hrms:update_leaves")
socket.on("hrms:update_leaves", (data) => {
if (data.employee === employee.data.name) {
if (data.employee === employee().name) {
myLeaves.reload()
}
if (data.approver === employee.data.user_id) {
if (data.approver === employee().user_id) {
teamLeaves.reload()
}
})
socket.off("hrms:update_expense_claims")
socket.on("hrms:update_expense_claims", (data) => {
if (data.employee === employee.data.name) {
if (data.employee === employee().name) {
myClaims.reload()
}
if (data.approver === employee.data.user_id) {
if (data.approver === employee().user_id) {
teamClaims.reload()
}
})
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/data/advances.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { createResource } from "frappe-ui"
import { employeeResource } from "./employee"
import { getEmployee } from "./employee"

const transformAdvanceData = (data) => {
return data.map((claim) => {
Expand All @@ -11,7 +11,7 @@ const transformAdvanceData = (data) => {
export const advanceBalance = createResource({
url: "hrms.api.get_employee_advance_balance",
params: {
employee: employeeResource.data.name,
employee: getEmployee().name,
},
auto: true,
transform(data) {
Expand Down
10 changes: 6 additions & 4 deletions frontend/src/data/claims.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { createResource } from "frappe-ui"
import { employeeResource } from "./employee"
import { getEmployee } from "./employee"
import { reactive } from "vue"

const transformClaimData = (data) => {
Expand All @@ -9,10 +9,12 @@ const transformClaimData = (data) => {
})
}

const employee = getEmployee()

export const myClaims = createResource({
url: "hrms.api.get_expense_claims",
params: {
employee: employeeResource.data.name,
employee: employee.name,
limit: 5,
},
auto: true,
Expand All @@ -24,8 +26,8 @@ export const myClaims = createResource({
export const teamClaims = createResource({
url: "hrms.api.get_expense_claims",
params: {
employee: employeeResource.data.name,
approver_id: employeeResource.data.user_id,
employee: employee.name,
approver_id: employee.user_id,
for_approval: 1,
limit: 5,
},
Expand Down
4 changes: 4 additions & 0 deletions frontend/src/data/employee.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ export const employeeResource = createResource({
}
},
})

export function getEmployee() {
return employeeResource.data
}
5 changes: 2 additions & 3 deletions frontend/src/data/employees.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createListResource } from "frappe-ui"
import { reactive } from "vue"
import { employeeResource } from "./employee"
import { getEmployee } from "./employee"

let employeesByID = reactive({})

Expand Down Expand Up @@ -33,7 +33,6 @@ export const employees = createListResource({
})

export function getEmployeeInfo(employeeID) {
if (!employeeID) employeeID = employeeResource.data.name

if (!employeeID) return getEmployee()
return employeesByID[employeeID]
}
10 changes: 6 additions & 4 deletions frontend/src/data/leaves.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { createResource } from "frappe-ui"
import { employeeResource } from "./employee"
import { getEmployee } from "./employee"

import dayjs from "@/utils/dayjs"

const employee = getEmployee()

const transformLeaveData = (data) => {
return data.map((leave) => {
leave.leave_dates = getLeaveDates(leave)
Expand All @@ -23,7 +25,7 @@ export const getLeaveDates = (leave) => {
export const myLeaves = createResource({
url: "hrms.api.get_employee_leave_applications",
params: {
employee: employeeResource.data.name,
employee: employee.name,
limit: 5,
},
auto: true,
Expand All @@ -35,8 +37,8 @@ export const myLeaves = createResource({
export const teamLeaves = createResource({
url: "hrms.api.get_team_leave_applications",
params: {
employee: employeeResource.data.name,
user_id: employeeResource.data.user_id,
employee: employee.name,
user_id: employee.user_id,
limit: 5,
},
auto: true,
Expand Down
5 changes: 0 additions & 5 deletions frontend/src/data/session.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { computed, reactive } from "vue"
import { createResource } from "frappe-ui"
import { userResource } from "./user"
import { employeeResource } from "./employee"
import router from "@/router"

export function sessionUser() {
Expand All @@ -24,8 +23,6 @@ export const session = reactive({
},
onSuccess(data) {
userResource.reload()
employeeResource.reload()

session.user = sessionUser()
session.login.reset()
router.replace(data.default_route || "/")
Expand All @@ -35,8 +32,6 @@ export const session = reactive({
url: "logout",
onSuccess() {
userResource.reset()
employeeResource.reset()

session.user = sessionUser()
router.replace({ name: "Login" })
window.location.reload()
Expand Down
6 changes: 2 additions & 4 deletions frontend/src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { IonicVue } from "@ionic/vue"

import { session } from "@/data/session"
import { userResource } from "@/data/user"
import { employeeResource } from "@/data/employee"
import { getEmployee } from "@/data/employee"
import dayjs from "@/utils/dayjs"

/* Core CSS required for Ionic components to work properly */
Expand All @@ -39,11 +39,9 @@ app.component("EmptyState", EmptyState)
app.use(router)
app.use(IonicVue)

employeeResource.reload()

app.provide("$session", session)
app.provide("$user", userResource)
app.provide("$employee", employeeResource)
app.provide("$employee", getEmployee)
app.provide("$socket", socket)
app.provide("$dayjs", dayjs)

Expand Down
10 changes: 5 additions & 5 deletions frontend/src/views/employee_advance/Form.vue
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ const props = defineProps({
// object to store form data
const employeeAdvance = ref({
employee: employee.data.name,
employee_name: employee.data.employee_name,
company: employee.data.company,
department: employee.data.department,
employee: employee().name,
employee_name: employee().employee_name,
company: employee().company,
department: employee().department,
})
const companyCurrency = computed(() =>
Expand All @@ -61,7 +61,7 @@ formFields.reload()
const employeeCurrency = createResource({
url: "hrms.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
params: { employee: employee.data.name },
params: { employee: employee().name },
onSuccess(data) {
employeeAdvance.value.currency = data
setExchangeRate()
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/views/expense_claim/Dashboard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ const employee = inject("$employee")
onMounted(() => {
socket.off("hrms:update_expense_claims")
socket.on("hrms:update_expense_claims", (data) => {
if (data.employee === employee.data.name) {
if (data.employee === employee().name) {
myClaims.reload()
}
})

socket.off("hrms:update_employee_advances")
socket.on("hrms:update_employee_advances", (data) => {
if (data.employee === employee.data.name) {
if (data.employee === employee().name) {
advanceBalance.reload()
}
})
Expand Down
12 changes: 6 additions & 6 deletions frontend/src/views/expense_claim/Form.vue
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ const tabs = [
// object to store form data
const expenseClaim = ref({
employee: employee.data.name,
company: employee.data.company,
employee: employee().name,
company: employee().company,
})
const currency = computed(() =>
Expand Down Expand Up @@ -110,7 +110,7 @@ formFields.reload()
// resources
const advances = createResource({
url: "hrms.hr.doctype.expense_claim.expense_claim.get_advances",
params: { employee: employee.data.name },
params: { employee: employee().name },
onSuccess(data) {
// set advances
if (props.id) {
Expand Down Expand Up @@ -143,7 +143,7 @@ const advances = createResource({
const expenseApproverDetails = createResource({
url: "hrms.api.get_expense_approval_details",
params: { employee: employee.data.name },
params: { employee: employee().name },
onSuccess(data) {
setExpenseApprover(data)
},
Expand All @@ -161,7 +161,7 @@ const costCenter = createResource({
watch(
() => expenseClaim.value.employee,
(employee_id) => {
if (props.id && employee_id !== employee.data.name) {
if (props.id && employee_id !== employee().name) {
// if employee is not the current user, set form as read only
setFormReadOnly()
}
Expand Down Expand Up @@ -378,7 +378,7 @@ function calculateTotalAdvance() {
}
function setFormReadOnly() {
if (expenseClaim.value.expense_approver === employee.data.user_id) return
if (expenseClaim.value.expense_approver === employee().user_id) return
formFields.data.map((field) => (field.read_only = true))
isReadOnly.value = true
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/leave/Dashboard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const employee = inject("$employee")
onMounted(() => {
socket.off("hrms:update_leaves")
socket.on("hrms:update_leaves", (data) => {
if (data.employee === employee.data.name) {
if (data.employee === employee().name) {
myLeaves.reload()
}
})
Expand Down
Loading

0 comments on commit 004bbed

Please sign in to comment.