Added languages.py for compatiblity

This commit is contained in:
Antonio de la Rosa 2025-06-11 14:30:47 +02:00
parent 46c92b2a49
commit 72c3733409

89
admin/languages.py Normal file
View file

@ -0,0 +1,89 @@
from settings import config
from flask import g, url_for, request, session, make_response
from paramecio2.libraries.generate_admin_class import GenerateAdminClass
from paramecio2.libraries.lists import SimpleList
from paramecio2.libraries.i18n import I18n, PGetText
from paramecio2.modules.admin import admin_app, t as admin_t
from paramecio2.libraries.db.webmodel import WebModel
from paramecio2.libraries.lists import AjaxList
from modules.pastafari2.models.pastafari2 import ServerGroup, ServerDbTask, UpdateServerScripts
from modules.pastafari2.models.tasks import Task as SSHTask
from modules.apache.models.webservers import VirtualHost, UsersFtp, WebServer, WebServerPort
from paramecio2.libraries.mtemplates import PTemplate, env_theme
from paramecio2.libraries.formsutils import show_form
from paramecio2.libraries.db.coreforms import HiddenForm, SelectForm, TextForm, PasswordForm
from paramecio2.libraries.slugify import slugify
from modules.pastafari2.libraries.configtask import config_task
from modules.pastafari2.libraries.progress import load_progress
from modules.apache.models.languages import Language, languages
import os
try:
import ujson as json
except:
import json
pgettext=PGetText(__file__+'/../')
_=pgettext.gettext
env=env_theme(__file__)
t=PTemplate(env)
t.env.directories=admin_t.env.directories
t.env.directories.insert(1, os.path.dirname(__file__).replace('/admin', '')+'/templates/admin')
t.env.directories.insert(2, '../pastafari2/templates/admin')
@admin_app.route('/webservers/edit_languages/<int:webserver_id>')
def webservers_edit_languages(webserver_id):
return t.load_template('languages.phtml', title=_('languages'), path_module='admin_app.webservers', webserver_id=webserver_id, languages=languages)
@admin_app.route('/get_languages/<int:webserver_id>', methods=['POST'])
def get_languages(webserver_id):
db=g.connection
#language=Language(db)
group_sql=''
count_data=[]
sql_data=[webserver_id]
fields=[['Language', True], ['Version', True], [_('Options'), False]]
arr_order_fields=['name', 'version']
count_query=['select count(language.id) as num_elements from language', count_data]
# server.id as select_id,
# select hostname, ip, date, num_updates, id from serverofuser where user_id=%s;
#str_query=['select webserver.hostname, webserver.ip, webserver.id from webserver,serverdbtask', sql_data]
str_query=['select name, version from language where webserver_id=%s', sql_data]
ajax=AjaxList(db, fields, arr_order_fields, count_query, str_query)
#ajax.func_fields['id']=options_server
#ajax.func_fields['ip']=options_ip
#ajax.func_fields['select_id']=options_selected
ajax.func_fields['id']=options_options
ajax.limit=0
return ajax.show()
def options_options(row_id, row):
#arr_options=['<a href="{}">{}</a>'.format(url_for('admin_app.virtualhost', server_id=row_id), _('Server users'))]
#arr_options=['<a href="{}">{}</a>'.format(url_for('admin_app.virtualhost', webserver_id=row_id), _('Websites'))]
#
#arr_options.append('<a href="{}">{}</a>'.format(url_for('admin_app.ports', webserver_id=row_id), _('HTTP Ports')))
#arr_options.append('<a href="{}">{}</a>'.format("", _('Edit')))
#arr_options.append('<a href="{}">{}</a>'.format(url_for('admin_app.webservers_edit_languages', webserver_id=row_id), _('Languages')))
arr_options.append('<a href="{}">{}</a>'.format(url_for('admin_app.delete_webserver', webserver_id=row_id), _('Delete')))
return '<br />'.join(arr_options)