|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
3 | | -import ipywidgets as ipw |
4 | 3 | import traitlets as tl |
5 | 4 | from IPython.display import Javascript, display |
6 | 5 |
|
@@ -64,6 +63,7 @@ def confirm(self): |
64 | 63 | super().confirm() |
65 | 64 | if not self.has_process: |
66 | 65 | self._submit() |
| 66 | + self.lock() |
67 | 67 |
|
68 | 68 | def _update(self, specific=""): |
69 | 69 | self.update_process_label() |
@@ -150,7 +150,10 @@ def update_process_metadata(self): |
150 | 150 | return |
151 | 151 | self.process_label = self.process.label |
152 | 152 | self.process_description = self.process.description |
153 | | - self.locked = True |
| 153 | + |
| 154 | + def refresh_codes(self, filter_codes_for_user: bool = True): |
| 155 | + for _, resource_model in self.get_models(): |
| 156 | + resource_model.refresh_codes(filter_codes_for_user=filter_codes_for_user) |
154 | 157 |
|
155 | 158 | def get_model_state(self) -> dict: |
156 | 159 | return { |
@@ -207,20 +210,6 @@ def _submit(self): |
207 | 210 | pk = process_node.pk |
208 | 211 | display(Javascript(f"window.history.pushState(null, '', '?pk={pk}');")) |
209 | 212 |
|
210 | | - def _link_model(self, model: ResourceSettingsModel): |
211 | | - for dependency in model.dependencies: |
212 | | - dependency_parts = dependency.split(".") |
213 | | - if len(dependency_parts) == 1: # from parent, e.g. input_structure |
214 | | - target_model = self |
215 | | - trait = dependency |
216 | | - else: # from sibling, e.g. workchain.protocol |
217 | | - sibling, trait = dependency_parts |
218 | | - target_model = self.get_model(sibling) |
219 | | - ipw.dlink( |
220 | | - (target_model, trait), |
221 | | - (model, trait), |
222 | | - ) |
223 | | - |
224 | 213 | def _get_properties(self) -> list[str]: |
225 | 214 | return self.input_parameters.get("workchain", {}).get("properties", []) |
226 | 215 |
|
@@ -256,12 +245,6 @@ def _check_blockers(self): |
256 | 245 | if not self.input_parameters: |
257 | 246 | yield "No selected input parameters" |
258 | 247 |
|
259 | | - if self.installing_qe: |
260 | | - yield "Installing Quantum ESPRESSO codes..." |
261 | | - |
262 | | - if not self.qe_installed: |
263 | | - yield "Quantum ESPRESSO is not yet installed" |
264 | | - |
265 | 248 | def _check_warnings(self): |
266 | 249 | """Check for any warnings that should be displayed to the user.""" |
267 | 250 | return "" |
0 commit comments