{
	"keyColumn": "project_id",
	"wildsearch": "true",
	"detailHeaderColumnPrefix": "Project: ",
	"handleFile": "true",
	"detailHeaderColumns": [
		"project_title"
	],
	"breadCrumbColumn": "project_title",
	"orderBy": {
		"project_id": "DESC"
	},
	"listColumns": [
		"project_title",
		"project_category",
		"owner",
		"is_gitlabproject",
		"project_start_date",
		"estimated_completed_date"
	],
	"showColumns": [
		"project_id",
		"project_title",
		"project_category",
		"owner",
		"project_start_date",
		"estimated_completed_date",
		"delivery_date",
		"project_budget",
		"padding_time",
		"project_summary",
		"project_status",
		"gitlabprojectid",
		"project_ssh_url_to_repo",
		"project_http_url_to_repo",
		"is_locked",
		"is_gitlabproject",
		"gitlabprojectname"
	],
	"detailColumns": [
		"project_id",
		"project_title",
		"project_category",
		"owner",
		"project_start_date",
		"estimated_completed_date",
		"delivery_date",
		"project_budget",
		"estimated_time",
		"total_project_task_time",
		"total_project_tasks",
		"padding_time",
		"project_summary",
		"total_logged_time",
		"total_project_log_count",
		"total_project_bugs",
		"total_module_count",
		"total_module_allocated_time",
		"total_timesheet_count",
		"total_milestone_count",
		"total_team_count",
		"project_status",
		"gitlabprojectid",
		"project_ssh_url_to_repo",
		"project_http_url_to_repo",
		"is_locked",
		"is_gitlabproject",
		"project_group",
		"gitlabprojectname"
	],
	"columns": {
		"project_id": {
			"name": "ID",
			"editoptions": {
				"type": "hidden"
			}
		},
		"project_ssh_url_to_repo": {
			"name": "ID",
			"editoptions": {
				"type": "hidden"
			}
		},
		"project_http_url_to_repo": {
			"name": "Git URL",
			"editoptions": {
				"type": "text"
			}
		},
		"gitlabprojectid": {
			"name": "ID",
			"editoptions": {
				"type": "hidden"
			}
		},
		"is_gitlabproject": {
			"name": "Add to GitLab",
			"sortable": "true",
			"editoptions": {
				"type": "checkbox",
				"label": "Add to GitLab",
				"class": "inline",
				"default": "0",
				"enumvalues": {
					"0": "No",
					"1": "Yes"
				}
			}
		},
		"gitlabprojectname": {
			"name": "Repository Name",
			"sortable": "true",
			"editoptions": {
				"type": "textbox",
				"label": "Repository Name",
				"class": "textbox",
				"hint": "Project Name in Gitlab"
			}
		},
		"project_title": {
			"name": "Project Name",
			"searchable": "true",
			"sortable": "true",
			"noWordWrap": "true",
			"editoptions": {
				"type": "textbox",
				"label": "Project name",
				"class": "textbox",
				"hint": "project Name",
				"validations": [
					"required"
				]
			},
			"popupoptions": {
				"type": "popup",
				"customaction": "Cmshelper::getProjectSummaryPopupUrl"
			}
		},
		"estimated_time": {
			"name": "Project Estimated Time"
		},
		"total_project_task_time": {
			"name": "Total Task Assigned time"
		},
		"padding_time": {
			"name": "Project Padding Time(%)",
			"sortable": "true",
			"editoptions": {
				"type": "textbox",
				"label": "Project padding time (%)",
				"class": "textbox",
				"hint": "project padding time",
				"validations": [
					"required"
				]
			}
		},
		"project_summary": {
			"name": "Project Summary",
			"editoptions": {
				"type": "textarea",
				"label": "Project summary",
				"class": "textbox"
			}
		},
		"project_budget": {
			"name": "Project Budget",
			"sortable": "true",
			"editoptions": {
				"type": "textbox",
				"label": "Project budget (in $)",
				"class": "textbox",
				"hint": "project Budget",
				"validations": [
					"required"
				]
			}
		},
		"total_project_tasks": {
			"name": "Project Task Count",
			"sortable": "true"
		},
		"total_logged_time": {
			"name": "Project Logged Hours",
			"customColumn": "true",
			"customaction": "Cmshelper::gettotalprojectloggedtime"
		},
		"total_project_log_count": {
			"name": "Project Log Count",
			"sortable": "true"
		},
		"total_project_bugs": {
			"name": "Project Bugs",
			"sortable": "true"
		},
		"total_module_count": {
			"name": "Project Module Count",
			"sortable": "true"
		},
		"total_module_allocated_time": {
			"name": "Total Module Allocated Time",
			"sortable": "true"
		},
		"total_timesheet_count": {
			"name": "Project Timesheet Count",
			"sortable": "true"
		},
		"total_milestone_count": {
			"name": "Project Milestone Count",
			"sortable": "true"
		},
		"total_team_count": {
			"name": "Project Team Size",
			"sortable": "true"
		},
		"owner": {
			"name": "Owner",
			"searchable": "true",
			"sortable": "true",
			"external": "true",
			"externalOptions": {
				"externalTable": "tbl_employee",
				"externalColumn": "emp_main_id",
				"externalShowColumn": "first_name"
			},
			"editoptions": {
				"type": "select",
				"source": "Cmshelper::getUsernameCombo",
				"default": "",
				"source_type": "function",
				"label": "Project owner",
				"class": "select",
				"validations": [
					"required"
				]
			}
		},
		"project_category": {
			"name": "Project category",
			"external": "true",
			"externalOptions": {
				"externalTable": "tbl_project_categories",
				"externalColumn": "category_id",
				"externalShowColumn": "category_name"
			},
			"editoptions": {
				"type": "select",
				"source": "Cmshelper::getProjectCategories",
				"default": "",
				"source_type": "function",
				"label": "Project category",
				"class": "select",
				"validations": [
					"required"
				]
			}
		},
		"is_locked": {
			"name": "Lock",
			"sortable": "true",
			"popupoptions": {
				"type": "popup",
				"customaction": "Cmshelper::getLockstatusPopupUrl"
			}
		},
		"project_start_date": {
			"name": "Project start date",
			"sortable": "true",
			"dbFormat": "date",
			"displayFormat": "m/d/Y",
			"editoptions": {
				"dbFormat": "date",
				"displayFormat": "m/d/Y",
				"type": "datepicker",
				"label": "Project start date",
				"class": "",
				"hint": "Project start date",
				"validations": [
					"required"
				]
			}
		},
		"estimated_completed_date": {
			"name": "Estimated completion date",
			"sortable": "true",
			"dbFormat": "date",
			"displayFormat": "m/d/Y",
			"editoptions": {
				"dbFormat": "date",
				"displayFormat": "m/d/Y",
				"type": "datepicker",
				"label": "Project completion date",
				"class": "",
				"hint": "Project completion date",
				"validations": [
					"required"
				]
			}
		},
		"delivery_date": {
			"name": "Delivery date",
			"sortable": "true",
			"dbFormat": "date",
			"displayFormat": "m/d/Y",
			"editoptions": {
				"dbFormat": "date",
				"displayFormat": "m/d/Y",
				"type": "datepicker",
				"label": "Project delivery date",
				"class": "",
				"hint": "Project delivery date",
				"validations": [
					"required"
				]
			}
		},
		"project_group": {
			"name": "GitLab Project Group",
			"searchable": "true",
			"sortable": "true",
			"external": "true",
			"externalOptions": {
				"externalTable": "tbl_employee",
				"externalColumn": "emp_main_id",
				"externalShowColumn": "first_name"
			},
			"editoptions": {
				"type": "select",
				"source": "Cmshelper::getProjectGroupCombo",
				"default": "40",
				"source_type": "function",
				"label": "GitLab Project Group",
				"class": "select"
			}
		},
		"project_status": {
			"name": "Project status",
			"editoptions": {
				"type": "select",
				"source": {
					"New": "New",
					"Inprogress": "Inprogress",
					"Inactive": "Inactive",
					"Completed": "Completed",
					"Hold": "Hold",
					"Cancelled": "Cancelled",
					"Operational": "Operational"
				},
				"default": "",
				"source_type": "array",
				"label": "Project status",
				"class": "select",
				"validations": [
					"required"
				]
			}
		}
	},
	"relations": {
		"teams": {
			"name": "team",
			"section": "project_team",
			"child_table": "tbl_project_team",
			"parent_join_column": "project_id",
			"child_join_column": "project_id"
		},
		"modules": {
			"name": "module",
			"section": "project_module",
			"child_table": "tbl_project_module",
			"parent_join_column": "project_id",
			"child_join_column": "project_id"
		},
		"milestones": {
			"name": "milestones",
			"section": "project_milestone",
			"child_table": "tbl_project_milestone",
			"parent_join_column": "project_id",
			"child_join_column": "project_id"
		},
		"documents": {
			"name": "documents",
			"section": "project_documents",
			"child_table": "tbl_project_document",
			"parent_join_column": "project_id",
			"child_join_column": "project_id"
		},
		"timesheets": {
			"name": "timesheets",
			"section": "project_timesheets",
			"child_table": "tbl_project_timesheets",
			"parent_join_column": "project_id",
			"child_join_column": "project_id"
		}
	},
	"customActions": {
		"beforeAddRecord": "Cmshelper::validateEngine",
		"beforeEditRecord": "Cmshelper::validateEngine",
		"afterEditRecord": "Cmshelper::updateProjectNameDependencies",
		"afterAddRecord": "Cmshelper::updateProjectDetails",
		"beforeDeleteRecord": "Cmshelper::validateProjectBeforeDelete"
	},
	"opertations": [
		"add",
		"edit",
		"view",
		"delete"
	],
	"operationLabel": {
		"addLabel": "Add Project",
		"editTitle": "Edit Project",
		"viewTitle": "View Project Details",
		"deleteTitle": "Delete Project"
	}
}