Commit 2f33ffe3 authored by jan.koester's avatar jan.koester
Browse files

test

parent cb0aa331
Loading
Loading
Loading
Loading
Loading
+15 −4
Changes for data/admin.html: 15 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -282,10 +282,13 @@ function submitEditUser(uid) {
}

/* ---- Domains ---- */
var g_backendType = 0;

function loadDomains() {
    currentView = loadDomains;
    ajaxGet("/settings/" + currentDomain + "/api/checkpermissions", function(perr, pdata) {
        var isSuperAdmin = (!perr && pdata && pdata.superadmin);
        if (!perr && pdata && pdata.backendtype !== undefined) g_backendType = pdata.backendtype;
        ajaxGet("/settings/" + currentDomain + "/api/listdomains", function(err, data) {
            if (err) { showError(err); return; }
            var html = '<p>DomainList:</p><table class="admin-table domainlist">';
@@ -323,22 +326,30 @@ function loadDomains() {
}

function createDomainForm() {
    var isCluster = (g_backendType === 2);
    var html = '<h3>Create Domain</h3>';
    html += '<form id="createdomainform" class="admin-form">';
    html += '<table>';
    html += '<tr><td><label>Domain Name:</label></td><td><input type="text" id="cd_name" class="domaintext" value="tuxist.de"></td></tr>';
    html += '<tr><td><label>Domain Storage:</label></td><td><select id="cd_storage" onchange="var o=document.getElementById(\'cd_options\');if(this.value==\'2\'){o.disabled=true;o.value=\'\';}else{o.disabled=false;}"><option value="0">File</option><option value="2">Cluster</option></select></td></tr>';
    html += '<tr><td><label>Domain Options:</label></td><td><input type="text" id="cd_options" class="domaintext" value="tuxist.de.db"></td></tr>';
    html += '<tr><td><label>Domain Name:</label></td><td><input type="text" id="cd_name" class="domaintext" value=""></td></tr>';
    if (isCluster) {
        html += '<input type="hidden" id="cd_storage" value="2">';
        html += '<tr><td><label>Domain Storage:</label></td><td>Cluster</td></tr>';
    } else {
        html += '<input type="hidden" id="cd_storage" value="0">';
        html += '<tr><td><label>Domain Storage:</label></td><td>File</td></tr>';
        html += '<tr><td><label>Domain Options:</label></td><td><input type="text" id="cd_options" class="domaintext" value=""></td></tr>';
    }
    html += '<tr><td></td><td><input type="button" value="Save" onclick="submitCreateDomain()"></td></tr>';
    html += '</table></form>';
    setContent(html);
}

function submitCreateDomain() {
    var optEl = document.getElementById("cd_options");
    var obj = {
        domainname: document.getElementById("cd_name").value,
        domainstorage: parseInt(document.getElementById("cd_storage").value),
        domainoptions: document.getElementById("cd_options").value
        domainoptions: optEl ? optEl.value : ""
    };
    ajaxPost("/settings/" + currentDomain + "/api/createdomain", obj, function(err, data) {
        if (err) { showError(err); return; }
+4 −0
Changes for src/admin.cpp: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -557,6 +557,10 @@ namespace authdb {
                json_object_object_add(jobj, "sessiondomain", json_object_new_string(sessionDid.c_str()));
            }

            // Expose backend type so frontend can restrict domain storage options
            // 0 = File, 2 = ClusterStore
            json_object_object_add(jobj, "backendtype", json_object_new_int(_AdminBackend.getType()));

            sendJson(curreq, jobj);
            json_object_put(jobj);
        }
+1 −0
Changes for src/backend.h: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ namespace authdb{
        void read(char unsigned *src,size_t srcsize);

        const std::string &getDomain() const { return _Domain; }
        int getType() const { return _Type; }

    private:
        int                                  _Type;