diff options
author | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-07-05 10:34:27 +0200 |
---|---|---|
committer | lupoDharkael <izhe@hotmail.es> | 2024-07-09 09:52:21 +0200 |
commit | a88e5fed7dec1dd41b3feec0905f4c9925515665 (patch) | |
tree | dcb8501a95ae00451d20e4996a81852ef299f22c /ogcp/views.py | |
parent | f85f0771cd0acaa44fe812f36d08af141e0e663a (diff) |
ogcp: select images of selected partition in image/update
Select the image field value containing the restored image of the
partition selected by the user.
Create a dictionary where the key is the value= of the partition
field and the value is the id of the image restored in the
partition. Add each dictionary entry only only if the corresponding
image exists in the repository.
Pass the dictionary to the HTML template and convert it to JS.
Diffstat (limited to 'ogcp/views.py')
-rw-r--r-- | ogcp/views.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ogcp/views.py b/ogcp/views.py index 097041f..3ceffdf 100644 --- a/ogcp/views.py +++ b/ogcp/views.py @@ -2309,25 +2309,37 @@ def action_image_update(): invalid_part_types = get_invalid_image_partition_types() + part_content = {} for part in r.json()['partitions'][1:]: part_type = PART_TYPE_CODES.get(int(part.get('code')), 'UNKNOWN') if part_type in invalid_part_types: continue + partition_value = f"{part.get('disk')} {part.get('partition')} {part.get('code')}" + partition_text = f"Disk {part.get('disk')} | Partition {part.get('partition')} " + f"| {PART_TYPE_CODES.get(part.get('code'), 'UNKNOWN')} " + f"{FS_CODES.get(part.get('filesystem'), 'UNKNOWN')}" + form.os.choices.append( - (f"{part.get('disk')} {part.get('partition')} {part.get('code')}", + (partition_value, f"Disk {part.get('disk')} | Partition {part.get('partition')} " f"| {PART_TYPE_CODES.get(part.get('code'), 'UNKNOWN')} " f"{FS_CODES.get(part.get('filesystem'), 'UNKNOWN')}") ) + if part['image']: + for image in images[repo_id]: + if image['id'] == part['image']: + part_content[partition_value] = part['image'] + break + scopes, _clients = get_scopes(set(ips)) selected_clients = list(get_selected_clients(scopes['scope']).items()) return render_template('actions/image_update.html', form=form, selected_clients=selected_clients, - scopes=scopes) + scopes=scopes, part_content=part_content) @app.route('/action/reboot', methods=['GET', 'POST']) |