Commit f1c332d6 authored by John Red Medrano's avatar John Red Medrano

Merge pull request #458 in RMS/api-main-service from red-develop to RMSv2

* commit 'ede5f94d':
  added new endpoint for batch upload with history
parents 756aedcb ede5f94d
{
"info": {
"_postman_id": "b6ed2932-d884-4312-87ce-3b889c0fa873",
"name": "RMSv2 copy",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "RMS",
"item": [
{
"name": "Master",
"item": [
{
"name": "Company Listing",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/master/companies/",
"host": [
"{{baseurl}}"
],
"path": [
"master",
"companies",
""
]
}
},
"response": []
},
{
"name": "Upload Attachment",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"type": "file",
"src": ""
},
{
"key": "url",
"type": "file",
"src": ""
}
]
},
"url": {
"raw": "{{baseurl}}/master/attachments/",
"host": [
"{{baseurl}}"
],
"path": [
"master",
"attachments",
""
]
}
},
"response": []
},
{
"name": "Upload Attachment Copy",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "url",
"type": "file",
"src": ""
},
{
"key": "url",
"type": "file",
"src": ""
}
]
},
"url": {
"raw": "{{baseurl}}/master/attachments/",
"host": [
"{{baseurl}}"
],
"path": [
"master",
"attachments",
""
]
}
},
"response": []
},
{
"name": "Department Listing",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/master/departments/",
"host": [
"{{baseurl}}"
],
"path": [
"master",
"departments",
""
]
}
},
"response": []
},
{
"name": "User type listing",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/master/user-types/",
"host": [
"{{baseurl}}"
],
"path": [
"master",
"user-types",
""
]
}
},
"response": []
},
{
"name": "User Listing",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/master/users/",
"host": [
"{{baseurl}}"
],
"path": [
"master",
"users",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Management",
"item": [
{
"name": "Application Management",
"item": [
{
"name": "List of Applications",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/applications/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"applications",
""
]
}
},
"response": []
},
{
"name": "View Application",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/applications/APP-20190917-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"applications",
"APP-20190917-0000001",
""
]
}
},
"response": []
},
{
"name": "Create Application",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Asset Management System\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/applications/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"applications",
""
]
}
},
"response": []
},
{
"name": "Edit Application",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"rms2\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/applications/APP-20190925-0000004/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"applications",
"APP-20190925-0000004",
""
]
}
},
"response": []
},
{
"name": "Delete Application",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/applications/APP-20191003-0000004/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"applications",
"APP-20191003-0000004",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Companies Management",
"item": [
{
"name": "List of Companies",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/companies/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"companies",
""
]
}
},
"response": []
},
{
"name": "View Company",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/companies/COMPANY-20190909-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"companies",
"COMPANY-20190909-0000001",
""
]
}
},
"response": []
},
{
"name": "Create Company",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Total Integrated Resources\",\n\t\"contact_details\": \"2152509\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/companies/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"companies",
""
]
}
},
"response": []
},
{
"name": "Edit Company",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Oneberry Technologies\",\n\t\"contact_details\": \"2152509\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/companies/COMPANY-20190923-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"companies",
"COMPANY-20190923-0000001",
""
]
}
},
"response": []
},
{
"name": "Delete Company",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"TIR2\",\n\t\"contact_details\": \"2152509\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/companies/COMPANY-20191003-0000009/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"companies",
"COMPANY-20191003-0000009",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Department Management",
"item": [
{
"name": "List of Department",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/departments/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"departments",
""
]
}
},
"response": []
},
{
"name": "View Department",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/departments/DEPARTMENT-20190919-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"departments",
"DEPARTMENT-20190919-0000001",
""
]
}
},
"response": []
},
{
"name": "Create Department",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Product Dept\",\n \"company\": \"COMPANY-20190923-0000001\",\n \"delegation\":[2, 3]\n}"
},
"url": {
"raw": "{{baseurl}}/management/departments/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"departments",
""
]
}
},
"response": []
},
{
"name": "Edit Department",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Business Development\",\n \"company\": \"COMPANY-20190917-0000001\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/departments/DEPARTMENT-20190919-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"departments",
"DEPARTMENT-20190919-0000001",
""
]
}
},
"response": []
},
{
"name": "Delete Department",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Business Developments\",\n \"company\": 2\n}"
},
"url": {
"raw": "{{baseurl}}/management/departments/DEPARTMENT-20190917-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"departments",
"DEPARTMENT-20190917-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Module Management",
"item": [
{
"name": "List of Module",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/modules/?page=2",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"modules",
""
],
"query": [
{
"key": "page",
"value": "2"
}
]
}
},
"response": []
},
{
"name": "View Module",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/modules/MODULE-20190919-0000007/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"modules",
"MODULE-20190919-0000007",
""
]
}
},
"response": []
},
{
"name": "Create Module",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"User Managementdd\",\n \"parent\": 0,\n \"sort_id\": 1,\n \"application\": \"APP-20190917-0000001\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/modules/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"modules",
""
]
}
},
"response": []
},
{
"name": "Edit Module",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Assets NVM\",\n \"parent\": 10,\n \"sort_id\": 1,\n \"application\": \"APP-20190917-0000001\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/modules/MODULE-20190919-0000007/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"modules",
"MODULE-20190919-0000007",
""
]
}
},
"response": []
},
{
"name": "Edit Module Copy",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Assets NVM\",\n \"parent\": 10,\n \"sort_id\": 1,\n \"application\": 2\n}"
},
"url": {
"raw": "http://localhost:8000/api/v1/management/modules/12/",
"protocol": "http",
"host": [
"localhost"
],
"port": "8000",
"path": [
"api",
"v1",
"management",
"modules",
"12",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "User",
"item": [
{
"name": "List of Users",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/users/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
""
]
}
},
"response": []
},
{
"name": "View Users",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/users/USER-20190919-0000028/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"USER-20190919-0000028",
""
]
}
},
"response": []
},
{
"name": "Create User",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"application\":[\"APP-20190923-0000001\"],\r\n\t\"department\": \"DEPARTMENT-20190923-0000002\",\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"Rita\",\r\n\t\"username\": \"obrita\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"APP-20190917-0000001\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"test@gmail.com\"\r\n}\r\n"
},
"url": {
"raw": "{{baseurl}}/management/users/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
""
]
}
},
"response": []
},
{
"name": "Edit User",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"application\":[\"APP-20190917-0000001\",\"APP-20190917-0000003\"],\r\n\t\"department\": \"DEPARTMENT-20190917-0000002\",\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"Ritas\",\r\n\t\"username\": \"obrit1a\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"APP-20190917-0000001\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"test@gmail.com\"\r\n}\r\n"
},
"url": {
"raw": "{{baseurl}}/management/users/USER-20190919-0000028/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"USER-20190919-0000028",
""
]
}
},
"response": []
},
{
"name": "Edit User Level",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"application\":[\"APP-20190917-0000001\",\"APP-20190917-0000003\"],\r\n\t\"department\": \"DEPARTMENT-20190917-0000002\",\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"Ritas\",\r\n\t\"username\": \"obrit1a\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"APP-20190917-0000001\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"test@gmail.com\"\r\n}\r\n"
},
"url": {
"raw": "{{baseurl}}/management/users/USER-20190919-0000028/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"USER-20190919-0000028",
""
]
}
},
"response": []
},
{
"name": "Change Password",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"application\":[1,3],\r\n\t\"department\": 1,\r\n\t\"user_type\": \"OUA\",\r\n\t\"name\": \"Ritas\",\r\n\t\"username\": \"OBRITA\",\r\n\t\"password\": \"password123\",\r\n\t\"doa\":\"\",\r\n\t\"default_app\": \"RMS\",\r\n\t\"contact_no\": \"1312313\",\r\n\t\"email\": \"test@gmail.com\"\r\n}\r\n"
},
"url": {
"raw": "{{baseurl}}/users/3/",
"host": [
"{{baseurl}}"
],
"path": [
"users",
"3",
""
]
}
},
"response": []
},
{
"name": "Delete User",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/users/USER-20190920-0000065/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"USER-20190920-0000065",
""
]
}
},
"response": []
},
{
"name": "Upload Profile Picture",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json",
"disabled": true
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "image",
"type": "file",
"src": ""
},
{
"key": "name",
"value": "test",
"type": "text"
},
{
"key": "user",
"value": "USER-20190927-0000012",
"type": "text"
}
]
},
"url": {
"raw": "{{baseurl}}/management/users/USER-20190927-0000012/picture/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"USER-20190927-0000012",
"picture",
""
]
}
},
"response": []
},
{
"name": "Upload User History",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json",
"disabled": true
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "file",
"type": "file",
"src": ""
},
{
"key": "name",
"value": "test",
"type": "text",
"disabled": true
},
{
"key": "user",
"value": "USER-20190927-0000012",
"type": "text",
"disabled": true
}
]
},
"url": {
"raw": "{{baseurl}}/management/users/batch-upload/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"batch-upload",
""
]
}
},
"response": []
},
{
"name": "Change Password",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"old_password\": \"password123\",\n\t\"new_password\": \"newpassword011\",\n\t\"new_password_confirm\": \"newpassword011\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/users/USER-20190920-0000028/change-password/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"USER-20190920-0000028",
"change-password",
""
]
}
},
"response": []
},
{
"name": "Reset Password SUPERUSER LEVEL",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/users/USER-20190920-0000028/reset-password/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"users",
"USER-20190920-0000028",
"reset-password",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "download",
"item": [
{
"name": "company",
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/company-download/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"company-download",
""
]
}
},
"response": []
},
{
"name": "account",
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/user-download/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"user-download",
""
]
}
},
"response": []
},
{
"name": "department",
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/user-download/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"user-download",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Delegation Management",
"item": [
{
"name": "List of Delegations",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/delegations/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"delegations",
""
]
}
},
"response": []
},
{
"name": "View Delegation",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/delegations/DELEGATION-20191107-0000002/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"delegations",
"DELEGATION-20191107-0000002",
""
]
}
},
"response": []
},
{
"name": "Create Delegation",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Head of Department\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/delegations/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"delegations",
""
]
}
},
"response": []
},
{
"name": "Edit Delegation",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"SOD/ODs\"\n}"
},
"url": {
"raw": "{{baseurl}}/management/delegations/DELEGATION-20191107-0000002/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"delegations",
"DELEGATION-20191107-0000002",
""
]
}
},
"response": []
},
{
"name": "Delete Delegation",
"request": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/delegations/DELEGATION-20191107-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"delegations",
"DELEGATION-20191107-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Extract Transform Load",
"item": [
{
"name": "Upload Users",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json",
"disabled": true
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "file",
"type": "file",
"src": ""
},
{
"key": "name",
"value": "test",
"type": "text",
"disabled": true
},
{
"key": "user",
"value": "USER-20190927-0000012",
"type": "text",
"disabled": true
}
]
},
"url": {
"raw": "{{baseurl}}/management/extract-transform-load/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"extract-transform-load",
""
]
}
},
"response": []
},
{
"name": "list of user on uploaded csv",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/extract-transform-load/ETL-20191113-0000032/users/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"extract-transform-load",
"ETL-20191113-0000032",
"users",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
}
],
"_postman_isSubFolder": true
},
{
"name": "Access Token",
"item": [
{
"name": "current-user",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/auth/current-user/",
"host": [
"{{baseurl}}"
],
"path": [
"auth",
"current-user",
""
]
}
},
"response": []
},
{
"name": "Login",
"request": {
"auth": {
"type": "noauth"
},
"method": "POST",
"header": [
{
"key": "Authorization",
"value": "JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNTU2OTM5MDI4LCJlbWFpbCI6IiJ9.eAA6vSTOhrto5yfy3IQsCdR7iaZxfApNcvdJsFdFmsc",
"type": "text",
"disabled": true
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "username",
"value": "superuser",
"type": "text"
},
{
"key": "password",
"value": "password123",
"type": "text"
}
]
},
"url": {
"raw": "{{baseurl}}/auth/login/",
"host": [
"{{baseurl}}"
],
"path": [
"auth",
"login",
""
]
}
},
"response": []
},
{
"name": "Forgot Password",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"email\": \"gladys@tirsolutions.com\",\n\t\"username\": \"kath\"\n}"
},
"url": {
"raw": "{{baseurl}}/auth/forgot-password/",
"host": [
"{{baseurl}}"
],
"path": [
"auth",
"forgot-password",
""
]
}
},
"response": []
},
{
"name": "Validate Token",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"token\": \"12df1fce0bcb6f5c553d29d3e332552cb557f6f9\"\n}"
},
"url": {
"raw": "{{baseurl}}/auth/reset-password-link/",
"host": [
"{{baseurl}}"
],
"path": [
"auth",
"reset-password-link",
""
]
}
},
"response": []
},
{
"name": "Forgot Password Reset",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"username\": \"superuser\",\n \"password\": \"password123\",\n \"password_confirm\": \"password123\",\n \"passcode\": \"2591\",\n \"token\": \"1f8297b107eb21d17ad33b92be6d65aa83187800\"\n}"
},
"url": {
"raw": "{{baseurl}}/auth/forgot-password-reset/",
"host": [
"{{baseurl}}"
],
"path": [
"auth",
"forgot-password-reset",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
}
]
},
{
"name": "Change Request",
"item": [
{
"name": "CR Forms",
"item": [
{
"name": "Dashboard",
"item": [
{
"name": "Form Dashboard",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/dashboard/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"dashboard",
""
]
}
},
"response": []
},
{
"name": "Form Dashboard w/ Filter",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "http://devapi.rmsv2.oneberrysystem.com/api/v1/change-request/form/dashboard/?date_required_from=2019-09-01&date_required_to=2019-09-02&date_modified_from=2019-09-04&date_modified_to=2019-09-05&company_requested_to=COMPANY-20190923-0000001&department_requested_to=DEPARTMENT-20190923-0000002&form_type=closed",
"protocol": "http",
"host": [
"devapi",
"rmsv2",
"oneberrysystem",
"com"
],
"path": [
"api",
"v1",
"change-request",
"form",
"dashboard",
""
],
"query": [
{
"key": "date_required_from",
"value": "2019-09-01"
},
{
"key": "date_required_to",
"value": "2019-09-02"
},
{
"key": "date_modified_from",
"value": "2019-09-04"
},
{
"key": "date_modified_to",
"value": "2019-09-05"
},
{
"key": "company_requested_to",
"value": "COMPANY-20190923-0000001"
},
{
"key": "department_requested_to",
"value": "DEPARTMENT-20190923-0000002"
},
{
"key": "form_type",
"value": "closed"
}
]
}
},
"response": []
},
{
"name": "Form Status",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/status/?status=pending",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"status",
""
],
"query": [
{
"key": "status",
"value": "pending"
}
]
}
},
"response": []
},
{
"name": "Form Overdue",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/overdue/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"overdue",
""
]
}
},
"response": []
},
{
"name": "Form Awaiting",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/awaiting/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"awaiting",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Form Header",
"item": [
{
"name": "Create Form Header",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"requested_to_template_name\": \"XXXXXXX\",\r\n \"requested_to_objective\": \"tesa\",\r\n \"requested_to_target_date\": \"2020-05-24T04:37:36.611000\",\r\n \"requested_to_priority\": \"Normal\",\r\n \"description\": \"test\",\r\n \"status\": \"Pending\",\r\n \"company_desc\": null,\r\n \"department_desc\": null,\r\n \"requested_desc\": null,\r\n \"requested_to_template_id\": \"test555\",\r\n \"requested_to_company\": \"COMPANY-20191025-0000017\",\r\n \"requested_to_department\": \"DEPARTMENT-20191025-0000050\",\r\n \"requested_to_user\": \"USER-20191025-0000150\",\r\n \"requested_by_user\": \"USER-20191025-0000151\",\r\n \"requested_by_department\": \"DEPARTMENT-20191025-0000050\",\r\n \"template_no\": \"TMP-20191025-0000032\",\r\n \"frm_approvers\": [\r\n \t{\r\n \"level\": 1,\r\n \"delegation\": \"Head of Department\",\r\n \"user\": \"USER-20191025-0000149\"\r\n \t}\r\n ],\r\n \"frm_stakes\": [],\r\n \"frm_attachments\": [],\r\n \"frm_details\": []\r\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/form-post/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-post",
""
]
}
},
"response": []
},
{
"name": "List of Forms",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/?company_requested_to=COMPANY-20191004-0000011&department_requested_to=DEPARTMENT-20191004-0000029&form_type=closed&date_modified_from=2019-10-11&date_modified_to=2019-10-11",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
""
],
"query": [
{
"key": "company_requested_to",
"value": "COMPANY-20191004-0000011"
},
{
"key": "department_requested_to",
"value": "DEPARTMENT-20191004-0000029"
},
{
"key": "form_type",
"value": "closed"
},
{
"key": "date_modified_from",
"value": "2019-10-11"
},
{
"key": "date_modified_to",
"value": "2019-10-11"
}
]
}
},
"response": []
},
{
"name": "View Form",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20191021-0000148/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20191021-0000148",
""
]
}
},
"response": []
},
{
"name": "Resubmit",
"request": {
"method": "PATCH",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20190930-0000035/re_submit/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20190930-0000035",
"re_submit",
""
]
}
},
"response": []
},
{
"name": "CR Action",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"id\": 369,\r\n \"form_code\": \"FRM-20191025-0000041\",\r\n \"delegation\": \"Vendor/Implementor\",\r\n \"action\": \"Completed\",\r\n \"level\": \"2\",\r\n \"remarks\": \"\"\r\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/form/actions/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"actions",
""
]
}
},
"response": []
},
{
"name": "Submit",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"requested_to_template_name\": \"XXXXXXX\",\r\n \"requested_to_objective\": \"tesaasdaswererytyrtyrt\",\r\n \"requested_to_target_date\": \"2020-05-24T04:37:36.611000\",\r\n \"requested_to_priority\": \"Normal\",\r\n \"description\": \"test\",\r\n \"created\": \"2019-10-04T14:06:51.671702\",\r\n \"cancel_date\": null,\r\n \"company_desc\": null,\r\n \"department_desc\": null,\r\n \"requested_desc\": null,\r\n \"requested_to_template_id\": \"test555-20191004-0000014\",\r\n \"requested_to_company\": \"COMPANY-20190923-0000001\",\r\n \"requested_to_department\": \"DEPARTMENT-20191004-0000026\",\r\n \"requested_to_user\": \"USER-20191004-0000086\",\r\n \"requested_by_user\": \"USER-20191004-0000087\",\r\n \"requested_by_department\": \"DEPARTMENT-20191004-0000026\",\r\n \"template_no\": \"TMP-20191004-0000044\",\r\n \"frm_approvers\": [\r\n {\r\n \"id\": 215,\r\n \"level\": 1,\r\n \"delegation\": \"Head of Department\",\r\n \"created\": \"2019-10-04T14:06:51.687700\",\r\n \"code\": \"FRMAPR-20191004-0000215\",\r\n \"remarks\": null,\r\n \"action\": null,\r\n \"action_date\": null,\r\n \"date_sent\": \"2019-10-04T14:06:51.754714\",\r\n \"user\": \"USER-20191004-0000082\",\r\n \"form_code\": \"FRM-20191004-0000078\"\r\n }\r\n ],\r\n \"frm_stakes\": [],\r\n \"frm_attachments\": [],\r\n \"frm_details\": [],\r\n \"action_required\": \"No\"\r\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20191004-0000078/submit/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20191004-0000078",
"submit",
""
]
}
},
"response": []
},
{
"name": "Save",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"requested_to_template_name\": \"XXXXXXX\",\r\n \"requested_to_objective\": \"tesass\",\r\n \"requested_to_target_date\": \"2020-05-24T04:37:36.611000\",\r\n \"requested_to_priority\": \"Normal\",\r\n \"description\": \"test\",\r\n \"created\": \"2019-10-04T14:06:51.671702\",\r\n \"cancel_date\": null,\r\n \"company_desc\": null,\r\n \"department_desc\": null,\r\n \"requested_desc\": null,\r\n \"requested_to_template_id\": \"test555-20191004-0000014\",\r\n \"requested_to_company\": \"COMPANY-20190923-0000001\",\r\n \"requested_to_department\": \"DEPARTMENT-20191004-0000026\",\r\n \"requested_to_user\": \"USER-20191004-0000086\",\r\n \"requested_by_user\": \"USER-20191004-0000087\",\r\n \"requested_by_department\": \"DEPARTMENT-20191004-0000026\",\r\n \"template_no\": \"TMP-20191004-0000044\",\r\n \"frm_approvers\": [\r\n {\r\n \"id\": 215,\r\n \"level\": 1,\r\n \"delegation\": \"Head of Department\",\r\n \"created\": \"2019-10-04T14:06:51.687700\",\r\n \"code\": \"FRMAPR-20191004-0000215\",\r\n \"remarks\": null,\r\n \"action\": null,\r\n \"action_date\": null,\r\n \"date_sent\": \"2019-10-04T14:06:51.754714\",\r\n \"user\": \"USER-20191004-0000082\",\r\n \"form_code\": \"FRM-20191004-0000078\"\r\n }\r\n ],\r\n \"frm_stakes\": [],\r\n \"frm_attachments\": [],\r\n \"frm_details\": [],\r\n \"action_required\": \"No\"\r\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20191004-0000078/save/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20191004-0000078",
"save",
""
]
}
},
"response": []
},
{
"name": "Delete Form",
"request": {
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20191008-0000087/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20191008-0000087",
""
]
}
},
"response": []
},
{
"name": "Archived List",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/archived/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"archived",
""
]
}
},
"response": []
},
{
"name": "Restore Archive",
"request": {
"method": "PATCH",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20190930-0000034/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20190930-0000034",
""
]
}
},
"response": []
},
{
"name": "Download",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-download/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-download",
""
]
}
},
"response": []
},
{
"name": "Form History",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20191025-0000040/history/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20191025-0000040",
"history",
""
]
}
},
"response": []
},
{
"name": "File Upload",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"attachments\": [\r\n\t\t{\r\n\t\t\t\"attachment_type\": \"Before\",\r\n\t\t\t\"attachment_name\": \"we\",\r\n\t\t\t\"file_name\": \"logo_oneberry.png\",\r\n\t\t\t\"description\": \"we\",\r\n\t\t\t\"file_upload\": 302,\r\n\t\t\t\"uploaded_by\": \"USER-20191004-0000098\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"attachment_type\": \"hello\",\r\n\t\t\t\"attachment_name\": \"hello name\",\r\n\t\t\t\"file_name\": \"logo_oneberry.png\",\r\n\t\t\t\"description\": \"hello desc\",\r\n\t\t\t\"file_upload\": 63,\r\n\t\t\t\"attachment_no\": \"\",\r\n\t\t\t\"date_uploaded\": \"\",\r\n\t\t\t\"file\": \"\",\r\n\t\t\t\"template_no\": \"\",\r\n\t\t\t\"upload_no\": \"\"\r\n\t\t}\r\n\t]\r\n}\r\n"
},
"url": {
"raw": "{{baseurl}}/change-request/form/FRM-20191029-0000171/file_upload/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20191029-0000171",
"file_upload",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Form Approver",
"item": [
{
"name": "List of Approvers",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-approvers/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-approvers",
""
]
}
},
"response": []
},
{
"name": "View Approver",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-approvers/FRMAPR-20190927-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-approvers",
"FRMAPR-20190927-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Form Stakeholder",
"item": [
{
"name": "List of Stakeholders",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-stakeholders/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-stakeholders",
""
]
}
},
"response": []
},
{
"name": "View Stakeholder",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-stakeholders/TMPSTK-20190909-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-stakeholders",
"TMPSTK-20190909-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Form Attachment",
"item": [
{
"name": "List of Attachments",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-attachments/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-attachments",
""
]
}
},
"response": []
},
{
"name": "View Attachment",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"attachment_type\": \"Mandatory Attached\",\r\n \"attachment_name\": \"Mandatory Stakeholder\",\r\n \"file_name\": \"USER-20190909-0000005\",\r\n \"description\": \"Sample Desc 1\",\r\n \"file_upload\": null,\r\n \"code\": \"FRMATCH-20190909-0000001\",\r\n \"uploaded_by\": \"USER-20190909-0000005\",\r\n \"form_code\": \"FRM-20190909-0000005\",\r\n \"tmp_attach\": \"TMPATCH-20190909-0000001\"\r\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/form-attachments/FRMATCH-20190909-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-attachments",
"FRMATCH-20190909-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Form Detail",
"item": [
{
"name": "List of Details",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-details/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-details",
""
]
}
},
"response": []
},
{
"name": "View Detail",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-details/FRMDETAIL-20190909-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-details",
"FRMDETAIL-20190909-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Templates",
"item": [
{
"name": "CR Template Header",
"item": [
{
"name": "Template Header Post",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"requested_to_template_name\": \"Security Projects\",\r\n\t\"requested_to_template_id\": \"unionsq\",\r\n\t\"requested_to_objective\": \"Sample Objective\",\r\n\t\"requested_to_target_date\": \"10\",\r\n\t\"requested_to_priority\": \"Normal\",\r\n\t\"description\": \"Lorem Ipsum\",\r\n\t\"created_by_department\": \"DEPARTMENT-20190923-0000002\",\r\n\t\"created_by_user\": \"USER-20190923-0000001\",\r\n\t\"requested_to_company\": \"COMPANY-20190923-0000001\",\r\n\t\"requested_to_department\": \"DEPARTMENT-20190923-0000002\",\r\n\t\"requested_to_user\": \"USER-20190923-0000001\",\r\n\t\r\n\t\"tmp_approvers\": [{\r\n\t\t\t\"level\": \"1\",\r\n\t\t\t\"delegation\": \"Head of Department\"\r\n\t\t}\r\n\t],\r\n\t\r\n\t\"tmp_stakes\": [{\r\n\t\t\"delegation\": \"Mandatory Stakeholder\",\r\n\t\t\"user\": \"USER-20190923-0000001\"\r\n\t}\r\n\t],\r\n\t\r\n\t\"tmp_attachments\": [{\r\n\t\t\"attachment_type\": \"hello\",\r\n\t\t\"attachment_name\": \"hello name\",\r\n\t\t\"file_name\": \"hello\",\r\n\t\t\"description\": \"hello desc\",\r\n\t\t\"file_upload\": 1,\r\n\t\t\"uploaded_by\": \"USER-20190923-0000001\"\r\n\t}\r\n\t],\r\n\t\r\n\t\"tmp_details\": [{\r\n\t\t\"field_idx\": \"ss\",\r\n\t\t\"field_ref\": \"ss\",\r\n\t\t\"field_val\": \"ss\",\r\n\t\t\"field_props\": \"ss\"\r\n\t}\r\n\t]\r\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/template-post/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-post",
""
]
}
},
"response": []
},
{
"name": "List of Templates",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template/?ordering=template_no",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template",
""
],
"query": [
{
"key": "ordering",
"value": "template_no"
}
]
}
},
"response": []
},
{
"name": "View Template",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template/TMP-20191025-0000032/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template",
"TMP-20191025-0000032",
""
]
}
},
"response": []
},
{
"name": "Edit Template",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"requested_to_company\": \"COMPANY-20190923-0000001\",\r\n\t\"requested_to_department\": \"DEPARTMENT-20191004-0000031\",\r\n\t\"requested_to_user\": \"USER-20191004-0000093\",\r\n\t\"requested_to_template_name\": \"nnn\",\r\n\t\"requested_to_template_id\": \"nn\",\r\n\t\"requested_to_objective\": \"\",\r\n\t\"requested_to_target_date\": 1,\r\n\t\"requested_to_priority\": \"Normal\",\r\n\t\"description\": \"\",\r\n\t\"created_by_user\": \"USER-20191004-0000102\",\r\n\t\"created_by_department\": \"DEPARTMENT-20191004-0000029\",\r\n\t\"tmp_approvers\": [{\r\n\t\t\"id\": 299,\r\n\t\t\"level\": 1,\r\n\t\t\"user\": \"USER-20191004-0000092\",\r\n\t\t\"delegation\": \"Head of Department\",\r\n\t\t\"company\": \"COMPANY-20191004-0000011\",\r\n\t\t\"department\": \"DEPARTMENT-20191004-0000030\"\r\n\t}, {\r\n\t\t\"id\": 300,\r\n\t\t\"level\": 1,\r\n\t\t\"user\": \"USER-20191004-0000092\",\r\n\t\t\"delegation\": \"SD/OD\",\r\n\t\t\"company\": \"COMPANY-20191004-0000011\",\r\n\t\t\"department\": \"DEPARTMENT-20191004-0000030\"\r\n\t}, {\r\n\t\t\"id\": 297,\r\n\t\t\"level\": 2,\r\n\t\t\"user\": \"USER-20191004-0000093\",\r\n\t\t\"delegation\": \"Vendor/Implementor\",\r\n\t\t\"company\": \"COMPANY-20190923-0000001\",\r\n\t\t\"department\": \"DEPARTMENT-20191004-0000031\"\r\n\t}, {\r\n\t\t\"id\": 298,\r\n\t\t\"level\": 3,\r\n\t\t\"user\": null,\r\n\t\t\"delegation\": \"Requestor\"\r\n\t}],\r\n\t\"tmp_stakes\": [],\r\n\t\"tmp_attachments\": [],\r\n\t\"tmp_details\": []\r\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/template/TMP-20191022-0000096/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template",
"TMP-20191022-0000096",
""
]
}
},
"response": []
},
{
"name": "Delete Template",
"request": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template/TMP-20190928-0000003/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template",
"TMP-20190928-0000003",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Template Approver",
"item": [
{
"name": "List of Approvers",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-approvers/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-approvers",
""
]
}
},
"response": []
},
{
"name": "View Approver",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-approvers/TMPAPR-20190924-0000015/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-approvers",
"TMPAPR-20190924-0000015",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Template Stakeholder",
"item": [
{
"name": "List of Stakeholders",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-stakeholders/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-stakeholders",
""
]
}
},
"response": []
},
{
"name": "View Stakeholder",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-stakeholders/TMPSTK-20190909-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-stakeholders",
"TMPSTK-20190909-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Template Attachment",
"item": [
{
"name": "List of Attachments",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-attachments/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-attachments",
""
]
}
},
"response": []
},
{
"name": "View Attachment",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-attachments/TMPATCH-20190909-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-attachments",
"TMPATCH-20190909-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "CR Template Detail",
"item": [
{
"name": "List of Details",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-details/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-details",
""
]
}
},
"response": []
},
{
"name": "View Detail",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-details/TMPDETAIL-20190909-0000001/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-details",
"TMPDETAIL-20190909-0000001",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
}
],
"_postman_isSubFolder": true
},
{
"name": "Allowed Company",
"item": [
{
"name": "List of Allowed Company",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/allowed-companies/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"allowed-companies",
""
]
}
},
"response": []
},
{
"name": "Create Allowed Company",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"form\": [\n {\n \"create_change_request\": true,\n \"create_change_request_template\": true,\n \"view_all_change_request\": true,\n \"id_number\": \"USER-20190917-0000001\",\n \"company_pivot\": \"COMPANY-20190917-0000001\",\n \"group_pivots\": \"DEPARTMENT-20190917-0000001\"\n },\n {\n \"create_change_request\": true,\n \"create_change_request_template\": true,\n \"view_all_change_request\": true,\n \"id_number\": \"USER-20190917-0000001\",\n \"company_pivot\": \"COMPANY-20190917-0000002\",\n \"group_pivots\": \"DEPARTMENT-20190917-0000002\"\n }\n ]\n}"
},
"url": {
"raw": "{{baseurl}}/change-request/allowed-companies/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"allowed-companies",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Filter by Allowed Company Template",
"item": [
{
"name": "List of Company",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-companies/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-companies",
""
]
}
},
"response": []
},
{
"name": "List of Department",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-departments/?company_code=COMPANY-20190923-0000001",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-departments",
""
],
"query": [
{
"key": "company_code",
"value": "COMPANY-20190923-0000001"
}
]
}
},
"response": []
},
{
"name": "List of User ",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/template-user-list/?department_code=DEPARTMENT-20191001-0000017",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"template-user-list",
""
],
"query": [
{
"key": "department_code",
"value": "DEPARTMENT-20191001-0000017"
}
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
},
{
"name": "Filter by Allowed Company Form",
"item": [
{
"name": "List of Company",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-companies/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-companies",
""
]
}
},
"response": []
},
{
"name": "List of Company for FIlters",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-companies/filter/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-companies",
"filter",
""
]
}
},
"response": []
},
{
"name": "List of Department",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-departments/?company_code=COMPANY-20190923-0000001",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-departments",
""
],
"query": [
{
"key": "company_code",
"value": "COMPANY-20190923-0000001"
}
]
}
},
"response": []
},
{
"name": "List of User ",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/form-user-list/?department_code=DEPARTMENT-20191001-0000017",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form-user-list",
""
],
"query": [
{
"key": "department_code",
"value": "DEPARTMENT-20191001-0000017"
}
]
}
},
"response": []
},
{
"name": "List of templates ",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/allowed-templates/?department_code=DEPARTMENT-20190923-0000001",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"allowed-templates",
""
],
"query": [
{
"key": "department_code",
"value": "DEPARTMENT-20190923-0000001"
}
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
}
]
},
{
"name": "Notifications",
"item": [
{
"name": "List Notifications by account_no",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/notifications/?account_no=USER-20191025-0000155&app=ams",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"notifications",
""
],
"query": [
{
"key": "account_no",
"value": "USER-20191025-0000155"
},
{
"key": "app",
"value": "ams"
}
]
}
},
"response": []
},
{
"name": "Update Read Status by ids",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"ids\": [5]\n}"
},
"url": {
"raw": "{{baseurl}}/management/notifications/USER-20190927-0000011/seen/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"notifications",
"USER-20190927-0000011",
"seen",
""
]
}
},
"response": []
},
{
"name": "Update Read Status by account_no",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"type": "text",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/management/notifications/USER-20190927-0000011/seenall/",
"host": [
"{{baseurl}}"
],
"path": [
"management",
"notifications",
"USER-20190927-0000011",
"seenall",
""
]
}
},
"response": []
}
]
},
{
"name": "Auto Emails",
"item": [
{
"name": "List of Today Reminders",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/reminder/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"reminder",
""
]
}
},
"response": []
},
{
"name": "List of Today Cancelled",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/cancelled/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"cancelled",
""
]
}
},
"response": []
},
{
"name": "List of Today Ovedues",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/change-request/overdue/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"overdue",
""
]
}
},
"response": []
}
]
},
{
"name": "Asset Management",
"item": [
{
"name": "Asset Groups",
"item": [
{
"name": "Create Asset Group",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Asset Group 1\",\n\t\"asset_group\": \"JTC\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
""
]
}
},
"response": []
},
{
"name": "Edit Asset Group",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\"name\": \"Asset Group 3\",\n\t\"asset_group\": \"JTCs\"\n}"
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/AMSGRP-20191025-0000002/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
"AMSGRP-20191025-0000002",
""
]
}
},
"response": []
},
{
"name": "Delete Asset Group",
"request": {
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/AMSGRP-20191025-0000002/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
"AMSGRP-20191025-0000002",
""
]
}
},
"response": []
},
{
"name": "View Asset Group",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/AMSGRP-20191025-0000002/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
"AMSGRP-20191025-0000002",
""
]
}
},
"response": []
},
{
"name": "List Asset Group",
"request": {
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{baseurl}}/asset-management/asset-group/",
"host": [
"{{baseurl}}"
],
"path": [
"asset-management",
"asset-group",
""
]
}
},
"response": []
}
],
"_postman_isSubFolder": true
}
]
}
],
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "bd68a319578c0edd6cdd8a9c46e53767dbd898c0",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"id": "ab5de420-cb55-4194-97ae-c22e953c38ce",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "6de844e2-8111-4f18-ac32-517a9571afb2",
"type": "text/javascript",
"exec": [
""
]
}
}
]
}
\ No newline at end of file
...@@ -71,8 +71,6 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -71,8 +71,6 @@ class UserViewSet(viewsets.ModelViewSet):
if request.data['user_type'] != 'USR': if request.data['user_type'] != 'USR':
rms = Application.objects.filter(id=1).values('code').first() rms = Application.objects.filter(id=1).values('code').first()
app.append(rms['code']) app.append(rms['code'])
# else:
# app = request.data['application']
...@@ -236,191 +234,189 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -236,191 +234,189 @@ class UserViewSet(viewsets.ModelViewSet):
# @rms.user_create # @rms.user_create
@action(detail=False, # @action(detail=False,
methods=['put'], # methods=['put'],
url_path='batch-upload', # url_path='batch-upload',
name="upload User") # name="upload User")
# @decorators.error_safe # @decorators.error_safe
@transaction.atomic # @transaction.atomic
def BatchUpload(self, request): # def BatchUpload(self, request):
csv_file = request.FILES['file'] # csv_file = request.FILES['file']
df = pd.read_csv(csv_file, sep=',', skiprows=0) # df = pd.read_csv(csv_file, sep=',', skiprows=0)
logged_user_type = request.user.user_type # logged_user_type = request.user.user_type
logged_user_company = request.user.department.company.name # logged_user_company = request.user.department.company.name
logged_user_department = request.user.department.name # logged_user_department = request.user.department.name
logged_user_email = request.user.email # logged_user_email = request.user.email
email_users = [] # email_users = []
for data, keys in df.iterrows(): # for data, keys in df.iterrows():
try: # try:
user_department = Department.objects.filter( # user_department = Department.objects.filter(
Q(name__icontains=keys['department']) & # Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company) # Q(company__name__icontains=logged_user_company)
).first() # ).first()
if logged_user_type == 'CUA': # if logged_user_type == 'CUA':
user_department = Department.objects.filter( # user_department = Department.objects.filter(
Q(name__icontains=keys['department']) & # Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company) # Q(company__name__icontains=logged_user_company)
).first() # ).first()
if user_department == None: # if user_department == None:
msg = f"company is not the same with the logged user at row {data + 2}" # msg = f"company is not the same with the logged user at row {data + 2}"
return Response( # return Response(
{"message": msg}, # {"message": msg},
status=status.HTTP_400_BAD_REQUEST # status=status.HTTP_400_BAD_REQUEST
) # )
elif logged_user_type == 'DUA': # elif logged_user_type == 'DUA':
user_department = Department.objects.get( # user_department = Department.objects.get(
name__icontains=logged_user_department # name__icontains=logged_user_department
) # )
elif logged_user_type == 'USR': # elif logged_user_type == 'USR':
return Response( # return Response(
{"message": "Logged User is not allowed"}, # {"message": "Logged User is not allowed"},
status=status.HTTP_400_BAD_REQUEST # status=status.HTTP_400_BAD_REQUEST
) # )
else: # else:
user_department = Department.objects.get( # user_department = Department.objects.get(
name__icontains=keys['department'] # name__icontains=keys['department']
) # )
default_app = Application.objects.filter( # default_app = Application.objects.filter(
excel_code=keys['default_app'] # excel_code=keys['default_app']
).first() # ).first()
enums_super = enums.UserTypeEnum.SUPER_USER.value # enums_super = enums.UserTypeEnum.SUPER_USER.value
enums_OUA = enums.UserTypeEnum.OVERALL_USER_ADMIN.value # enums_OUA = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value # enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value # enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
enums_user = enums.UserTypeEnum.USER.value # enums_user = enums.UserTypeEnum.USER.value
if keys['user_type'].lower() == 'super user' and logged_user_type == enums_super: # if keys['user_type'].lower() == 'super user' and logged_user_type == enums_super:
user_type = enums.UserTypeEnum.SUPER_USER.value # user_type = enums.UserTypeEnum.SUPER_USER.value
elif keys['user_type'].lower() == 'super user' and logged_user_type != enums_super: # elif keys['user_type'].lower() == 'super user' and logged_user_type != enums_super:
return Response( # return Response(
{"message": f"This user is not allowed to create super user. data error at row {data + 2}"}, # {"message": f"This user is not allowed to create super user. data error at row {data + 2}"},
status=status.HTTP_201_CREATED # status=status.HTTP_201_CREATED
) # )
elif keys['user_type'].lower() == 'overall user admin': # elif keys['user_type'].lower() == 'overall user admin':
user_type = enums.UserTypeEnum.OVERALL_USER_ADMIN.value # user_type = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
elif keys['user_type'].lower() == 'company user admin': # elif keys['user_type'].lower() == 'company user admin':
user_type = enums.UserTypeEnum.COMPANY_USER_ADMIN.value # user_type = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
elif keys['user_type'].lower() == 'department user admin': # elif keys['user_type'].lower() == 'department user admin':
user_type = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value # user_type = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
else: # else:
user_type = enums.UserTypeEnum.USER.value # user_type = enums.UserTypeEnum.USER.value
users = { # users = {
"username": keys['username'], # "username": keys['username'],
"name": keys['name'], # "name": keys['name'],
"department": user_department, # "department": user_department,
"email": keys['email'], # "email": keys['email'],
"contact_no": keys['contact_no'], # "contact_no": keys['contact_no'],
"default_app": default_app, # "default_app": default_app,
"user_type": user_type # "user_type": user_type
} # }
current_user = User.objects.create( # current_user = User.objects.create(
**users # **users
) # )
password = User.objects.make_random_password(length=10) # password = User.objects.make_random_password(length=10)
password_hash = make_password(password) # password_hash = make_password(password)
current_user.password = password_hash # current_user.password = password_hash
current_user.save() # current_user.save()
app = Application.objects.filter( # app = Application.objects.filter(
excel_code__in=keys['application'].split(',') # excel_code__in=keys['application'].split(',')
) # )
update_user = current_user.application.set(app) # update_user = current_user.application.set(app)
for instance in keys['privilege'].split(';'): # for instance in keys['privilege'].split(';'):
privilege_list = instance.split(',') # privilege_list = instance.split(',')
this_company = Company.objects.filter( # this_company = Company.objects.filter(
name__icontains=privilege_list[0] # name__icontains=privilege_list[0]
).first() # ).first()
this_department = Department.objects.filter( # this_department = Department.objects.filter(
name__icontains=privilege_list[1] # name__icontains=privilege_list[1]
).first() # ).first()
if privilege_list[2] == 0: # if privilege_list[2] == 0:
privilege_list[2] = False # privilege_list[2] = False
else: # else:
privilege_list[2] = True # privilege_list[2] = True
if privilege_list[3] == 0: # if privilege_list[3] == 0:
privilege_list[3] = False # privilege_list[3] = False
else: # else:
privilege_list[3] = True # privilege_list[3] = True
if privilege_list[4] == 0: # if privilege_list[4] == 0:
privilege_list[4] = False # privilege_list[4] = False
else: # else:
privilege_list[4] = True # privilege_list[4] = True
current_user = User.objects.get(id=current_user.id) # current_user = User.objects.get(id=current_user.id)
try: # try:
privilege_object = { # privilege_object = {
"id_number": current_user, # "id_number": current_user,
"company_pivot": this_company, # "company_pivot": this_company,
"group_pivots": this_department, # "group_pivots": this_department,
"create_change_request": privilege_list[2], # "create_change_request": privilege_list[2],
"create_change_request_template": privilege_list[3], # "create_change_request_template": privilege_list[3],
"view_all_change_request": privilege_list[4], # "view_all_change_request": privilege_list[4],
"approve_cr": privilege_list[5] # "approve_cr": privilege_list[5]
} # }
AllowedCompany.objects.create(**privilege_object) # AllowedCompany.objects.create(**privilege_object)
except IntegrityError as e: # except IntegrityError as e:
return Response( # return Response(
{"message": f"Duplicate user privilege at row {data + 2}"}, # {"message": f"Duplicate user privilege at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST # status=status.HTTP_400_BAD_REQUEST
) # )
except IntegrityError as e: # except IntegrityError as e:
return Response( # return Response(
{"message": f"Record already exist at row {data + 2}"}, # {"message": f"Record already exist at row {data + 2}"},
status=status.HTTP_400_BAD_REQUEST # status=status.HTTP_400_BAD_REQUEST
) # )
except KeyError as e: # except KeyError as e:
return Response( # return Response(
{"message": "Missing column user_type"}, # {"message": "Missing column user_type"},
status=status.HTTP_400_BAD_REQUEST # status=status.HTTP_400_BAD_REQUEST
) # )
del users['department'] # del users['department']
del users['contact_no'] # del users['contact_no']
del users['default_app'] # del users['default_app']
del users['user_type'] # del users['user_type']
users['password'] = password # users['password'] = password
UserHistory.objects.create( # UserHistory.objects.create(
**users # **users
) # )
users['admin'] = logged_user_email # users['admin'] = logged_user_email
# email_users.push({**users})
# send_mail = UserHistory.objects.filter(sent=False)[0:100].values(
send_mail = UserHistory.objects.filter(sent=False)[0:100].values( # 'name', 'username', 'email', 'password'
'name', 'username', 'email', 'password' # )
)
# print(send_mail) # df = pd.DataFrame(send_mail)
# df.to_csv("users.csv", index=False)
df = pd.DataFrame(send_mail)
df.to_csv("users.csv", index=False)
# args = ["users.csv", logged_user_email]
# main_threading(args, sender.batch_email_admin)
args = ["users.csv", logged_user_email]
main_threading(args, sender.batch_email_admin) # args = [send_mail, logged_user_email]
# main_threading(args, sender.batch_email_users)
args = [send_mail, logged_user_email]
main_threading(args, sender.batch_email_users) # return Response(
# {"message": "File already uploaded"},
return Response( # status=status.HTTP_201_CREATED
{"message": "File already uploaded"}, # )
status=status.HTTP_201_CREATED
)
......
from rest_framework import serializers
from app.entities.models import ExtractTransformLoad, UserHistory
# import ast
class ExtractTransformLoadSerializer(serializers.ModelSerializer):
class Meta:
model = ExtractTransformLoad
fields = '__all__'
read_only_fields = (
'created', 'createdby', 'modified', 'modifiedby', 'code',
)
class UserHistorySerializer(serializers.ModelSerializer):
class Meta:
model = UserHistory
fields = '__all__'
read_only_fields = (
'created', 'createdby', 'modified', 'code'
)
import copy
import threading
import pandas as pd
import csv
import io, os
from app.entities import enums
from django.db import transaction
from app.helper import decorators
from django.db import IntegrityError
from app.helper.email_service import sender
from rest_framework import status, viewsets
from rest_framework.response import Response
from app.applicationlayer.management.batchupload.serializer import (
ExtractTransformLoadSerializer,
UserHistorySerializer
)
from app.entities.models import (
User, Application, ExtractTransformLoad,
AllowedCompany, Company, Department, UserHistory
)
from app.applicationlayer.utils import (
CustomPagination, status_message_response,
main_threading
)
from rest_framework.exceptions import ParseError
from django.db.models import Q
from rest_framework.decorators import action
from django.contrib.auth.hashers import make_password
from app.entities import enums
class BatchUploadViewSet(viewsets.ModelViewSet):
queryset = ExtractTransformLoad.objects.all()
serializer_class = ExtractTransformLoadSerializer
pagination_class = CustomPagination
lookup_field = 'code'
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
@action(
detail=True, methods=['get'],
url_path='users', name='list of batch upload users'
)
def Users(self, request, code=None):
self.serializer_class = UserHistorySerializer
queryset = UserHistory.objects.filter(file_name=code)
page = self.paginate_queryset(queryset)
# if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Change Request Form found',
serializer.data
)
return self.get_paginated_response(message)
# @decorators.error_safe
@transaction.atomic
def create(self, request, *args, **kwargs):
csv_file = request.FILES['file']
df = pd.read_csv(csv_file, sep=',', skiprows=0)
logged_user_type = request.user.user_type
logged_user_company = request.user.department.company.name
logged_user_department = request.user.department.name
logged_user_email = request.user.email
email_users = []
print(csv_file)
etl = ExtractTransformLoad.objects.create(
file_name=str(csv_file),
model_type=enums.GenerateCode.USER.value
)
print(etl.id)
etl2 = ExtractTransformLoad.objects.get(id=etl.id)
for data, keys in df.iterrows():
try:
user_department = Department.objects.filter(
Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company)
).first()
if logged_user_type == 'CUA':
user_department = Department.objects.filter(
Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company)
).first()
if user_department == None:
msg = f"company is not the same with the logged user at row {data + 2}"
return Response(
{"message": msg},
status=status.HTTP_400_BAD_REQUEST
)
elif logged_user_type == 'DUA':
user_department = Department.objects.get(
name__icontains=logged_user_department
)
elif logged_user_type == 'USR':
return Response(
{"message": "Logged User is not allowed"},
status=status.HTTP_400_BAD_REQUEST
)
else:
user_department = Department.objects.get(
name__icontains=keys['department']
)
default_app = Application.objects.filter(
excel_code=keys['default_app']
).first()
enums_super = enums.UserTypeEnum.SUPER_USER.value
enums_OUA = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
enums_user = enums.UserTypeEnum.USER.value
if keys['user_type'].lower() == 'super user' and logged_user_type == enums_super:
user_type = enums.UserTypeEnum.SUPER_USER.value
elif keys['user_type'].lower() == 'super user' and logged_user_type != enums_super:
return Response(
{"message": f"This user is not allowed to create super user. data error at row {data + 2}"},
status=status.HTTP_201_CREATED
)
elif keys['user_type'].lower() == 'overall user admin':
user_type = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
elif keys['user_type'].lower() == 'company user admin':
user_type = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
elif keys['user_type'].lower() == 'department user admin':
user_type = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
else:
user_type = enums.UserTypeEnum.USER.value
users = {
"username": keys['username'],
"name": keys['name'],
"department": user_department,
"email": keys['email'],
"contact_no": keys['contact_no'],
"default_app": default_app,
"user_type": user_type
}
current_user = User.objects.create(
**users
)
password = User.objects.make_random_password(length=10)
password_hash = make_password(password)
current_user.password = password_hash
current_user.save()
app = Application.objects.filter(
excel_code__in=keys['application'].split(',')
)
update_user = current_user.application.set(app)
for instance in keys['privilege'].split(';'):
privilege_list = instance.split(',')
this_company = Company.objects.filter(
name__icontains=privilege_list[0]
).first()
this_department = Department.objects.filter(
name__icontains=privilege_list[1]
).first()
if privilege_list[2] == 0:
privilege_list[2] = False
else:
privilege_list[2] = True
if privilege_list[3] == 0:
privilege_list[3] = False
else:
privilege_list[3] = True
if privilege_list[4] == 0:
privilege_list[4] = False
else:
privilege_list[4] = True
current_user = User.objects.get(id=current_user.id)
try:
privilege_object = {
"id_number": current_user,
"company_pivot": this_company,
"group_pivots": this_department,
"create_change_request": privilege_list[2],
"create_change_request_template": privilege_list[3],
"view_all_change_request": privilege_list[4],
"approve_cr": privilege_list[5]
}
AllowedCompany.objects.create(**privilege_object)
except IntegrityError as e:
return Response(
# {"message": f"Duplicate user privilege at row {data + 2}"},
{"message": str(e)},
status=status.HTTP_400_BAD_REQUEST
)
except IntegrityError as e:
return Response(
# {"message": f"Record already exist at row {data + 2}"},
{"message": str(e)},
status=status.HTTP_400_BAD_REQUEST
)
except KeyError as e:
return Response(
{"message": "Missing column user_type"},
status=status.HTTP_400_BAD_REQUEST
)
del users['department']
del users['contact_no']
del users['default_app']
del users['user_type']
# users['file_name'] = etl.code
users['password'] = password
# print(users)
print(etl2.code)
UserHistory.objects.create(
**users,
file_name=etl2
)
users['admin'] = logged_user_email
# email_users.push({**users})
send_mail = UserHistory.objects.filter(sent=False)[0:100].values(
'name', 'username', 'email', 'password'
)
# print(send_mail)
df = pd.DataFrame(send_mail)
df.to_csv("users.csv", index=False)
args = ["users.csv", logged_user_email]
main_threading(args, sender.batch_email_admin)
args = [send_mail, logged_user_email, etl.code]
main_threading(args, sender.batch_email_users)
return Response(
{"message": "File already uploaded"},
status=status.HTTP_201_CREATED
)
...@@ -7,6 +7,7 @@ from app.applicationlayer.management.company.views import CompanyViewSet ...@@ -7,6 +7,7 @@ from app.applicationlayer.management.company.views import CompanyViewSet
from app.applicationlayer.management.department.views import DepartmentViewSet from app.applicationlayer.management.department.views import DepartmentViewSet
from app.applicationlayer.management.module.views import ModuleViewSet from app.applicationlayer.management.module.views import ModuleViewSet
from app.applicationlayer.management.account.views import UserViewSet from app.applicationlayer.management.account.views import UserViewSet
from app.applicationlayer.management.batchupload.views import BatchUploadViewSet
from app.businesslayer.company.views import AdminCompanyViewSet from app.businesslayer.company.views import AdminCompanyViewSet
from app.applicationlayer.management.notification.views import NotificationsViewset from app.applicationlayer.management.notification.views import NotificationsViewset
from app.applicationlayer.management.delegation.views import DelegationViewSet from app.applicationlayer.management.delegation.views import DelegationViewSet
...@@ -28,6 +29,7 @@ router.register(r'user-download', UserDownloadRequest) ...@@ -28,6 +29,7 @@ router.register(r'user-download', UserDownloadRequest)
router.register(r'department-download', DepartmentDownloadRequest) router.register(r'department-download', DepartmentDownloadRequest)
router.register(r'company-download', CompanyDownloadRequest) router.register(r'company-download', CompanyDownloadRequest)
router.register(r'delegations', DelegationViewSet) router.register(r'delegations', DelegationViewSet)
router.register(r'extract-transform-load', BatchUploadViewSet)
urlpatterns = ( urlpatterns = (
path('', include(router.urls)), path('', include(router.urls)),
......
...@@ -41,6 +41,7 @@ class GenerateCode(Enum): ...@@ -41,6 +41,7 @@ class GenerateCode(Enum):
FORM_STAKE = 'FRMSTK' FORM_STAKE = 'FRMSTK'
FORM_ATTACH = 'FRMATCH' FORM_ATTACH = 'FRMATCH'
FORM_DETAIL = 'FRMDETAIL' FORM_DETAIL = 'FRMDETAIL'
ETL = 'ETL'
ASSET_GROUP = 'AMSGRP' ASSET_GROUP = 'AMSGRP'
......
# Generated by Django 2.2 on 2019-11-13 10:16
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0038_auto_20191112_1457'),
]
operations = [
migrations.CreateModel(
name='ExtractTransformLoad',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True)),
('createdby', models.CharField(max_length=255)),
('modified', models.DateTimeField(auto_now=True)),
('modifiedby', models.CharField(max_length=255)),
('file_name', models.CharField(max_length=255)),
('model_type', models.CharField(choices=[('APP', 'APP'), ('MODULE', 'MODULE'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('USER', 'USER'), ('DELEGATION', 'DELEGATION'), ('NOTIF', 'NOTIF'), ('TMP', 'TMP'), ('TMPAPR', 'TMPAPR'), ('TMPSTK', 'TMPSTK'), ('TMPATCH', 'TMPATCH'), ('TMPDETAIL', 'TMPDETAIL'), ('FRM', 'FRM'), ('FRMAPR', 'FRMAPR'), ('FRMSTK', 'FRMSTK'), ('FRMATCH', 'FRMATCH'), ('FRMDETAIL', 'FRMDETAIL'), ('ETL', 'ETL'), ('AMSGRP', 'AMSGRP')], default='USER', max_length=100)),
('code', models.CharField(blank=True, max_length=255, null=True, unique=True)),
],
options={
'db_table': 'csv_filenames',
},
),
migrations.AddField(
model_name='userhistory',
name='file_name',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='extract_transform_load', to='entities.ExtractTransformLoad', to_field='code'),
),
]
...@@ -238,9 +238,50 @@ class RolePermission(AuditClass): ...@@ -238,9 +238,50 @@ class RolePermission(AuditClass):
class Meta: class Meta:
db_table = 'role_permissions' db_table = 'role_permissions'
class ExtractTransformLoad(AuditClass):
file_name = models.CharField(max_length=255)
model_type = models.CharField(
choices=[(tag.value, tag.value) for tag in enums.GenerateCode],
default=enums.GenerateCode.USER.value,
max_length=100
)
code = models.CharField(
unique=True,
max_length=255,
blank=True,
null=True
)
class Meta:
db_table = 'csv_filenames'
def __str__(self):
return f'{self.file_name}'
def save(self, *args, **kwargs):
super(ExtractTransformLoad, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.ETL.value, self.id)
print(type(self.code))
if self.code == '' or self.code == None:
self.code = code
self.save()
class UserHistory(AuditClass): class UserHistory(AuditClass):
file_name = models.ForeignKey(
ExtractTransformLoad,
to_field='code',
related_name='extract_transform_load',
on_delete=models.DO_NOTHING,
blank=True,
null=True
)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
username = models.CharField(max_length=255, unique=True) username = models.CharField(max_length=255, unique=True)
email = models.EmailField(max_length=255, unique=False) email = models.EmailField(max_length=255, unique=False)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment