Merged branch 'master' into es17.05
This commit is contained in:
@@ -372,7 +372,7 @@ feature -- Hooks
|
||||
loop
|
||||
if
|
||||
attached ic.item.typename as l_typename and then
|
||||
across l_node_typenames as t_ic some t_ic.item.same_string (l_typename) end
|
||||
across l_node_typenames as t_ic some t_ic.item.same_string_general (l_typename) end
|
||||
then
|
||||
if ic.item.entity.is_integer then
|
||||
nid := ic.item.entity.to_integer_64
|
||||
|
||||
@@ -142,8 +142,8 @@ feature -- Forms ...
|
||||
ti.set_description ("Optionally specify an alternative URL path by which this content can be accessed.<br/>%NFor example, type 'about' when writing an about page. Use a relative path or the URL alias won't work.")
|
||||
end
|
||||
|
||||
ti.set_text_value (l_uri)
|
||||
ti.set_placeholder (l_auto_path_alias)
|
||||
ti.set_text_value (l_uri.to_string_32)
|
||||
ti.set_placeholder (l_auto_path_alias.to_string_32)
|
||||
ti.set_validation_action (agent (fd: WSF_FORM_DATA; ia_response: NODE_RESPONSE; ia_node: detachable CMS_NODE)
|
||||
do
|
||||
if
|
||||
@@ -204,7 +204,7 @@ feature -- Forms ...
|
||||
end
|
||||
-- Auto path alias / suggestion
|
||||
create thi.make ("auto_path_alias")
|
||||
thi.set_text_value (l_auto_path_alias)
|
||||
thi.set_text_value (l_auto_path_alias.to_string_32)
|
||||
thi.set_is_readonly (True)
|
||||
f.insert_before (thi, w)
|
||||
end
|
||||
|
||||
@@ -241,7 +241,11 @@ feature -- Form
|
||||
if attached fd.string_item ("content") as l_content then
|
||||
b.append ("<strong>Content:</strong><div class=%"content%">")
|
||||
if l_format /= Void then
|
||||
b.append (l_format.formatted_output (l_content))
|
||||
if l_content.is_valid_as_string_8 then
|
||||
b.append (l_format.formatted_output (l_content.to_string_8))
|
||||
else
|
||||
b.append (l_format.formatted_output (api.utf_8_encoded (l_content)))
|
||||
end
|
||||
else
|
||||
b.append (html_encoded (l_content))
|
||||
end
|
||||
|
||||
@@ -75,6 +75,14 @@ feature -- Query
|
||||
end
|
||||
end
|
||||
|
||||
feature -- Permissions
|
||||
|
||||
view_unpublished_permissions (a_node: CMS_NODE): ITERABLE [READABLE_STRING_8]
|
||||
-- Permissions to view unpublished node `a_node`.
|
||||
do
|
||||
Result := <<"view unpublished " + a_node.content_type>>
|
||||
end
|
||||
|
||||
feature -- HTTP Methods
|
||||
|
||||
do_get (req: WSF_REQUEST; res: WSF_RESPONSE)
|
||||
@@ -148,7 +156,7 @@ feature -- HTTP Methods
|
||||
attached api.user as l_user and then
|
||||
( node_api.is_author_of_node (l_user, l_node)
|
||||
or else (
|
||||
api.user_has_permission (l_user, "view unpublished " + l_node.content_type)
|
||||
api.user_has_permissions (l_user, view_unpublished_permissions (l_node))
|
||||
)
|
||||
)
|
||||
then
|
||||
@@ -403,15 +411,10 @@ feature -- Error
|
||||
|
||||
send_access_denied_to_unpublished_node (req: WSF_REQUEST; res: WSF_RESPONSE; a_node: CMS_NODE)
|
||||
-- Forbidden response.
|
||||
local
|
||||
r: CMS_RESPONSE
|
||||
do
|
||||
create {FORBIDDEN_ERROR_CMS_RESPONSE} r.make (req, res, api)
|
||||
r.set_main_content ("This content is NOT published!")
|
||||
r.execute
|
||||
send_custom_access_denied ("This content is NOT published!", view_unpublished_permissions (a_node), req, res)
|
||||
end
|
||||
|
||||
|
||||
feature {NONE} -- Node
|
||||
|
||||
create_new_node (req: WSF_REQUEST; res: WSF_RESPONSE)
|
||||
|
||||
@@ -86,8 +86,7 @@ feature -- HTTP Methods
|
||||
-- l_page.add_block (create {CMS_CONTENT_BLOCK}.make ("nodes_warning", Void, "/nodes/ is not yet fully implemented<br/>", Void), "highlighted")
|
||||
l_page.execute
|
||||
else
|
||||
create {FORBIDDEN_ERROR_CMS_RESPONSE} l_page.make (req, res, api)
|
||||
l_page.execute
|
||||
send_custom_access_denied (Void, <<"view trash", "view any trash", "view own trash">>, req, res)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user