ソースを参照

Correction Component.new_rank()

Prise en compte du nom de la collonne indiqué par ranked_in
Driky 10年前
コミット
0090e2551d
1個のファイルの変更4行の追加3行の削除
  1. 4
    3
      EditorialModel/components.py

+ 4
- 3
EditorialModel/components.py ファイルの表示

@@ -18,6 +18,7 @@ class EmComponent(object):
18 18
 
19 19
     dbconf = 'default' #the name of the engine configuration
20 20
     table = None
21
+    ranked_in = None
21 22
     
22 23
     """ instaciate an EmComponent
23 24
         @param id_or_name int|str: name or id of the object
@@ -164,7 +165,7 @@ class EmComponent(object):
164 165
                 component = sql.Table(self.table, sqlutils.meta(dbe))
165 166
                 req = sql.sql.select([component.c.uid, component.c.rank])
166 167
                 if(sign == '='):
167
-                    req = req.where(component.c.ranked_in == self.ranked_in and (component.c.rank >= new_rank or component.c.rank >= new_rank - 1))
168
+                    req = req.where(getattr(component.c, self.ranked_in) == self.ranked_in and (component.c.rank >= new_rank or component.c.rank >= new_rank - 1))
168 169
 
169 170
                     c = dbe.connect()
170 171
                     res = c.execute(req)
@@ -182,7 +183,7 @@ class EmComponent(object):
182 183
                     c.close()
183 184
 
184 185
                 elif(sign == '+'):
185
-                    req = req.where(component.c.ranked_in == self.ranked_in and (component.c.rank <= self.rank + new_rank and component.c.rank > self.rank))
186
+                    req = req.where(getattr(component.c, self.ranked_in) == self.ranked_in and (component.c.rank <= self.rank + new_rank and component.c.rank > self.rank))
186 187
 
187 188
                     c = dbe.connect()
188 189
                     res = c.execute(req)
@@ -199,7 +200,7 @@ class EmComponent(object):
199 200
                     c.close()
200 201
 
201 202
                 elif(sign == '-'):
202
-                    req = req.where(component.c.ranked_in == self.ranked_in and (component.c.rank >= self.rank - new_rank and component.c.rank < self.rank))
203
+                    req = req.where(getattr(component.c, self.ranked_in) == self.ranked_in and (component.c.rank >= self.rank - new_rank and component.c.rank < self.rank))
203 204
 
204 205
                     c = dbe.connect()
205 206
                     res = c.execute(req)

読み込み中…
キャンセル
保存