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.generate_admin_class import GenerateAdminClass
from paramecio2.libraries.i18n import I18n from paramecio2.libraries.i18n import I18n
from paramecio2.modules.admin import admin_app, t as admin_t 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.mtemplates import PTemplate, env_theme
from paramecio2.libraries import datetime from paramecio2.libraries import datetime
from paramecio2.libraries.urls import make_media_url 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.libraries.task import Task as SSHTask
from modules.pastafari2.models.tasks import Task, LogTask from modules.pastafari2.models.tasks import Task, LogTask
from modules.pastafari2.libraries.configtask import config_task 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 from pathlib import Path
import paramiko import paramiko
import socket 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("", 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_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) return '<br />'.join(arr_options)
@ -605,5 +607,41 @@ def pastafari2_edit_server():
else: else:
return form_admin 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.dictfield import DictField
from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField
from paramecio2.libraries.db.extrafields.parentfield import ParentField 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.urls import make_media_url
from paramecio2.libraries import datetime from paramecio2.libraries import datetime
from paramecio2.modules.admin.models.admin import UserAdmin from paramecio2.modules.admin.models.admin import UserAdmin
@ -30,3 +31,12 @@ class ServerDbTask(Server):
super().__init__(connection) super().__init__(connection)
self.fields['group'].required=False self.fields['group'].required=False
self.register(corefields.ForeignKeyField('group_id', ServerGroup(connection), 11, False, 'id', 'group', select_fields=[])) 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>