Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Paul Graydon
slapos.core
Commits
6f6ae98b
Commit
6f6ae98b
authored
Jul 05, 2022
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Plain Diff
Fixup add Message into a Ticket
See merge request
nexedi/slapos.core!396
parents
e28ae98e
09177e2a
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
336 additions
and
105 deletions
+336
-105
master/bt5/slapos_crm/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
...rtalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+1
-1
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudTicketSlapInterfaceWorkflow.py
...s/test.erp5.testSlapOSCloudTicketSlapInterfaceWorkflow.py
+4
-2
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudTicketSlapInterfaceWorkflow.xml
.../test.erp5.testSlapOSCloudTicketSlapInterfaceWorkflow.xml
+3
-24
master/bt5/slapos_crm/WorkflowTemplateItem/portal_workflow/ticket_slap_interface_workflow/script_Ticket_approveRegistration.py
...p_interface_workflow/script_Ticket_approveRegistration.py
+2
-1
master/bt5/slapos_crm/WorkflowTemplateItem/portal_workflow/ticket_slap_interface_workflow/script_Ticket_requestEvent.py
...ket_slap_interface_workflow/script_Ticket_requestEvent.py
+3
-2
master/bt5/slapos_crm/bt/template_portal_type_workflow_chain_list
...t5/slapos_crm/bt/template_portal_type_workflow_chain_list
+1
-0
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_html.html
...ule/rjs_gadget_erp5_page_slap_add_related_event_html.html
+1
-5
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_html.xml
...dule/rjs_gadget_erp5_page_slap_add_related_event_html.xml
+2
-2
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_js.js
..._module/rjs_gadget_erp5_page_slap_add_related_event_js.js
+32
-66
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_js.xml
...module/rjs_gadget_erp5_page_slap_add_related_event_js.xml
+2
-2
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/Ticket_requestEvent.py
...portal_skins/slapos_hal_json_style/Ticket_requestEvent.py
+22
-0
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/Ticket_requestEvent.xml
...ortal_skins/slapos_hal_json_style/Ticket_requestEvent.xml
+62
-0
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSRegularisationRequest.zpt
...ests/slaposjs_zuite/testSlapOSJSRegularisationRequest.zpt
+13
-0
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSTicket.zpt
...teItem/portal_tests/slaposjs_zuite/testSlapOSJSTicket.zpt
+188
-0
No files found.
master/bt5/slapos_crm/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
View file @
6f6ae98b
...
...
@@ -5,7 +5,7 @@
</chain>
<chain>
<type>
Regularisation Request
</type>
<workflow>
edit_workflow, pricing_interaction_workflow, ticket_interaction_workflow, ticket_workflow
</workflow>
<workflow>
edit_workflow, pricing_interaction_workflow, ticket_interaction_workflow, ticket_
slap_interface_workflow, ticket_
workflow
</workflow>
</chain>
<chain>
<type>
Support Request
</type>
...
...
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudTicketSlapInterfaceWorkflow.py
View file @
6f6ae98b
...
...
@@ -97,6 +97,8 @@ class TestSlapOSCoreTicketSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
assertRaises
(
TypeError
,
self
.
support_request
.
requestEvent
)
self
.
assertRaises
(
TypeError
,
self
.
support_request
.
requestEvent
,
event_title
=
"A"
)
self
.
assertRaises
(
TypeError
,
self
.
support_request
.
requestEvent
,
event_content
=
"A"
)
self
.
assertRaises
(
TypeError
,
self
.
support_request
.
requestEvent
,
event_source
=
"A"
)
def
test_SupportRequest_requestEvent
(
self
):
person
=
self
.
portal
.
portal_membership
.
getAuthenticatedMember
().
getUserValue
()
...
...
@@ -109,8 +111,8 @@ class TestSlapOSCoreTicketSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
support_request
.
requestEvent
(
event_title
=
"A"
,
event_content
=
"B"
)
event_content
=
"B"
,
event_source
=
person
.
getRelativeUrl
()
)
self
.
tic
()
event_relative_url
=
self
.
support_request
.
REQUEST
.
get
(
"event_relative_url"
)
...
...
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudTicketSlapInterfaceWorkflow.xml
View file @
6f6ae98b
...
...
@@ -6,12 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
testSlapOSCloudTicketSlapInterfaceWorkflow
</string>
</value>
...
...
@@ -61,28 +55,13 @@
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
...
...
@@ -95,7 +74,7 @@
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
</value>
</item>
</dictionary>
...
...
@@ -104,7 +83,7 @@
</dictionary>
</pickle>
</record>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
...
...
master/bt5/slapos_crm/WorkflowTemplateItem/portal_workflow/ticket_slap_interface_workflow/script_Ticket_approveRegistration.py
View file @
6f6ae98b
...
...
@@ -36,7 +36,8 @@ ticket.setStartDate(DateTime())
ticket
.
requestEvent
(
event_title
=
ticket
.
getTitle
(),
event_content
=
ticket
.
getDescription
()
event_content
=
ticket
.
getDescription
(),
event_source
=
ticket
.
getDestinationDecision
()
)
event_relative_url
=
context
.
REQUEST
.
get
(
"event_relative_url"
)
...
...
master/bt5/slapos_crm/WorkflowTemplateItem/portal_workflow/ticket_slap_interface_workflow/script_Ticket_requestEvent.py
View file @
6f6ae98b
...
...
@@ -9,14 +9,15 @@ kwargs = state_change.kwargs
try
:
title
=
kwargs
[
'event_title'
]
text_content
=
kwargs
[
'event_content'
]
source
=
kwargs
[
'event_source'
]
except
KeyError
:
raise
TypeError
,
"Ticket_requestEvent takes
exactly 2
argument"
raise
TypeError
,
"Ticket_requestEvent takes
at exactly 3
argument"
web_message
=
portal
.
event_module
.
newContent
(
portal_type
=
"Web Message"
,
title
=
title
,
text_content
=
text_content
,
source
=
ticket
.
getDestinationDecision
()
,
source
=
source
,
content_type
=
"text/plain"
,
destination
=
ticket
.
getSource
(),
resource
=
ticket
.
getResource
(),
...
...
master/bt5/slapos_crm/bt/template_portal_type_workflow_chain_list
View file @
6f6ae98b
...
...
@@ -3,5 +3,6 @@ Incident Response | ticket_workflow
Regularisation Request | edit_workflow
Regularisation Request | pricing_interaction_workflow
Regularisation Request | ticket_interaction_workflow
Regularisation Request | ticket_slap_interface_workflow
Regularisation Request | ticket_workflow
Support Request | ticket_slap_interface_workflow
\ No newline at end of file
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_html.html
View file @
6f6ae98b
...
...
@@ -5,12 +5,8 @@
data-i18n=Title
data-i18n=Include your message
data-i18n=Your Message
data-i18n=Source
data-i18n=Follow up
data-i18n=Portal Type
data-i18n=Web Message
data-i18n=Parent Relative Url
data-i18n=New Message
data-i18n=New Message created.
-->
<head>
...
...
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_html.xml
View file @
6f6ae98b
...
...
@@ -283,7 +283,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
982.16656.9604.44475
</string>
</value>
<value>
<string>
1001.17455.63633.53794
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -301,7 +301,7 @@
</tuple>
<state>
<tuple>
<float>
1
583924073.29
</float>
<float>
1
656611535.78
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_js.js
View file @
6f6ae98b
...
...
@@ -16,6 +16,8 @@
.
declareAcquiredMethod
(
"
jio_putAttachment
"
,
"
jio_putAttachment
"
)
.
declareAcquiredMethod
(
"
jio_get
"
,
"
jio_get
"
)
.
declareAcquiredMethod
(
"
getTranslationList
"
,
"
getTranslationList
"
)
.
declareAcquiredMethod
(
"
notifySubmitting
"
,
"
notifySubmitting
"
)
.
declareAcquiredMethod
(
"
notifySubmitted
"
,
"
notifySubmitted
"
)
/////////////////////////////////////////////////////////////////
// declared methods
...
...
@@ -26,17 +28,35 @@
.
onEvent
(
'
submit
'
,
function
()
{
var
gadget
=
this
;
return
gadget
.
getDeclaredGadget
(
'
form_view
'
)
return
gadget
.
notifySubmitting
()
.
push
(
function
()
{
return
gadget
.
getDeclaredGadget
(
'
form_view
'
);
})
.
push
(
function
(
form_gadget
)
{
return
form_gadget
.
getContent
();
return
RSVP
.
all
([
form_gadget
.
getContent
(),
gadget
.
getSetting
(
'
hateoas_url
'
)]);
})
.
push
(
function
(
result
)
{
var
doc
=
result
[
0
],
url
=
result
[
1
];
return
gadget
.
jio_putAttachment
(
gadget
.
state
.
jio_key
,
url
+
gadget
.
state
.
jio_key
+
"
/Ticket_requestEvent
"
,
{
title
:
doc
.
title
,
text_content
:
doc
.
text_content
});
})
.
push
(
function
(
doc
)
{
return
gadget
.
jio_post
(
doc
);
/*.push(function (attachment
) {
return
jIO.util.readBlobAsText(attachment.target.response
);
})
.push(function (response) {
return JSON.parse(response.target.result);
})*/
.
push
(
function
()
{
return
gadget
.
redirect
({
"
command
"
:
"
change
"
,
"
options
"
:
{
"
jio_key
"
:
gadget
.
state
.
jio_key
,
"
page
"
:
"
slap_controller
"
}});
return
gadget
.
notifySubmitted
({
message
:
gadget
.
message_translation
,
status
:
'
success
'
})
.
push
(
function
()
{
// Workaround, find a way to open document without break gadget.
return
gadget
.
redirect
({
"
command
"
:
"
change
"
,
"
options
"
:
{
"
jio_key
"
:
gadget
.
state
.
jio_key
,
"
page
"
:
"
slap_controller
"
}});
});
});
})
...
...
@@ -52,12 +72,8 @@
"
Title
"
,
"
Include your message
"
,
"
Your Message
"
,
"
Source
"
,
"
Follow up
"
,
"
Portal Type
"
,
"
Web Message
"
,
"
Parent Relative Url
"
,
"
New Message
"
"
New Message
"
,
"
New Message created.
"
];
gadget
.
state
.
jio_key
=
options
.
jio_key
;
...
...
@@ -71,7 +87,8 @@
]);
})
.
push
(
function
(
result
)
{
page_title_translation
=
result
[
3
][
9
];
page_title_translation
=
result
[
3
][
4
];
gadget
.
message_translation
=
result
[
3
][
5
];
return
result
[
0
].
render
({
erp5_document
:
{
"
_embedded
"
:
{
"
_view
"
:
{
...
...
@@ -96,50 +113,6 @@
"
key
"
:
"
text_content
"
,
"
hidden
"
:
0
,
"
type
"
:
"
TextAreaField
"
},
"
my_source
"
:
{
"
description
"
:
""
,
"
title
"
:
result
[
3
][
4
],
"
default
"
:
result
[
1
],
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
source
"
,
"
hidden
"
:
1
,
"
type
"
:
"
StringField
"
},
"
my_follow_up
"
:
{
"
description
"
:
""
,
"
title
"
:
result
[
3
][
5
],
"
default
"
:
gadget
.
state
.
jio_key
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
follow_up
"
,
"
hidden
"
:
1
,
"
type
"
:
"
StringField
"
},
"
my_portal_type
"
:
{
"
description
"
:
result
[
3
][
0
],
"
title
"
:
result
[
3
][
6
],
"
default
"
:
"
Web Message
"
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
portal_type
"
,
"
hidden
"
:
1
,
"
type
"
:
"
StringField
"
},
"
my_parent_relative_url
"
:
{
"
description
"
:
""
,
"
title
"
:
result
[
3
][
8
],
"
default
"
:
"
event_module
"
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
"
key
"
:
"
parent_relative_url
"
,
"
hidden
"
:
1
,
"
type
"
:
"
StringField
"
}
}},
"
_links
"
:
{
...
...
@@ -152,18 +125,11 @@
form_definition
:
{
group_list
:
[[
"
center
"
,
[[
"
my_title
"
],
[
"
my_text_content
"
],
[
"
my_follow_up
"
],
[
"
my_portal_type
"
],
[
"
my_parent_relative_url
"
],
[
"
my_follow_up
"
],
[
"
my_source
"
]]
[[
"
my_title
"
],
[
"
my_text_content
"
]]
]]
}
});
})
.
push
(
function
()
{
return
gadget
.
updatePanel
({
jio_key
:
"
support_request_module
"
});
})
.
push
(
function
()
{
return
RSVP
.
all
([
gadget
.
getUrlFor
({
command
:
'
history_previous
'
})
...
...
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_add_related_event_js.xml
View file @
6f6ae98b
...
...
@@ -290,7 +290,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
987.11837.51741.39355
</string>
</value>
<value>
<string>
1001.17558.20370.27699
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -308,7 +308,7 @@
</tuple>
<state>
<tuple>
<float>
16
02260993.65
</float>
<float>
16
56617846.12
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/Ticket_requestEvent.py
0 → 100644
View file @
6f6ae98b
import
json
portal
=
context
.
getPortalObject
()
person
=
portal
.
portal_membership
.
getAuthenticatedMember
().
getUserValue
()
request
=
context
.
REQUEST
response
=
request
.
RESPONSE
if
person
is
None
:
response
.
setStatus
(
403
)
else
:
request_kw
=
{
"event_title"
:
title
,
"event_content"
:
text_content
,
"event_source"
:
person
.
getRelativeUrl
()
}
context
.
requestEvent
(
**
request_kw
)
event_relative_url
=
request
.
get
(
'event_relative_url'
)
response
.
setHeader
(
'Content-Type'
,
"application/json"
)
return
json
.
dumps
({
"relative_url"
:
event_relative_url
})
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/Ticket_requestEvent.xml
0 → 100644
View file @
6f6ae98b
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
title, text_content
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Ticket_requestEvent
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSRegularisationRequest.zpt
View file @
6f6ae98b
...
...
@@ -90,6 +90,12 @@
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td
tal:content=
"python: here.Base_translateString('User Assigned', lang=lang)"
></td>
<td></td>
</tr>
<tal:block
tal:define=
"menu_action python: 'Add'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
...
...
@@ -173,6 +179,13 @@
<td>
TEST-SLAPOSJS-SUPPORT-REQUEST NEW MESSAGE
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td
tal:content=
"python: here.Base_translateString('Operator Assigned', lang=lang)"
></td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_logout"
/>
</tbody>
...
...
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSTicket.zpt
View file @
6f6ae98b
...
...
@@ -157,6 +157,12 @@
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td
tal:content=
"python: here.Base_translateString('Operator Assigned', lang=lang)"
></td>
<td></td>
</tr>
<tal:block
tal:define=
"menu_action python: 'Add'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
...
...
@@ -240,6 +246,188 @@
<td>
TEST-SLAPOSJS-SUPPORT-REQUEST NEW MESSAGE
</td>
<td></td>
</tr>
<tal:block
tal:define=
"menu_action python: 'Close'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
<tal:block
tal:define=
"header python: 'Close Ticket'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//textarea[@id="text_content"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//textarea[@id="text_content"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//textarea[@id="text_content"]
</td>
<td>
Closing Ticket
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tal:block
tal:define=
"header python: 'Support Request : ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SUPPORT-REQUEST 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Tickets'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SUPPORT-REQUEST 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SUPPORT-REQUEST 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-SUPPORT-REQUEST 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Support Request : ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SUPPORT-REQUEST 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(3)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '3'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
Closing Ticket
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td
tal:content=
"python: here.Base_translateString('Closed', lang=lang)"
></td>
<td></td>
</tr>
<tal:block
tal:define=
"menu_action python: 'Add'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
<tal:block
tal:define=
"header python: 'New Message'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//textarea[@id="text_content"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//textarea[@id="text_content"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//textarea[@id="text_content"]
</td>
<td>
TEST-SLAPOSJS-SUPPORT-REQUEST REOPEN
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tal:block
tal:define=
"header python: 'Support Request : ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SUPPORT-REQUEST 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Tickets'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SUPPORT-REQUEST 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SUPPORT-REQUEST 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-SUPPORT-REQUEST 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Support Request : ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SUPPORT-REQUEST 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(4)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '4'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
TEST-SLAPOSJS-SUPPORT-REQUEST REOPEN
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td
tal:content=
"python: here.Base_translateString('Operator Assigned', lang=lang)"
></td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_logout"
/>
</tbody>
...
...
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