[asl-commit] ActiveSambaLdap r47:
null at cozmixng.org
null at cozmixng.org
Fri Aug 3 22:33:14 EDT 2007
retro 2007-08-04 11:33:11 +0900 (Sat, 04 Aug 2007)
New Revision: 47
Modified files:
trunk/bin/asl-groupadd
trunk/lib/active_samba_ldap/group.rb
Log:
Modified: trunk/bin/asl-groupadd (+9 -1)
===================================================================
--- trunk/bin/asl-groupadd 2006-11-15 18:07:30 +09:00 (rev 46)
+++ trunk/bin/asl-groupadd 2007-08-04 11:33:11 +09:00 (rev 47)
@@ -47,12 +47,20 @@
end
create_options = {
+ :cn => name,
:gid_number => options.gid,
:pool_class => UnixIdPool,
:group_type => options.group_type,
}
-group = Group.create(name, create_options)
+group = Group.create(create_options)
+unless group.errors.empty?
+ group.errors.each_full do |message|
+ $stderr.puts(message)
+ end
+ exit 1
+end
+
if options.print_gid_number
puts group.gid_number
end
Modified: trunk/lib/active_samba_ldap/group.rb (+18 -9)
===================================================================
--- trunk/lib/active_samba_ldap/group.rb 2006-11-15 18:07:30 +09:00 (rev 46)
+++ trunk/lib/active_samba_ldap/group.rb 2007-08-04 11:33:11 +09:00 (rev 47)
@@ -12,13 +12,22 @@
init_associations(options)
end
- def create(name, options={})
- gid_number, pool = ensure_gid_number(options)
- group = new(name)
- group.fill_default_values(options.merge(:gid_number => gid_number))
- if group.save and pool
+ def create(attributes=nil)
+ pool = nil
+ group = super do |group|
+ options = attributes || {}
+ options = {:gid_number => group.gid_number}.merge(options)
+ gid_number, pool = ensure_gid_number(options)
+ group.fill_default_values(options.merge(:gid_number => gid_number))
+ yield group if block_given?
+ end
+ if group.errors.empty? and pool
pool.gid_number = Integer(group.gid_number).succ
- pool.save!
+ unless pool.save
+ pool.each do |key, value|
+ group.add("pool: #{key}", value)
+ end
+ end
end
group
end
@@ -132,9 +141,9 @@
def fill_default_values(options={})
gid_number = options[:gid_number]
- self.change_gid_number(gid_number) if gid_number
- self.description = options[:description] || cn
- self.display_name = options[:display_name] || cn
+ change_gid_number(gid_number) if gid_number
+ self.description ||= options[:description] || cn
+ self.display_name ||= options[:display_name] || cn
end
def members
More information about the asl-commit
mailing list