Clean up user/domain describing in the plugins.
[mailshears.git] / lib / mv / mv_dummy_runner.rb
index ff612ffeb175e7bc4b663c0f18214055f5946890..52db27be6f0082051ee17565c7ee7b8b5c61b31a 100644 (file)
@@ -4,11 +4,38 @@ class MvDummyRunner
   include Runner
 
   def run(plugin, src, dst)
-    if src.include?('@') then
-      puts "Would move user: #{src} to #{dst}"
-    else
-      puts "Would move domain: #{src} to #{dst}"
+
+    if src.is_a?(Domain) or dst.is_a?(Domain) then
+      msg = 'only users can be moved'
+      raise NotImplementedError.new(msg)
+    end
+
+    # Since we're not actually moving anything, the destination
+    # description is really only useful for seeing whether or not we'd
+    # be trying to move in on top of an existing account.
+    src_description = plugin.describe(src)
+    dst_description = plugin.describe(dst)
+
+    msg  = "Would move user #{src} "
+
+    # Only append the extra description if it's useful.
+    if not src_description.nil? and
+       not src_description.empty? and
+       not src_description == src.to_s() then
+      msg += "(#{src_description}) "
     end
+
+    msg += "to #{dst}"
+
+    # Only append the extra description if it's useful.
+    if not dst_description.nil? and
+       not dst_description.empty? and
+       not dst_description == dst.to_s() then
+      msg += " (#{dst_description})"
+    end
+
+    msg += "."
+    report(plugin, msg)
   end
 
 end