Added order

This commit is contained in:
Antonio de la Rosa 2022-04-01 01:03:08 +02:00
parent a46df4f7ad
commit 80d76d2127
5 changed files with 76 additions and 2 deletions

View file

@ -625,18 +625,35 @@ def pastafari2_edit_update():
update_server.enctype=True update_server.enctype=True
update_server.fields['file'].yes_prefix=False
server=ServerDbTask(db) server=ServerDbTask(db)
url=url_for('.pastafari2_edit_update', server_id=server_id) url=url_for('.pastafari2_edit_update', server_id=server_id)
arr_server=server.select_a_row(server_id) arr_server=server.select_a_row(server_id)
update_server.set_conditions('WHERE server_id=%s', [server_id])
admin=GenerateAdminClass(update_server, url, t) admin=GenerateAdminClass(update_server, url, t)
admin.list.fields_showed=['name', 'file'] admin.list.fields_showed=['name', 'file', 'position']
admin.list.yes_search=False admin.list.yes_search=False
#admin.list.table_div=True
admin.list.order_field='position'
"""
self.arr_extra_fields=[I18n.lang('common', 'options', 'Options')]
self.arr_extra_options=[SimpleList.standard_options]
"""
#admin.list.arr_extra_fields.insert(0, I18n.lang('pastafari2', 'position', 'Position'))
#admin.list.arr_extra_options.insert(0, field_position)
form_admin=admin.show() form_admin=admin.show()
if type(form_admin).__name__=='str': if type(form_admin).__name__=='str':
@ -645,3 +662,29 @@ def pastafari2_edit_update():
else: else:
return form_admin return form_admin
@admin_app.route('/pastafari2/change_order_scripts/', methods=['POST', 'GET'])
def pastafari2_change_order_scripts():
db=g.connection
server_id=request.args.get('server_id', '0')
update_server=UpdateServerScripts(db)
server=ServerDbTask(db)
arr_server=server.select_a_row(server_id)
update_server.set_conditions('WHERE server_id=%s', [server_id])
arr_update_server=update_server.select_to_array()
return t.load_template('change_order_scripts.phtml', title=I18n.lang('pastafari2', 'edit_update', 'Edit update'), path_module='admin_app.pastafari2_change_order_scripts', server_data=arr_server, scripts=arr_update_server)
"""
def field_position(url, row_id, arr_row):
return '<input type="number" name="position_'+row_id+'" value="'+arr_row['position']+'"/>'
"""

2
media/js/Sortable.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -40,3 +40,4 @@ class UpdateServerScripts(WebModel):
self.register(corefields.CharField('name'), True) self.register(corefields.CharField('name'), True)
self.register(FileField('file', './scripts/local/'), True) self.register(FileField('file', './scripts/local/'), True)
self.register(corefields.ForeignKeyField('server_id', ServerDbTask(connection), 11, False, 'id', 'group', select_fields=[])) self.register(corefields.ForeignKeyField('server_id', ServerDbTask(connection), 11, False, 'id', 'group', select_fields=[]))
self.register(corefields.IntegerField('position'))

View file

@ -1,5 +1,5 @@
from modules.pastafari2.libraries.task import Task from modules.pastafari2.libraries.task import Task
from modules.pastafari2.models.pastafari2 import ServerDbTask from modules.pastafari2.models.pastafari2 import ServerDbTask, UpdateServerScripts
class ServerTask(Task): class ServerTask(Task):
@ -12,3 +12,16 @@ class ServerTask(Task):
self.commands_to_execute=[] self.commands_to_execute=[]
self.commands_to_execute.append(['modules/pastafari2/scripts/system/updates.py', '']) self.commands_to_execute.append(['modules/pastafari2/scripts/system/updates.py', ''])
serverdb=ServerDbTask(conn)
arr_server=serverdb.set_conditions('WHERE ip=%s', [server]).select_a_row_where()
update_server=UpdateServerScripts(conn)
arr_update=update_server.set_conditions('WHERE server_id=%s', [arr_server['id']]).select_to_array()
for upd in arr_update:
self.files.append([upd['file'], 0o755])
self.commands_to_execute.append([upd['file'], ''])

View file

@ -1,5 +1,20 @@
<%inherit file="dashboard.phtml"/> <%inherit file="dashboard.phtml"/>
<%block name="content"> <%block name="content">
<h2>${lang('pastafari2', 'edit_update_server', 'Add and order scripts for ')} ${server_data['hostname']}</h2> <h2>${lang('pastafari2', 'edit_update_server', 'Add and order scripts for ')} ${server_data['hostname']}</h2>
<br />
<p><a href="${url_for('admin_app.pastafari2_dashboard')}">${lang('pastafari2', 'servers', 'Servers')}</a> &gt;&gt; ${server_data['hostname']}</p>
${edit_update|n} ${edit_update|n}
<p><a href="${url_for('admin_app.pastafari2_dashboard')}">${lang('pastafari2', 'servers', 'Servers')}</a> &gt;&gt; ${server_data['hostname']}</p>
<input type="button" value="${lang('pastafari2', 'change_scripts_order', 'Change scripts order')}" onclick="location.href='${url_for('admin_app.pastafari2_change_order_scripts', server_id=server_data['id'])}';"/>
</%block>
<%block name="jscript_block">
<script type="text/javascript" src="${make_media_url('js/Sortable.min.js', 'pastafari2')}"></script>
<script>
sortable_list=document.getElementById('updateserverscripts_table_rows');
sortable_var=new Sortable(sortable_list, {
animation: 150,
/*ghostClass: 'blue-background-class'*/
});
</script>
</%block> </%block>