Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Noah Brackenbury
erp5
Commits
1a6bcf81
Commit
1a6bcf81
authored
Sep 01, 2017
by
Noah Brackenbury
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed current_object.getTitle() to be within mapping dict
parent
a14279e5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
135 additions
and
0 deletions
+135
-0
bt5/erp5_ai_business_bot/SkinTemplateItem/portal_skins/erp5_business_bot/WebMessage_followUpWebMessage.py
..._skins/erp5_business_bot/WebMessage_followUpWebMessage.py
+69
-0
bt5/erp5_ai_business_bot/SkinTemplateItem/portal_skins/erp5_business_bot/WebMessage_followUpWebMessage.xml
...skins/erp5_business_bot/WebMessage_followUpWebMessage.xml
+66
-0
No files found.
bt5/erp5_ai_business_bot/SkinTemplateItem/portal_skins/erp5_business_bot/WebMessage_followUpWebMessage.py
0 → 100644
View file @
1a6bcf81
# This script creates a new ticket object from this current event based on its tags
translateString
=
context
.
Base_translateString
portal
=
context
.
getPortalObject
()
current_object
=
context
.
getObject
()
if
tags
==
None
:
return
()
assign
=
None
#
# Find appropriate ticket type
tagset
=
set
(
tags
)
so
=
{
"sale"
,
"pricing"
,
"demo"
,
"partnership"
,
"advertising"
}
sr
=
{
"help"
,
"starting"
,
"install"
,
"bug"
}
m
=
{
"job"
,
"sponsorship"
,
"academic"
,
"contributor"
}
if
tagset
.
intersection
(
sr
):
module
=
context
.
getPortalObject
().
support_request_module
ticket_type
=
"Support Request"
elif
tagset
.
intersection
(
so
):
module
=
context
.
getPortalObject
().
sale_opportunity_module
ticket_type
=
"Sale Opportunity"
else
:
module
=
context
.
getPortalObject
().
meeting_module
ticket_type
=
"Meeting"
if
not
portal
.
Base_checkPermission
(
module
.
getId
(),
"Add portal content"
):
return
context
.
Base_redirect
(
form_id
,
keep_items
=
dict
(
portal_status_message
=
translateString
(
"You do not have permission to add new ticket."
)
)
)
# Create a new object
new_id
=
str
(
module
.
generateNewId
())
context
.
portal_types
.
constructContent
(
type_name
=
ticket_type
,
container
=
module
,
id
=
new_id
)
new_object
=
module
[
new_id
]
# If we do this before, each added line will take 20 times more time
# because of programmable acquisition
new_object
.
edit
(
title
=
current_object
.
getTitle
(),
destination_decision_list
=
current_object
.
getSourceList
(),
source_decision_list
=
current_object
.
getDestinationList
(),
start_date
=
current_object
.
getStartDate
()
)
# Now create the relation between the current object and the new one
current_object
.
setFollowUpValueList
([
new_object
])
if
assign
:
new_object
.
setSourceTrade
([
assign
[
1
]])
# Redirect to new object
if
assign
==
None
:
message
=
translateString
(
"Created and associated a new ${ticket_type} for ${title}. Here is a recommended response."
,
mapping
=
dict
(
ticket_type
=
translateString
(
ticket_type
),
title
=
current_object
.
getTitle
()))
return
current_object
.
Base_redirect
(
'WebMessage_viewCreateResponseDialog'
,
keep_items
=
{
'portal_status_message'
:
message
})
else
:
name
=
assign
[
0
]
message
=
translateString
(
"Created and associated a new ${ticket_type} for ${title}. "
+
name
+
" is recommended to handle it"
,
mapping
=
dict
(
ticket_type
=
translateString
(
ticket_type
),
title
=
current_object
.
getTitle
()))
return
new_object
.
Base_redirect
(
'view'
,
keep_items
=
{
'portal_status_message'
:
message
})
bt5/erp5_ai_business_bot/SkinTemplateItem/portal_skins/erp5_business_bot/WebMessage_followUpWebMessage.xml
0 → 100644
View file @
1a6bcf81
<?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>
tags=None
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
WebMessage_followUpWebMessage
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Follow Up Web Message
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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