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/') 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/', 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=['{}'.format(url_for('admin_app.virtualhost', server_id=row_id), _('Server users'))] #arr_options=['{}'.format(url_for('admin_app.virtualhost', webserver_id=row_id), _('Websites'))] # #arr_options.append('{}'.format(url_for('admin_app.ports', webserver_id=row_id), _('HTTP Ports'))) #arr_options.append('{}'.format("", _('Edit'))) #arr_options.append('{}'.format(url_for('admin_app.webservers_edit_languages', webserver_id=row_id), _('Languages'))) arr_options.append('{}'.format(url_for('admin_app.delete_webserver', webserver_id=row_id), _('Delete'))) return '
'.join(arr_options)