Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PERFORMA_REPLICA
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Usman
PERFORMA_REPLICA
Commits
bde271d9
Commit
bde271d9
authored
Sep 11, 2019
by
Chamath
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SaveMessageAsCopy service and SaveWorkflowAsCopy service added.
parent
b64f7aeb
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
222 additions
and
21 deletions
+222
-21
MessageTemplate.xml
cmsWebApp/sql/MessageTemplate.xml
+1
-1
MessageTemplate.sql
cmsWebApp/sql/ms/MessageTemplate.sql
+1
-1
MessageTemplate.sql
cmsWebApp/sql/oracle/MessageTemplate.sql
+1
-1
MessageTemplate.sql
cmsWebApp/sql/postgres/MessageTemplate.sql
+1
-1
BaseMessageTemplate.java
cmsWebApp/src/performa/orm/BaseMessageTemplate.java
+5
-3
MessageTemplate.java
cmsWebApp/src/performa/orm/MessageTemplate.java
+29
-0
MessageTemplate.xml
cmsWebApp/src/performa/orm/MessageTemplate.xml
+1
-1
WorkFlowTemplate.java
cmsWebApp/src/performa/orm/WorkFlowTemplate.java
+28
-13
SaveMessageAsCopy.java
cmsWebApp/src/performa/ws/SaveMessageAsCopy.java
+73
-0
SaveWorkflowAsCopy.java
cmsWebApp/src/performa/ws/SaveWorkflowAsCopy.java
+73
-0
GeneralConfig_performa.xml
...pp/webroot/extensions/performa/GeneralConfig_performa.xml
+9
-0
No files found.
cmsWebApp/sql/MessageTemplate.xml
View file @
bde271d9
...
...
@@ -17,7 +17,7 @@
<column
name=
"variance"
type=
"Long"
nullable=
"true"
/>
<column
name=
"business_hours_only"
type=
"Boolean"
nullable=
"true"
/>
<column
name=
"message_content"
type=
"CLOB"
nullable=
"false"
/>
<column
name=
"template_type"
type=
"String"
nullable=
"
tru
e"
length=
"200"
/>
<column
name=
"template_type"
type=
"String"
nullable=
"
fals
e"
length=
"200"
/>
<column
name=
"is_global_template"
type=
"Boolean"
nullable=
"true"
/>
<column
name=
"is_system_generated"
type=
"Boolean"
nullable=
"true"
/>
<column
name=
"hiring_team_id"
type=
"Long"
length=
"11"
nullable=
"true"
/>
...
...
cmsWebApp/sql/ms/MessageTemplate.sql
View file @
bde271d9
...
...
@@ -17,7 +17,7 @@ CREATE TABLE tl_message_template (
variance
numeric
(
12
)
NULL
,
business_hours_only
char
(
1
)
NULL
,
message_content
text
NOT
NULL
,
template_type
varchar
(
200
)
NULL
,
template_type
varchar
(
200
)
N
OT
N
ULL
,
is_global_template
char
(
1
)
NULL
,
is_system_generated
char
(
1
)
NULL
,
hiring_team_id
numeric
(
12
)
NULL
...
...
cmsWebApp/sql/oracle/MessageTemplate.sql
View file @
bde271d9
...
...
@@ -18,7 +18,7 @@ CREATE TABLE tl_message_template (
variance
number
(
12
)
NULL
,
business_hours_only
char
(
1
)
NULL
,
message_content
clob
NOT
NULL
,
template_type
varchar2
(
200
)
NULL
,
template_type
varchar2
(
200
)
N
OT
N
ULL
,
is_global_template
char
(
1
)
NULL
,
is_system_generated
char
(
1
)
NULL
,
hiring_team_id
number
(
12
)
NULL
...
...
cmsWebApp/sql/postgres/MessageTemplate.sql
View file @
bde271d9
...
...
@@ -18,7 +18,7 @@ CREATE TABLE tl_message_template (
variance
numeric
(
12
)
NULL
,
business_hours_only
char
(
1
)
NULL
,
message_content
text
NOT
NULL
,
template_type
varchar
(
200
)
NULL
,
template_type
varchar
(
200
)
N
OT
N
ULL
,
is_global_template
char
(
1
)
NULL
,
is_system_generated
char
(
1
)
NULL
,
hiring_team_id
numeric
(
12
)
NULL
...
...
cmsWebApp/src/performa/orm/BaseMessageTemplate.java
View file @
bde271d9
...
...
@@ -376,7 +376,8 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
metaInfo
.
put
(
"attribHelper"
,
"EnumeratedAttributeHelper"
);
metaInfo
.
put
(
"dbcol"
,
"template_type"
);
metaInfo
.
put
(
"mandatory"
,
"false"
);
metaInfo
.
put
(
"defaultValue"
,
"TemplateType.EMAIL"
);
metaInfo
.
put
(
"mandatory"
,
"true"
);
metaInfo
.
put
(
"name"
,
"TemplateType"
);
metaInfo
.
put
(
"type"
,
"TemplateType"
);
metaInfo
.
put
(
METADATA_DB_TABLENAME
,
"tl_message_template"
);
...
...
@@ -458,7 +459,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
_Variance
=
(
Integer
)(
0
);
_BusinessHoursOnly
=
(
Boolean
)(
Boolean
.
FALSE
);
_MessageContent
=
(
String
)(
HELPER_MessageContent
.
initialise
(
_MessageContent
));
_TemplateType
=
(
TemplateType
)(
HELPER_TemplateType
.
initialise
(
_TemplateType
)
);
_TemplateType
=
(
TemplateType
)(
TemplateType
.
EMAIL
);
_IsGlobalTemplate
=
(
Boolean
)(
HELPER_IsGlobalTemplate
.
initialise
(
_IsGlobalTemplate
));
_IsSystemGenerated
=
(
Boolean
)(
Boolean
.
FALSE
);
}
...
...
@@ -1449,6 +1450,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
oldAndNewIdentical
=
HELPER_TemplateType
.
compare
(
_TemplateType
,
newTemplateType
);
}
BusinessObjectParser
.
assertFieldCondition
(
newTemplateType
!=
null
,
this
,
FIELD_TemplateType
,
"mandatory"
);
if
(
FIELD_TemplateType_Validators
.
length
>
0
)
...
...
@@ -3022,7 +3024,7 @@ public abstract class BaseMessageTemplate extends BaseBusinessClass
result
.
add
(
HELPER_Variance
.
getAttribObject
(
getClass
(),
_Variance
,
false
,
FIELD_Variance
));
result
.
add
(
HELPER_BusinessHoursOnly
.
getAttribObject
(
getClass
(),
_BusinessHoursOnly
,
false
,
FIELD_BusinessHoursOnly
));
result
.
add
(
HELPER_MessageContent
.
getAttribObject
(
getClass
(),
_MessageContent
,
true
,
FIELD_MessageContent
));
result
.
add
(
HELPER_TemplateType
.
getAttribObject
(
getClass
(),
_TemplateType
,
fals
e
,
FIELD_TemplateType
));
result
.
add
(
HELPER_TemplateType
.
getAttribObject
(
getClass
(),
_TemplateType
,
tru
e
,
FIELD_TemplateType
));
result
.
add
(
HELPER_IsGlobalTemplate
.
getAttribObject
(
getClass
(),
_IsGlobalTemplate
,
false
,
FIELD_IsGlobalTemplate
));
result
.
add
(
HELPER_IsSystemGenerated
.
getAttribObject
(
getClass
(),
_IsSystemGenerated
,
false
,
FIELD_IsSystemGenerated
));
...
...
cmsWebApp/src/performa/orm/MessageTemplate.java
View file @
bde271d9
package
performa
.
orm
;
import
java.util.Set
;
import
oneit.objstore.BaseBusinessClass
;
import
oneit.objstore.cloning.BusinessCopyHelper
;
import
oneit.objstore.cloning.StandardAssocCopyingRule
;
import
oneit.security.SecUser
;
public
class
MessageTemplate
extends
BaseMessageTemplate
{
...
...
@@ -33,4 +39,26 @@ public class MessageTemplate extends BaseMessageTemplate
{
return
super
.
getDelayMin
()
!=
null
?
super
.
getDelayMin
():
0
;
}
private
StandardAssocCopyingRule
getCloneForCopy
()
{
return
new
StandardAssocCopyingRule
()
{
@Override
protected
Boolean
shouldClone
(
BaseBusinessClass
from
,
String
assocName
,
BaseBusinessClass
to
)
{
if
(
to
instanceof
MessageTemplate
)
{
return
Boolean
.
TRUE
;
}
return
null
;
}
};
}
public
MessageTemplate
getClonedTemplate
()
{
return
(
MessageTemplate
)
BusinessCopyHelper
.
copyRootBusinessObject
(
this
,
null
,
getCloneForCopy
());
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/MessageTemplate.xml
View file @
bde271d9
...
...
@@ -15,7 +15,7 @@
<ATTRIB
name=
"Variance"
type=
"Integer"
dbcol=
"variance"
mandatory=
"false"
defaultValue=
"0"
/>
<ATTRIB
name=
"BusinessHoursOnly"
type=
"Boolean"
dbcol=
"business_hours_only"
mandatory=
"false"
defaultValue=
"Boolean.FALSE"
/>
<ATTRIB
name=
"MessageContent"
type=
"String"
dbcol=
"message_content"
mandatory=
"true"
/>
<ATTRIB
name=
"TemplateType"
type=
"TemplateType"
dbcol=
"template_type"
attribHelper=
"EnumeratedAttributeHelper"
mandatory=
"
false
"
/>
<ATTRIB
name=
"TemplateType"
type=
"TemplateType"
dbcol=
"template_type"
attribHelper=
"EnumeratedAttributeHelper"
mandatory=
"
true"
defaultValue=
"TemplateType.EMAIL
"
/>
<ATTRIB
name=
"IsGlobalTemplate"
type=
"Boolean"
dbcol=
"is_global_template"
mandatory=
"false"
/>
<ATTRIB
name=
"IsSystemGenerated"
type=
"Boolean"
dbcol=
"is_system_generated"
mandatory=
"false"
defaultValue=
"Boolean.FALSE"
/>
...
...
cmsWebApp/src/performa/orm/WorkFlowTemplate.java
View file @
bde271d9
package
performa
.
orm
;
import
java.io.*
;
import
java.util.*
;
import
oneit.appservices.config.*
;
import
oneit.logging.*
;
import
oneit.objstore.*
;
import
oneit.utils.*
;
import
performa.orm.types.*
;
import
oneit.objstore.cloning.*
;
public
class
WorkFlowTemplate
extends
BaseWorkFlowTemplate
...
...
@@ -24,6 +13,31 @@ public class WorkFlowTemplate extends BaseWorkFlowTemplate
{
// Do not add any code to this, always put it in initialiseNewObject
}
}
private
StandardAssocCopyingRule
getCloneForCopy
()
{
return
new
StandardAssocCopyingRule
()
{
@Override
protected
Boolean
shouldClone
(
BaseBusinessClass
from
,
String
assocName
,
BaseBusinessClass
to
)
{
if
(
to
instanceof
WorkFlowMessage
||
to
instanceof
WorkFlowTemplate
)
{
return
Boolean
.
TRUE
;
}
if
(
WorkFlowTemplate
.
MULTIPLEREFERENCE_WorkFlowStages
.
contentEquals
(
assocName
))
{
return
Boolean
.
TRUE
;
}
return
null
;
}
};
}
public
WorkFlowTemplate
getClonedTemplate
()
{
return
(
WorkFlowTemplate
)
BusinessCopyHelper
.
copyRootBusinessObject
(
this
,
null
,
getCloneForCopy
());
}
}
\ No newline at end of file
cmsWebApp/src/performa/ws/SaveMessageAsCopy.java
0 → 100644
View file @
bde271d9
package
performa
.
ws
;
import
java.util.*
;
import
oneit.appservices.ws.*
;
import
oneit.appservices.ws.services.ORMUpdateJSONService
;
import
oneit.objstore.*
;
import
oneit.security.SecUser
;
import
oneit.utils.*
;
import
oneit.utils.parsers.FieldException
;
import
performa.orm.*
;
/**
*
* @author chamathkalhara
*/
public
class
SaveMessageAsCopy
extends
ORMUpdateJSONService
{
@Override
public
void
processForm
(
JSONServiceRequest
request
,
ObjectTransaction
objTran
,
org
.
json
.
JSONObject
result
,
MultiException
exceptions
,
Set
<
BaseBusinessClass
>
createdBBCs
,
Set
<
BaseBusinessClass
>
updatedBBCs
)
throws
BusinessException
,
org
.
json
.
JSONException
,
FieldException
{
List
<
MessageTemplate
>
createdMessageTemplates
=
WSUtils
.
filterBBCs
(
MessageTemplate
.
REFERENCE_MessageTemplate
,
createdBBCs
);
List
<
MessageTemplate
>
updatedMessageTemplates
=
WSUtils
.
filterBBCs
(
MessageTemplate
.
REFERENCE_MessageTemplate
,
updatedBBCs
);
List
<
MessageTemplate
>
allMessageTemplates
=
new
ArrayList
(
createdMessageTemplates
);
allMessageTemplates
.
addAll
(
updatedMessageTemplates
);
for
(
MessageTemplate
messageTemplate
:
allMessageTemplates
)
{
MessageTemplate
cloanedTemplate
=
revertAttributesAndClone
(
messageTemplate
);
cloanedTemplate
.
setIsGlobalTemplate
(
Boolean
.
FALSE
);
SecUser
secUser
=
SecUser
.
getTXUser
(
objTran
);
if
(
secUser
!=
null
&&
secUser
.
getExtension
(
CompanyUser
.
REFERENCE_CompanyUser
)
!=
null
)
{
CompanyUser
companyUser
=
secUser
.
getExtension
(
CompanyUser
.
REFERENCE_CompanyUser
);
cloanedTemplate
.
setHiringTeam
(
companyUser
.
getSelectedTeam
());
}
}
super
.
processForm
(
request
,
objTran
,
result
,
exceptions
,
createdBBCs
,
updatedBBCs
);
//To change body of generated methods, choose Tools | Templates.
}
private
MessageTemplate
revertAttributesAndClone
(
MessageTemplate
messageTemplate
)
{
BaseBusinessClass
[]
involvedObjs
=
messageTemplate
.
getTransaction
().
getObjectsToStore
();
MessageTemplate
clonedTemplate
=
messageTemplate
.
getClonedTemplate
();
// Now we copy back the changed objects before cloning
for
(
int
i
=
0
;
i
<
involvedObjs
.
length
;
i
++)
{
if
(
involvedObjs
[
i
].
getStatus
()
==
ObjectStatus
.
INVALID
||
involvedObjs
[
i
].
getStatus
()
==
ObjectStatus
.
CLEAN
)
{
// Do nothing
}
else
if
(
involvedObjs
[
i
].
getStatus
()
==
ObjectStatus
.
NEW
)
{
involvedObjs
[
i
].
delete
();
}
else
{
involvedObjs
[
i
].
rollback
();
}
}
return
clonedTemplate
;
}
}
\ No newline at end of file
cmsWebApp/src/performa/ws/SaveWorkflowAsCopy.java
0 → 100644
View file @
bde271d9
package
performa
.
ws
;
import
java.util.*
;
import
oneit.appservices.ws.*
;
import
oneit.appservices.ws.services.ORMUpdateJSONService
;
import
oneit.objstore.*
;
import
oneit.security.SecUser
;
import
oneit.utils.*
;
import
org.json.*
;
import
performa.orm.*
;
/**
*
* @author chamathkalhara
*/
public
class
SaveWorkflowAsCopy
extends
ORMUpdateJSONService
{
@Override
public
void
processForm
(
JSONServiceRequest
request
,
ObjectTransaction
objTran
,
JSONObject
result
,
MultiException
exceptions
,
Set
<
BaseBusinessClass
>
createdBBCs
,
Set
<
BaseBusinessClass
>
updatedBBCs
)
throws
BusinessException
,
JSONException
{
List
<
WorkFlowTemplate
>
createdWorkFlowTemplates
=
WSUtils
.
filterBBCs
(
WorkFlowTemplate
.
REFERENCE_WorkFlowTemplate
,
createdBBCs
);
List
<
WorkFlowTemplate
>
updatedWorkFlowTemplates
=
WSUtils
.
filterBBCs
(
WorkFlowTemplate
.
REFERENCE_WorkFlowTemplate
,
updatedBBCs
);
List
<
WorkFlowTemplate
>
allWorkFlowTemplates
=
new
ArrayList
(
createdWorkFlowTemplates
);
allWorkFlowTemplates
.
addAll
(
updatedWorkFlowTemplates
);
for
(
WorkFlowTemplate
workFlowTemplate
:
allWorkFlowTemplates
)
{
WorkFlowTemplate
cloanedTemplate
=
revertAttributesAndClone
(
workFlowTemplate
);
cloanedTemplate
.
setIsGlobalTemplate
(
Boolean
.
FALSE
);
SecUser
secUser
=
SecUser
.
getTXUser
(
objTran
);
if
(
secUser
!=
null
&&
secUser
.
getExtension
(
CompanyUser
.
REFERENCE_CompanyUser
)
!=
null
)
{
CompanyUser
companyUser
=
secUser
.
getExtension
(
CompanyUser
.
REFERENCE_CompanyUser
);
cloanedTemplate
.
setHiringTeam
(
companyUser
.
getSelectedTeam
());
}
}
super
.
processForm
(
request
,
objTran
,
result
,
exceptions
,
createdBBCs
,
updatedBBCs
);
//To change body of generated methods, choose Tools | Templates.
}
private
WorkFlowTemplate
revertAttributesAndClone
(
WorkFlowTemplate
workflowTemplate
)
{
BaseBusinessClass
[]
involvedObjs
=
workflowTemplate
.
getTransaction
().
getObjectsToStore
();
WorkFlowTemplate
clonedTemplate
=
workflowTemplate
.
getClonedTemplate
();
// Now we copy back the changed objects before cloning
for
(
int
i
=
0
;
i
<
involvedObjs
.
length
;
i
++)
{
if
(
involvedObjs
[
i
].
getStatus
()
==
ObjectStatus
.
INVALID
||
involvedObjs
[
i
].
getStatus
()
==
ObjectStatus
.
CLEAN
)
{
// Do nothing
}
else
if
(
involvedObjs
[
i
].
getStatus
()
==
ObjectStatus
.
NEW
)
{
involvedObjs
[
i
].
delete
();
}
else
{
involvedObjs
[
i
].
rollback
();
}
}
return
clonedTemplate
;
}
}
\ No newline at end of file
cmsWebApp/webroot/extensions/performa/GeneralConfig_performa.xml
View file @
bde271d9
...
...
@@ -37,6 +37,7 @@
<NODE
name=
"SaveWebService::Performa"
>
<Privilege
name=
"performa.orm.MessageTemplate"
factory=
"String"
value=
"*"
/>
<Privilege
name=
"performa.orm.WorkFlowTemplate"
factory=
"String"
value=
"*"
/>
</NODE>
<NODE
name=
"JSONServices::Performa"
>
...
...
@@ -75,6 +76,14 @@
<QueryType
factory=
"String"
name=
"All"
value=
"performa.search.SearchMessageTemplate"
/>
</NODE>
<NODE
name=
"SaveMessageAsCopy"
factory=
"Participant"
class=
"performa.ws.SaveMessageAsCopy"
privilege=
"*"
>
<INHERITS
nodename=
"SaveWebService::.*"
mandatory=
"false"
/>
</NODE>
<NODE
name=
"SaveWorkflowAsCopy"
factory=
"Participant"
class=
"performa.ws.SaveWorkflowAsCopy"
privilege=
"*"
>
<INHERITS
nodename=
"SaveWebService::.*"
mandatory=
"false"
/>
</NODE>
<!-- Enum services -->
<NODE
name=
"ResponseAction"
factory=
"Participant"
class=
"oneit.appservices.ws.services.EnumJSONService"
enumClass=
"performa.orm.types.ResponseAction"
privilege=
"*"
/>
<NODE
name=
"StageType"
factory=
"Participant"
class=
"oneit.appservices.ws.services.EnumJSONService"
enumClass=
"performa.orm.types.StageType"
privilege=
"*"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment