Replace 'account' with 'user' everywhere.
[mailshears.git] / lib / common / davical_plugin.rb
index cdde3d1e068301fbd13a3eb05783fed7f878d8bc..a1dcba07b690b1f07eace23804597d9c61db977b 100644 (file)
@@ -5,8 +5,7 @@ module DavicalPlugin
   # is, we implement the Plugin interface.
   include Plugin
 
-  def initialize()
-    cfg = Configuration.new()
+  def initialize(cfg)
     @db_host = cfg.davical_dbhost
     @db_port = cfg.davical_dbport
     @db_opts = cfg.davical_dbopts
@@ -19,12 +18,12 @@ module DavicalPlugin
 
   def describe_domain(domain)
     # DAViCal doesn't have a concept of domains.
-    return 'N/A'
+    return domain
   end
 
 
-  def describe_account(account)
-    principal_id = self.get_principal_id(account)
+  def describe_user(user)
+    principal_id = self.get_principal_id(user)
 
     if principal_id.nil?
       return 'User not found'
@@ -36,7 +35,7 @@ module DavicalPlugin
 
   protected;
 
-  def get_principal_id(account)
+  def get_principal_id(user)
     principal_id = nil
 
     begin
@@ -53,7 +52,7 @@ module DavicalPlugin
       sql_query += "      ON principal.user_no = usr.user_no) "
       sql_query += "WHERE usr.username = $1;"
 
-      connection.query(sql_query, [account]) do |result|
+      connection.query(sql_query, [user]) do |result|
         if result.num_tuples > 0
           principal_id = result[0]['principal_id']
         end
@@ -70,7 +69,7 @@ module DavicalPlugin
   end
 
 
-  def get_davical_usernames()
+  def list_users()
     usernames = []
 
     begin
@@ -82,7 +81,8 @@ module DavicalPlugin
                                   @db_user,
                                   @db_pass)
 
-      sql_query =  "SELECT username FROM usr"
+      # User #1 is the super-user, and not tied to an email address.
+      sql_query =  "SELECT username FROM usr WHERE user_no > 1"
 
       connection.query(sql_query) do |result|
         usernames = result.field_values('username')