119 lines
4.4 KiB
Plaintext
119 lines
4.4 KiB
Plaintext
<%@ LANGUAGE = JavaScript %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: rs_columns_save.asp
|
|
Description: Save user-defined columns for non-scaffolding lists.
|
|
Parameters:
|
|
Globals:
|
|
Context: used by resultset_table_v2.js
|
|
Note:
|
|
*/ %>
|
|
<%
|
|
var JSON_Result = true;
|
|
%>
|
|
<!--#include file="../Shared/common.inc"-->
|
|
<!--#include file="../Shared/save2db.inc"-->
|
|
<%
|
|
protectRequest.validateToken();
|
|
var code = getFParam("code", "");
|
|
var cols = getFParamArray("columns", []);
|
|
var resetcols = getFParamInt("resetcols", 0);
|
|
if (cols.length > 0)
|
|
{
|
|
savePerslidCols(code, cols);
|
|
}
|
|
else if (resetcols == 1)
|
|
{
|
|
resetCols(code)
|
|
}
|
|
|
|
function resetCols(code)
|
|
{
|
|
var sql = "DELETE prs_perslid_tabs"
|
|
+ " WHERE prs_perslid_tabs_code = " + safe.quoted_sql(code)
|
|
+ " AND prs_perslid_key = " + user_key;
|
|
Oracle.Execute(sql);
|
|
}
|
|
|
|
function savePerslidCols(code, cols)
|
|
{
|
|
var index;
|
|
var visible;
|
|
var field;
|
|
var combine;
|
|
if (cols.length > 0)
|
|
{
|
|
var sql = "SELECT c.prs_perslid_tabs_key, c.prs_perslid_cols_column_name"
|
|
+ " FROM prs_perslid_tabs t, prs_perslid_cols c"
|
|
+ " WHERE t.prs_perslid_tabs_code = " + safe.quoted_sql(code)
|
|
+ " AND c.prs_perslid_tabs_key = t.prs_perslid_tabs_key"
|
|
+ " AND t.prs_perslid_key = " + user_key
|
|
+ " ORDER BY c.prs_perslid_tabs_key, c.prs_perslid_cols_volgnr, c.prs_perslid_cols_column_name";
|
|
var oRs = Oracle.Execute(sql);
|
|
if (oRs.eof)
|
|
{
|
|
oRs.close();
|
|
var fields = [ { dbs: "prs_perslid_tabs_key", typ: "key", seq: "prs_s_prs_perslid_tabs_key" },
|
|
{ dbs: "prs_perslid_tabs_code", typ: "varchar", val: code },
|
|
{ dbs: "prs_perslid_key", typ: "key", val: user_key, foreign: "prs_perslid" }
|
|
];
|
|
var tabsIns = buildInsert("prs_perslid_tabs", fields);
|
|
var tabs_key = tabsIns.sequences["prs_perslid_tabs_key"];
|
|
sql = tabsIns.sql;
|
|
Oracle.Execute(sql);
|
|
// insert column records
|
|
for (index = 0; index < cols.length; index++)
|
|
{
|
|
field = cols[index].split("|")[0];
|
|
visible = cols[index].split("|")[1];
|
|
combine = cols[index].split("|")[2];
|
|
fields = [ { dbs: "prs_perslid_cols_key", typ: "key", seq: "prs_s_prs_perslid_cols_key" },
|
|
{ dbs: "prs_perslid_tabs_key", typ: "key", val: tabs_key, foreign: "prs_perslid_tabs" },
|
|
{ dbs: "prs_perslid_cols_volgnr", typ: "number", val: index },
|
|
{ dbs: "prs_perslid_cols_column_name", typ: "varchar", val: field },
|
|
{ dbs: "prs_perslid_cols_visible", typ: "varchar", val: visible },
|
|
{ dbs: "prs_perslid_cols_combine", typ: "number", val: combine }
|
|
];
|
|
var colsIns = buildInsert("prs_perslid_cols", fields);
|
|
sql = colsIns.sql;
|
|
Oracle.Execute(sql);
|
|
}
|
|
return cols;
|
|
}
|
|
else
|
|
{
|
|
var tabs_key = oRs("prs_perslid_tabs_key").Value;
|
|
var sqlCol = "";
|
|
while (!oRs.eof)
|
|
{
|
|
for (index = 0; index < cols.length; index++)
|
|
{
|
|
field = cols[index].split("|")[0];
|
|
visible = cols[index].split("|")[1];
|
|
combine = cols[index].split("|")[2];
|
|
if (oRs("prs_perslid_cols_column_name").Value == field)
|
|
{
|
|
fields = [ { dbs: "prs_perslid_cols_volgnr", typ: "number", val: index },
|
|
{ dbs: "prs_perslid_cols_column_name", typ: "varchar", val: field },
|
|
{ dbs: "prs_perslid_cols_visible", typ: "varchar", val: visible },
|
|
{ dbs: "prs_perslid_cols_combine", typ: "number", val: combine }
|
|
];
|
|
sqlCol = buildUpdate("prs_perslid_cols", fields)
|
|
+ " prs_perslid_tabs_key = " + tabs_key
|
|
+ " AND prs_perslid_cols_column_name = " + safe.quoted_sql(field);
|
|
Oracle.Execute(sqlCol);
|
|
break;
|
|
}
|
|
}
|
|
oRs.MoveNext();
|
|
}
|
|
}
|
|
oRs.Close();
|
|
}
|
|
}
|
|
|
|
Response.Write(JSON.stringify({ success: true }));
|
|
%><% ASPPAGE_END(); %>
|