OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / models / system_picture.rb
index cd4809b..50e6ec3 100644 (file)
@@ -21,7 +21,10 @@ class SystemPicture < ActiveRecord::Base
   def overwrite
   end
   
-  def own? ad
+  def own? roles
+    roles = [roles] unless roles.respond_to?(:each)
+    ad = SystemPicture.get_admin_from_roles roles
+    return false unless ad
     true
   end
   
@@ -111,10 +114,11 @@ class SystemPicture < ActiveRecord::Base
     res = false
     SystemPicture.transaction do
       if res = self.save
-        if res = PictureIO.system_picture_io.put(imager.binary, self.filename)
-          res = true
-        else
-          self.errors.add :base, 'system picture io does not work'
+        begin
+          res = PictureIO.system_picture_io.put(imager.binary, self.filename)
+        rescue PictureIO::Error
+          res = false
+          self.errors.add :base, I18n.t('picture_io.error')
           raise ActiveRecord::Rollback
         end
       end