Aded options for add more scripts to update

This commit is contained in:
Antonio de la Rosa 2022-03-31 01:06:36 +02:00
parent 3f9648371e
commit a46df4f7ad
4 changed files with 56 additions and 2 deletions

View file

@ -3,7 +3,7 @@ from flask import g, url_for, request, session, make_response
from paramecio2.libraries.generate_admin_class import GenerateAdminClass
from paramecio2.libraries.i18n import I18n
from paramecio2.modules.admin import admin_app, t as admin_t
from paramecio2.libraries.db.coreforms import SelectForm, SelectModelForm
from paramecio2.libraries.db.coreforms import SelectForm, SelectModelForm, HiddenForm
from paramecio2.libraries.mtemplates import PTemplate, env_theme
from paramecio2.libraries import datetime
from paramecio2.libraries.urls import make_media_url
@ -15,7 +15,7 @@ from paramecio2.libraries.formsutils import show_form
from modules.pastafari2.libraries.task import Task as SSHTask
from modules.pastafari2.models.tasks import Task, LogTask
from modules.pastafari2.libraries.configtask import config_task
from modules.pastafari2.models.pastafari2 import ServerGroup, ServerDbTask
from modules.pastafari2.models.pastafari2 import ServerGroup, ServerDbTask, UpdateServerScripts
from pathlib import Path
import paramiko
import socket
@ -410,6 +410,8 @@ def options_options(row_id, row):
#arr_options.append('<a href="{}">{}</a>'.format("", I18n.lang('pastafari2', 'make_task', 'Make task')))
arr_options.append('<a href="{}">{}</a>'.format(url_for('admin_app.pastafari2_delete_server', server_id=row_id), I18n.lang('pastafari2', 'delete', 'Delete')))
arr_options.append('<a href="{}">{}</a>'.format(url_for('admin_app.pastafari2_edit_update', server_id=row_id), I18n.lang('pastafari2', 'edit_update', 'Edit update task')))
return '<br />'.join(arr_options)
@ -605,5 +607,41 @@ def pastafari2_edit_server():
else:
return form_admin
@admin_app.route('/pastafari2/edit_update/', methods=['POST', 'GET'])
def pastafari2_edit_update():
"""Simple function for edit and add extra scripts for update function"""
db=g.connection
server_id=request.args.get('server_id', '0')
update_server=UpdateServerScripts(db)
update_server.fields['server_id'].name_form=HiddenForm
update_server.fields['server_id'].extra_parameters=[]
update_server.fields['server_id'].default_value=server_id
update_server.enctype=True
server=ServerDbTask(db)
url=url_for('.pastafari2_edit_update', server_id=server_id)
arr_server=server.select_a_row(server_id)
admin=GenerateAdminClass(update_server, url, t)
admin.list.fields_showed=['name', 'file']
admin.list.yes_search=False
form_admin=admin.show()
if type(form_admin).__name__=='str':
return t.load_template('edit_update.phtml', title=I18n.lang('pastafari2', 'edit_update', 'Edit update'), path_module='admin_app.pastafari2_edit_update', server_data=arr_server, edit_update=form_admin)
else:
return form_admin

1
admin/edit_update.py Normal file
View file

@ -0,0 +1 @@

View file

@ -9,6 +9,7 @@ from paramecio2.libraries.db.extrafields.urlfield import DomainField
from paramecio2.libraries.db.extrafields.dictfield import DictField
from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField
from paramecio2.libraries.db.extrafields.parentfield import ParentField
from paramecio2.libraries.db.extrafields.filefield import FileField
from paramecio2.libraries.urls import make_media_url
from paramecio2.libraries import datetime
from paramecio2.modules.admin.models.admin import UserAdmin
@ -30,3 +31,12 @@ class ServerDbTask(Server):
super().__init__(connection)
self.fields['group'].required=False
self.register(corefields.ForeignKeyField('group_id', ServerGroup(connection), 11, False, 'id', 'group', select_fields=[]))
class UpdateServerScripts(WebModel):
def __init__(self, connection=None):
super().__init__(connection)
self.register(corefields.CharField('name'), True)
self.register(FileField('file', './scripts/local/'), True)
self.register(corefields.ForeignKeyField('server_id', ServerDbTask(connection), 11, False, 'id', 'group', select_fields=[]))

View file

@ -0,0 +1,5 @@
<%inherit file="dashboard.phtml"/>
<%block name="content">
<h2>${lang('pastafari2', 'edit_update_server', 'Add and order scripts for ')} ${server_data['hostname']}</h2>
${edit_update|n}
</%block>