OSDN Git Service

fix filer edit box
[pettanr/pettanr.git] / app / assets / javascripts / pettanr / operator.js.coffee
index e0d8ee8..16d709b 100644 (file)
@@ -1,71 +1,46 @@
 class Pettanr.Operator\r
   \r
-  initialize: (operators) ->\r
+  constructor: (operators) ->\r
     @operators = operators\r
+    @user = @find_user()\r
+    @author = @find_author()\r
+    @artist = @find_artist()\r
+    @admin = @find_admin()\r
   \r
   #InstanceMethods\r
   find_user: () ->\r
-    _.each @operators, (operator) ->\r
-      return operator if operator instanceof Pettanr.User\r
-      return operator.user if operator instanceof Pettanr.Author\r
-      return operator.user if operator instanceof Pettanr.Artist\r
-    nil\r
+    _.find @operators, (operator) ->\r
+      console.log operator.constructor.name\r
+      Pettanr[operator.constructor.name] == Pettanr.User\r
   \r
   find_author: () ->\r
-    _.each @operators, (operator) ->\r
-      return operator if operator instanceof Pettanr.Author\r
-      return operator.author if operator instanceof Pettanr.User\r
-      return operator.user.author if (operator instanceof Pettanr.Artist) and operator.user.author\r
-    nil\r
+    _.find @operators, (operator) ->\r
+      Pettanr[operator.constructor.name] == Pettanr.Author\r
   \r
   find_artist: () ->\r
-    _.each @operators, (operator) ->\r
-      return operator.user.artist if (operator instanceof Pettanr.Author) and operator.user.artist\r
-      return operator.artist if operator instanceof Pettanr.User\r
-      return operator if operator instanceof Pettanr.Artist\r
-    nil\r
+    _.find @operators, (operator) ->\r
+      Pettanr[operator.constructor.name] == Pettanr.Artist\r
   \r
   find_admin: () ->\r
-    _.each @operators, (operator) ->\r
-      return operator if operator instanceof Pettanr.Admin\r
-    nil\r
-  \r
-  user: () ->\r
-    return @user if @user\r
-    @user = @find_user()\r
-  \r
-  author: () ->\r
-    return @author if @author\r
-    @author = @find_author()\r
-  \r
-  artist: () ->\r
-    return @artist if @artist\r
-    @artist = @find_artist()\r
-  \r
-  admin: () ->\r
-    return @admin if @admin\r
-    @admin = @find_admin()\r
+    _.find @operators, (operator) ->\r
+      Pettanr[operator.constructor.name] == Pettanr.Admin\r
   \r
   is_guest: () ->\r
     true\r
   \r
   is_reader: () ->\r
-    _.each @operators, (operator) ->\r
-      return true if (operator instanceof Pettanr.Author) or (operator instanceof Pettanr.Artist) or (operator instanceof Pettanr.Admin) or (operator instanceof Pettanr.User)\r
+    return true if @author or @artist or @admin or @user\r
     false\r
   \r
   is_user: () ->\r
-    _.each @operators, (operator) ->\r
-      return true if (operator instanceof Pettanr.Author) or (operator instanceof Pettanr.Artist) or (operator instanceof Pettanr.User)\r
+    return true if @author or @artist or @user\r
     false\r
   \r
   is_resource_reader: () ->\r
-    _.each @operators, (operator) ->\r
-      return true if (operator instanceof Pettanr.Author) or (operator instanceof Artist) or (operator instanceof Pettanr.Admin) or (operator instanceof Pettanr.User) or (operator instanceof Pettanr.DemandUser)\r
+    return true if @author or @artist or @admin or @user or @demand_user\r
     false\r
   \r
   is_admin: () ->\r
-    _.each @operators, (operator) ->\r
-      return true if operator instanceof Pettanr.Admin\r
+    return true if @admin\r
     false\r
   \r