Clean up user/domain describing in the plugins.
[mailshears.git] / lib / common / agendav_plugin.rb
index ae9b11c0b05d89874ebdc6dedbc2e85af36c6b89..032d057c24d8e25c899ea672ae5fca50a711a8ff 100644 (file)
@@ -1,4 +1,5 @@
 require 'common/plugin'
+require 'common/user'
 
 module AgendavPlugin
   # Code that all Agendav plugins (Prune, Rm, Mv...) will
@@ -17,27 +18,12 @@ module AgendavPlugin
   end
 
 
-  def describe_domain(domain)
-    # AgenDAV doesn't have a concept of domains.
-    return domain
-  end
-
-
-  def describe_user(user)
-    if self.user_exists(user)
-      return "Username: #{user}"
-    else
-      return 'User not found'
-    end
-  end
-
-
   def list_users()
     #
     # Produce a list of AgenDAV users. This is public because it's
     # useful in testing.
     #
-    usernames = []
+    users = []
 
     # Just assume PostgreSQL for now.
     begin
@@ -54,7 +40,7 @@ module AgendavPlugin
       sql_query += '(SELECT user_from FROM shared);'
 
       connection.query(sql_query) do |result|
-        usernames = result.field_values('username')
+        users = result.field_values('username')
       end
 
       connection.close()
@@ -63,7 +49,7 @@ module AgendavPlugin
       raise DatabaseError.new(e)
     end
 
-    return usernames
+    return users.map{ |u| User.new(u) }
   end
 
 end