Diff
Modified: trunk/app/controllers/users_controller.rb (3022 => 3023)
--- trunk/app/controllers/users_controller.rb 2012-06-11 11:15:02 UTC (rev 3022)
+++ trunk/app/controllers/users_controller.rb 2012-06-11 13:07:42 UTC (rev 3023)
@@ -674,6 +674,21 @@
when "sleep"
user.update_attributes(:account_status => "sleep")
when "delete"
+
+ # build an "all elements" user.xml record
+
+ elements = {}
+
+ TABLES['Model'][:data]['user']['REST Attribute'].each do |attr|
+ add_to_element_hash(attr, elements)
+ end
+
+ doc = LibXML::XML::Document.new()
+ root = rest_get_request_aux(user, nil, {}, elements)
+ doc.root = root
+
+ File.open("#{Conf.deleted_data_directory}#{user.id}.xml", "wb+") { |f| f.write(doc.to_s) }
+
user.destroy
end
end
Modified: trunk/config/default_settings.yml (3022 => 3023)
--- trunk/config/default_settings.yml 2012-06-11 11:15:02 UTC (rev 3022)
+++ trunk/config/default_settings.yml 2012-06-11 13:07:42 UTC (rev 3023)
@@ -506,3 +506,13 @@
# - styles
# - custom_stylesheet
# layout: layouts/myexperiment
+
+# deleted_data_directory - This is the directory where information about
+# deleted content is stored.
+#
+# Example:
+#
+# deleted_data_directory: spam/deleted/
+
+deleted_data_directory: ""
+
Modified: trunk/lib/conf.rb (3022 => 3023)
--- trunk/lib/conf.rb 2012-06-11 11:15:02 UTC (rev 3022)
+++ trunk/lib/conf.rb 2012-06-11 13:07:42 UTC (rev 3023)
@@ -181,6 +181,14 @@
self.fetch_entry('duplicable_mime_types')
end
+ def self.duplicable_mime_types
+ self.fetch_entry('duplicable_mime_types')
+ end
+
+ def self.deleted_data_directory
+ self.fetch_entry('deleted_data_directory')
+ end
+
def self.layouts
layouts = self.fetch_entry('layouts', {})
layouts.delete_if {|k,v| v["environment"] && (v["environment"] != ENV["RAILS_ENV"])}