Updated CMS node and blog to remove extension data.
This commit is contained in:
@@ -108,6 +108,16 @@ feature -- Persistence
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
delete_by_id (a_nid: INTEGER_64)
|
||||||
|
-- remove node extensions by id `a_nid'.
|
||||||
|
local
|
||||||
|
l_parameters: STRING_TABLE [ANY]
|
||||||
|
do
|
||||||
|
create l_parameters.make (1)
|
||||||
|
l_parameters.put (a_nid, "nid")
|
||||||
|
sql_change (sql_delete_node_data, l_parameters)
|
||||||
|
end
|
||||||
|
|
||||||
feature {NONE} -- Implementation
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; tags: READABLE_STRING_32]
|
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; tags: READABLE_STRING_32]
|
||||||
@@ -145,5 +155,6 @@ feature -- SQL
|
|||||||
sql_select_node_data: STRING = "SELECT nid, revision, tags FROM blog_post_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
sql_select_node_data: STRING = "SELECT nid, revision, tags FROM blog_post_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
||||||
sql_insert_node_data: STRING = "INSERT INTO blog_post_nodes (nid, revision, tags) VALUES (:nid, :revision, :tags);"
|
sql_insert_node_data: STRING = "INSERT INTO blog_post_nodes (nid, revision, tags) VALUES (:nid, :revision, :tags);"
|
||||||
sql_update_node_data: STRING = "UPDATE blog_post_nodes SET nid=:nid, revision=:revision, tags=:tags WHERE nid=:nid AND revision=:revision;"
|
sql_update_node_data: STRING = "UPDATE blog_post_nodes SET nid=:nid, revision=:revision, tags=:tags WHERE nid=:nid AND revision=:revision;"
|
||||||
|
sql_delete_node_data: STRING = "DELETE FROM blog_post_nodes WHERE nid=:nid;"
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ feature -- Forms ...
|
|||||||
local
|
local
|
||||||
ti: WSF_FORM_NUMBER_INPUT
|
ti: WSF_FORM_NUMBER_INPUT
|
||||||
fs: WSF_FORM_FIELD_SET
|
fs: WSF_FORM_FIELD_SET
|
||||||
l_parent_id, nid: INTEGER_64
|
l_parent_id: INTEGER_64
|
||||||
do
|
do
|
||||||
Precursor (response, f, a_node)
|
Precursor (response, f, a_node)
|
||||||
|
|
||||||
@@ -102,7 +102,6 @@ feature -- Forms ...
|
|||||||
|
|
||||||
parent_validation (a_response: NODE_RESPONSE; fd: WSF_FORM_DATA)
|
parent_validation (a_response: NODE_RESPONSE; fd: WSF_FORM_DATA)
|
||||||
local
|
local
|
||||||
l_selected: BOOLEAN
|
|
||||||
node_api: CMS_NODE_API
|
node_api: CMS_NODE_API
|
||||||
l_parent_id: INTEGER_64
|
l_parent_id: INTEGER_64
|
||||||
nid: INTEGER_64
|
nid: INTEGER_64
|
||||||
|
|||||||
@@ -49,6 +49,13 @@ feature -- Persistence
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
delete_by_id (a_nid: INTEGER_64)
|
||||||
|
-- remove node extensions by id `a_nid'.
|
||||||
|
require
|
||||||
|
valid_id: a_nid > 0
|
||||||
|
deferred
|
||||||
|
end
|
||||||
|
|
||||||
feature {NONE} -- Persistence implementation
|
feature {NONE} -- Persistence implementation
|
||||||
|
|
||||||
store (a_node: G)
|
store (a_node: G)
|
||||||
|
|||||||
@@ -61,6 +61,18 @@ feature {NONE} -- Implementation
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
extended_delete (a_node: CMS_NODE)
|
||||||
|
-- Delete extended data related to node `a_id'.
|
||||||
|
require
|
||||||
|
not error_handler.has_error
|
||||||
|
do
|
||||||
|
if attached node_storage_extension (a_node) as ext then
|
||||||
|
ext.delete_by_id (a_node.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
|
|
||||||
nodes_count: NATURAL_64
|
nodes_count: NATURAL_64
|
||||||
@@ -166,8 +178,16 @@ feature -- Change: Node
|
|||||||
delete_node (a_node: CMS_NODE)
|
delete_node (a_node: CMS_NODE)
|
||||||
-- Delete `a_node'.
|
-- Delete `a_node'.
|
||||||
do
|
do
|
||||||
|
-- TODO
|
||||||
|
-- Check if we need to use a transaction
|
||||||
|
-- we delete a node
|
||||||
|
-- node_revisions
|
||||||
|
-- and extensions (PAGE, BLOG, etc)
|
||||||
if a_node.has_id then
|
if a_node.has_id then
|
||||||
delete_node_by_id (a_node.id)
|
delete_node_by_id (a_node.id)
|
||||||
|
if not error_handler.has_error then
|
||||||
|
extended_delete (a_node)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -349,6 +349,9 @@ feature -- Change: Node
|
|||||||
create l_parameters.make (1)
|
create l_parameters.make (1)
|
||||||
l_parameters.put (a_id, "nid")
|
l_parameters.put (a_id, "nid")
|
||||||
sql_change (sql_delete_node, l_parameters)
|
sql_change (sql_delete_node, l_parameters)
|
||||||
|
|
||||||
|
-- we remove node_revisions and pages.
|
||||||
|
sql_change (sql_delete_node_revisions, l_parameters)
|
||||||
end
|
end
|
||||||
|
|
||||||
restore_node_by_id (a_id: INTEGER_64)
|
restore_node_by_id (a_id: INTEGER_64)
|
||||||
@@ -520,6 +523,8 @@ feature {NONE} -- Queries
|
|||||||
WHERE pn.parent = :nid AND node.status != -1 GROUP BY node.nid, node.revision;
|
WHERE pn.parent = :nid AND node.status != -1 GROUP BY node.nid, node.revision;
|
||||||
]"
|
]"
|
||||||
|
|
||||||
|
sql_delete_node_revisions: STRING = "DELETE FROM node_revisions WHERE nid=:nid;"
|
||||||
|
|
||||||
feature {NONE} -- Sql Queries: USER_ROLES collaborators, author
|
feature {NONE} -- Sql Queries: USER_ROLES collaborators, author
|
||||||
|
|
||||||
Select_user_author: STRING = "SELECT uid, name, password, salt, email, users.status, users.created, signed FROM nodes INNER JOIN users ON nodes.author=users.uid AND nodes.nid = :nid AND nodes.revision = :revision;"
|
Select_user_author: STRING = "SELECT uid, name, password, salt, email, users.status, users.created, signed FROM nodes INNER JOIN users ON nodes.author=users.uid AND nodes.nid = :nid AND nodes.revision = :revision;"
|
||||||
|
|||||||
@@ -112,6 +112,17 @@ feature -- Persistence
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
delete_by_id (a_nid: INTEGER_64)
|
||||||
|
-- remove node extensions by id `a_nid'.
|
||||||
|
local
|
||||||
|
l_parameters: STRING_TABLE [ANY]
|
||||||
|
do
|
||||||
|
create l_parameters.make (1)
|
||||||
|
l_parameters.put (a_nid, "nid")
|
||||||
|
sql_change (sql_delete_node_data, l_parameters)
|
||||||
|
end
|
||||||
|
|
||||||
feature {NONE} -- Implementation
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; parent_id: INTEGER_64]
|
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; parent_id: INTEGER_64]
|
||||||
@@ -143,5 +154,6 @@ feature -- SQL
|
|||||||
sql_select_node_data: STRING = "SELECT nid, revision, parent FROM page_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
sql_select_node_data: STRING = "SELECT nid, revision, parent FROM page_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
||||||
sql_insert_node_data: STRING = "INSERT INTO page_nodes (nid, revision, parent) VALUES (:nid, :revision, :parent);"
|
sql_insert_node_data: STRING = "INSERT INTO page_nodes (nid, revision, parent) VALUES (:nid, :revision, :parent);"
|
||||||
sql_update_node_data: STRING = "UPDATE page_nodes SET nid=:nid, revision=:revision, parent=:parent WHERE nid=:nid AND revision=:revision;"
|
sql_update_node_data: STRING = "UPDATE page_nodes SET nid=:nid, revision=:revision, parent=:parent WHERE nid=:nid AND revision=:revision;"
|
||||||
|
sql_delete_node_data: STRING = "DELETE FROM page_nodes WHERE nid=:nid;"
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user