22from django .utils .translation import ugettext_lazy as _
33from django .utils .translation import ungettext_lazy
44from django .core .urlresolvers import reverse_lazy
5+ from django import shortcuts
56from horizon import exceptions
67from horizon import messages
78from horizon import tables
@@ -38,23 +39,24 @@ class LoadSwiftPolicies(tables.Action):
3839 name = "load_swift_policies"
3940 verbose_name = _ ("Load Swift Policies" )
4041 requires_input = False
41- success_url = "horizon:crystal:rings:index "
42-
42+ icon = "upload "
43+
4344 def allowed (self , request , policies ):
44- return len (self .table .get_rows ()) == 0 ;
45-
46- def handle (self , data_table , request , object_ids ):
45+ return len (self .table .get_rows ()) == 0
46+
47+ def single (self , data_table , request , object_id ):
4748 try :
4849 response = api .load_swift_policies (request )
4950 if 200 <= response .status_code < 300 :
50- messages .success (request , _ ("Policies loaded successfully" ))
51+ messages .success (request , _ ("Storage Policies loaded successfully" ))
52+ return shortcuts .redirect ('horizon:crystal:rings:index' )
5153 else :
5254 raise sdsexception .SdsException (response .text )
5355 except Exception as ex :
5456 redirect = reverse ("horizon:crystal:rings:index" )
5557 error_message = "Unable to load policies.\t %s" % ex .message
5658 exceptions .handle (request , _ (error_message ), redirect = redirect )
57-
59+
5860
5961class ManageDisksLink (tables .LinkAction ):
6062 name = "users"
@@ -87,11 +89,11 @@ def get_data(self, request, obj_id):
8789 response = api .swift_storage_policy_detail (request , obj_id )
8890 inst = json .loads (response .text )
8991 parameters = ', ' .join ([key .replace ('_' , ' ' ).title ()+ ':' + inst [key ] for key in inst .keys () if key not in ['id' , 'name' , 'policy_type' , 'default' , 'devices' , 'deprecated' , 'deployed' ]])
90- policy = storage_policies_models .StoragePolicy (inst ['storage_policy_id' ], inst ['name' ], inst ['policy_type' ],
92+ policy = storage_policies_models .StoragePolicy (inst ['storage_policy_id' ], inst ['name' ], inst ['policy_type' ],
9193 inst ['default' ], parameters , inst ['deprecated' ], inst ['deployed' ], inst ['devices' ])
9294
9395 return policy
94-
96+
9597
9698class UpdateStoragePolicy (tables .LinkAction ):
9799 name = "update"
@@ -141,7 +143,7 @@ def delete(self, request, obj_id):
141143class DeleteMultipleStoragePolicies (DeleteStoragePolicy ):
142144 name = "delete_multiple_storage_policies"
143145
144-
146+
145147class DeployChanges (tables .BatchAction ):
146148 @staticmethod
147149 def action_present (count ):
@@ -163,7 +165,7 @@ def action_past(count):
163165 icon = "plus"
164166 requires_input = True
165167 success_url = "horizon:crystal:rings:index"
166-
168+
167169 def allowed (self , request , storage_policy ):
168170 return not storage_policy .deployed
169171
@@ -176,7 +178,7 @@ def action(self, request, obj_id):
176178 redirect = reverse ("horizon:crystal:rings:index" )
177179 error_message = "Unable to deploy storage policy.\t %s" % ex .message
178180 exceptions .handle (request , _ (error_message ), redirect = redirect )
179-
181+
180182
181183class StoragePolicyTable (tables .DataTable ):
182184
@@ -187,14 +189,14 @@ class StoragePolicyTable(tables.DataTable):
187189 form_field = forms .ChoiceField (choices = [('True' , _ ('True' )), ('False' , _ ('False' ))]), update_action = UpdateCell )
188190 parameters = tables .Column ('parameters' , verbose_name = _ ("Parameters" ))
189191 deprecated = tables .Column ('deprecated' , verbose_name = _ ("Deprecated" ),
190- form_field = forms .ChoiceField (choices = [('True' , _ ('True' )), ('False' , _ ('False' ))]), update_action = UpdateCell )
192+ form_field = forms .ChoiceField (choices = [('True' , _ ('True' )), ('False' , _ ('False' ))]), update_action = UpdateCell )
191193 devices = tables .Column ('devices' , verbose_name = _ ("Devices" ))
192194 deployed = tables .Column ('deployed' , verbose_name = _ ("Deployed" ))
193195
194196 class Meta :
195197 name = "storagepolicies"
196198 verbose_name = _ ("Storage Policies" )
197- table_actions = (MyFilterAction , CreateStoragePolicy , CreateECStoragePolicy , LoadSwiftPolicies ,DeleteMultipleStoragePolicies ,)
199+ table_actions = (MyFilterAction , CreateStoragePolicy , CreateECStoragePolicy , LoadSwiftPolicies , DeleteMultipleStoragePolicies ,)
198200 row_actions = (DeployChanges , ManageDisksLink , UpdateStoragePolicy , DeleteStoragePolicy )
199201 row_class = UpdateRow
200202
@@ -240,8 +242,7 @@ def delete(self, request, obj_id):
240242 redirect = reverse ("horizon:crystal:rings:storage_policies:devices" )
241243 error_message = "Unable to remove disk.\t %s" % ex .message
242244 exceptions .handle (request , _ (error_message ), redirect = redirect )
243-
244-
245+
245246 def get_success_url (self , request = None ):
246247 policy_id = self .table .kwargs .get ('policy_id' , None )
247248 return reverse (self .success_url , args = [policy_id ])
@@ -297,7 +298,7 @@ def action(self, request, obj_id):
297298 def get_success_url (self , request = None ):
298299 policy_id = self .table .kwargs .get ('policy_id' , None )
299300 return reverse (self .success_url , args = [policy_id ])
300-
301+
301302
302303class AddDisksTable (ManageDisksTable ):
303304
0 commit comments