Commit dbbe60b5 authored by Internship UKSW 2019's avatar Internship UKSW 2019

Initial commit

parent 1b813cfe
...@@ -41,13 +41,16 @@ body { ...@@ -41,13 +41,16 @@ body {
} }
.background-grey2 { .background-grey2 {
background: rgb(85, 85, 85); background: rgb(85, 85, 85);
width: 100%; height: 100%;
} }
.scrolling-wrapper { .scrolling-wrapper {
overflow-x: scroll; overflow-x: scroll;
overflow-y: hidden; overflow-y: hidden;
white-space: nowrap; white-space: nowrap;
} }
.border-bottom{
border-bottom: 1px solid black;
}
.headerPreview { .headerPreview {
width: 21cm; width: 21cm;
margin: 0 auto; margin: 0 auto;
...@@ -55,9 +58,23 @@ body { ...@@ -55,9 +58,23 @@ body {
text-align: right; text-align: right;
} }
.A4 { .A4 {
background: white;
width: 21cm;
height: 29.7cm;
display: block;
margin: 0 auto;
padding: 50px 70px;
margin-bottom: 0.5cm;
/* box-shadow: 0 0 0.5cm rgba(0, 0, 0, 0.5); */
/* overflow-y: scroll; */
box-sizing: border-box;
font-size: 12pt;
page-break-after: always;
}
.A4-2 {
background: white; background: white;
width: 21cm; width: 21cm;
height: 29.7cm; /* height: 29.7cm; */
display: block; display: block;
margin: 0 auto; margin: 0 auto;
padding: 50px 70px; padding: 50px 70px;
...@@ -66,30 +83,9 @@ body { ...@@ -66,30 +83,9 @@ body {
/* overflow-y: scroll; */ /* overflow-y: scroll; */
box-sizing: border-box; box-sizing: border-box;
font-size: 12pt; font-size: 12pt;
} page-break-after: always;
}
@media print { .footer-page {
.page-break { position: absolute;
display: block; top: 29cm;
page-break-before: always; }
} \ No newline at end of file
}
@media print {
body {
margin: 0;
padding: 0;
}
.A4 {
box-shadow: none;
margin: 0;
width: auto;
height: auto;
}
.noprint {
display: none;
}
.enable-print {
display: block;
}
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
...@@ -77,13 +77,18 @@ class FormPublish extends Component { ...@@ -77,13 +77,18 @@ class FormPublish extends Component {
let responseDataAuditTrail = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/trailkey/' + doc_id, { headers: { 'Content-Type': 'application/xml' } }) let responseDataAuditTrail = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/trailkey/' + doc_id, { headers: { 'Content-Type': 'application/xml' } })
let dataAuditTrail = responseDataAuditTrail.data.trailCollection.trail; let dataAuditTrail = responseDataAuditTrail.data.trailCollection.trail;
// Check is user valid to open the document // Check is user valid to open the document
if (dataRevision[dataRevision.length - 1].status == "Waiting for Publish" || dataAuditTrail[dataAuditTrail.length-1].trail_status == "Document Published") { if (dataRevision[dataRevision.length - 1].status == "Waiting for Publish" || dataAuditTrail[dataAuditTrail.length - 1].trail_status == "Document Published") {
isDocFound = true; isDocFound = true;
let creator_name, creator_email; let creator_name, creator_email;
let responseDataUser = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/userkeyid/' + user_id, { headers: { 'Content-Type': 'application/xml' } }) let responseDataUser = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/userkeyid/' + user_id, { headers: { 'Content-Type': 'application/xml' } })
let dataUser = responseDataUser.data.user_dataCollection.user_data; let dataUser = responseDataUser.data.user_dataCollection.user_data;
creator_name = dataUser[0].user_name; if (dataUser != undefined) {
creator_email = dataUser[0].email; creator_name = dataUser[0].user_name;
creator_email = dataUser[0].email;
} else {
creator_name = "";
creator_email = "";
}
if (dataRevision[dataRevision.length - 1].status == "Document Published") { if (dataRevision[dataRevision.length - 1].status == "Document Published") {
await this.setState({ statusPublish: true }); await this.setState({ statusPublish: true });
} }
...@@ -191,25 +196,62 @@ class FormPublish extends Component { ...@@ -191,25 +196,62 @@ class FormPublish extends Component {
await this.setState({ submitForm: true, validSubmitPublish: false }); await this.setState({ submitForm: true, validSubmitPublish: false });
var js2xmlparser = require('js2xmlparser'); var js2xmlparser = require('js2xmlparser');
var parseString = require('xml2js').parseString; var parseString = require('xml2js').parseString;
let responseDataAllUser = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/user', { headers: { 'accept': 'application/xml' } })
let dataAllUser;
parseString(responseDataAllUser.data, function (err, result) {
dataAllUser = result.user_dataCollection.user_data;
})
let dataComplianceOfficer = {
"user_name": "",
"email": ""
};
let dataManagementRepresentative = [];
for (let i = 0; i < dataAllUser.length; i++) {
if (dataAllUser[i].user_role[0].includes("Compliance Officer")) {
dataComplianceOfficer.user_name = dataAllUser[i].user_name[0];
dataComplianceOfficer.email = dataAllUser[i].email[0];
}
if (dataAllUser[i].user_role[0].includes("Management Representative")) {
let dataRowManagementRepresentative = {
"user_name": dataAllUser[i].user_name[0],
"email": dataAllUser[i].email[0]
}
dataManagementRepresentative.push(dataRowManagementRepresentative);
}
}
if (actionPublish == "Publish Document") { if (actionPublish == "Publish Document") {
// //Send Email Notification let sendEmailPublish = this.state.creator_email;
// let postdataEmailPublish = { if (!sendEmailPublish.includes(JSON.parse(this.state.approver).Email)) {
// "subject": "Dokumen " + this.state.businessUnit + "-" + this.state.documentType + "-" + this.state.revisionCode + "-" + this.state.subject + " Sudah Dipublish", if (sendEmailPublish != "") {
// "emailcc": JSON.parse(localStorage.getItem("dataLogin")).email[0], sendEmailPublish = sendEmailPublish + ", " + JSON.parse(this.state.approver).Email;
// "emailsend": this.state.creator_email, } else {
// "message": "<p>Dengan hormat,</p> \ sendEmailPublish = JSON.parse(this.state.approver).Email;
// <p>Terdapat pengajuan dokumen dengan No." + this.state.businessUnit + "-" + this.state.documentType + "-" + this.state.revisionCode + " " + this.state.subject + " yang diajukan oleh " + this.state.creator_name + " telah dipublish.<br /> Untuk melihat dokumen, silahkan klik link berikut <a href='http://10.10.86.48:3000' target='_blank'>Link Dokumen</a></p> \ }
// <p>Terimakasih</p> \ }
// <p>Regards, \ if (dataManagementRepresentative.length != 0) {
// <p>Admin</p><br /> \ for (let i = 0; i < dataManagementRepresentative.length; i++) {
// <p><i>Ini adalah email otomatis, harap jangan me-reply ke alamat email ini</i></p>" if (!sendEmailPublish.includes(dataManagementRepresentative[i].email)) {
// } sendEmailPublish = sendEmailPublish + ", " + JSON.parse(this.state.approver).Email;
// // process.env.REACT_APP_MAIN_APIURL + }
// let responseSendEmailPublish = await fetch('http://localhost:9000/email', { }
// headers: { 'Content-Type': 'application/json' }, }
// method: 'POST', //Send Email Notification After Publish
// body: JSON.stringify(postdataEmailPublish) let postdataEmailAfterPublish = {
// }) "subject": "Dokumen " + this.state.businessUnit + "-" + this.state.documentType + "-" + this.state.revisionCode + "-" + this.state.subject + " Sudah Dipublish",
"emailcc": JSON.parse(localStorage.getItem("dataLogin")).email[0],
"emailsend": sendEmailPublish,
"message": "<p>Dengan hormat,</p> \
<p>Dokumen dengan No." + this.state.businessUnit + "-" + this.state.documentType + "-" + this.state.revisionCode + " " + this.state.subject + " yang diajukan oleh " + this.state.creator_name + " telah dipublish.<br /> Untuk melihat dokumen, silahkan klik link berikut <a href='http://10.10.86.48:3000' target='_blank'>Link Dokumen</a></p> \
<p>Terimakasih</p> \
<p>Regards,</p> \
<p>Admin</p><br /> \
<p><i>Ini adalah email otomatis, harap jangan me-reply ke alamat email ini</i></p>"
}
let responseSendEmailAfterPublish = await fetch(process.env.REACT_APP_MAIN_APIURL + '/email', {
headers: { 'Content-Type': 'application/json' },
method: 'POST',
body: JSON.stringify(postdataEmailAfterPublish)
})
} }
let responseDataRevision = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/revisionkey/' + this.state.doc_id, { headers: { 'Content-Type': 'application/xml' } }) let responseDataRevision = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/revisionkey/' + this.state.doc_id, { headers: { 'Content-Type': 'application/xml' } })
let dataRevision = responseDataRevision.data.revisionCollection.revision; let dataRevision = responseDataRevision.data.revisionCollection.revision;
......
This diff is collapsed.
...@@ -71,7 +71,7 @@ class YourDocument extends Component { ...@@ -71,7 +71,7 @@ class YourDocument extends Component {
if ((dataRevision[dataRevision.length - 1].status.includes("Waiting for Approval") || dataRevision[dataRevision.length - 1].status.includes("Waiting for Approver") || dataRevision[dataRevision.length - 1].status.includes("Additional Approver")) && dataAllDocument[i].doc_status[0] == "New") { if ((dataRevision[dataRevision.length - 1].status.includes("Waiting for Approval") || dataRevision[dataRevision.length - 1].status.includes("Waiting for Approver") || dataRevision[dataRevision.length - 1].status.includes("Additional Approver")) && dataAllDocument[i].doc_status[0] == "New") {
if ( if (
(dataRevision[dataRevision.length - 1].status == "Waiting for Approval - " + JSON.parse(localStorage.getItem("dataLogin")).user_name[0] && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Approver")) || (dataRevision[dataRevision.length - 1].status == "Waiting for Approval - " + JSON.parse(localStorage.getItem("dataLogin")).user_name[0] && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Approver")) ||
(dataRevision[dataRevision.length - 1].status == "Waiting for Approval - " + JSON.parse(localStorage.getItem("dataLogin")).user_name[0] && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Compliance Officer")) || ((dataRevision[dataRevision.length - 1].status == "Waiting for Approval - " + JSON.parse(localStorage.getItem("dataLogin")).user_name[0] || dataRevision[dataRevision.length - 1].status == "Waiting for Approval - Compliance Officer") && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Compliance Officer")) ||
(dataRevision[dataRevision.length - 1].status == "Waiting for Approval - Management Representative" && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Management Representative")) || (dataRevision[dataRevision.length - 1].status == "Waiting for Approval - Management Representative" && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Management Representative")) ||
(dataRevision[dataRevision.length - 1].status == "Waiting for Additional Approver" && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Compliance Officer") || (dataRevision[dataRevision.length - 1].status == "Waiting for Additional Approver" && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Compliance Officer") ||
(dataRevision[dataRevision.length - 1].status.includes(JSON.parse(localStorage.getItem('dataLogin')).user_name[0])) && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Additional Approver")) (dataRevision[dataRevision.length - 1].status.includes(JSON.parse(localStorage.getItem('dataLogin')).user_name[0])) && JSON.parse(localStorage.getItem('dataLogin')).user_role[0].includes("Additional Approver"))
......
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