- Добавлено модальное окно редактирования номера
This commit is contained in:
Alexander Zhirov 2023-06-01 01:10:08 +03:00
parent cf3962d71d
commit c0290cd753
12 changed files with 294 additions and 128 deletions

View file

@ -18,6 +18,7 @@ import structures;
import requests.listsgroups;
import requests.groupnumbers;
import requests.editnumber;
static ServerInfo serverInfo;
@ -169,10 +170,10 @@ void postReq(HTTPServerRequest req, HTTPServerResponse res) {
switch (query) {
case "listsgroups":
listsgroups(req, res);
listsGroups(req, res);
break;
case "groupnumbers":
groupnumbers(req, res);
groupNumbers(req, res);
break;
// case "authorization":
// authorization(req, res);
@ -189,9 +190,9 @@ void postReq(HTTPServerRequest req, HTTPServerResponse res) {
// case "write":
// writeNumber(req, res);
// break;
// case "edit":
// editNumber(req, res);
// break;
case "editnumber":
editNumber(req, res);
break;
// case "update":
// updateNumber(req, res);
// break;

View file

@ -11,10 +11,10 @@ GroupDB[] getListGroups() {
try {
auto queryResult = pgsql.sql(
"select distinct
n.da_group,
g.da_comment
from da_numbers n
left join da_groups g ON g.da_name = n.da_group"
dan.da_group,
dag.da_comment
from da_numbers dan
left join da_groups dag ON dag.da_name = dan.da_group"
);
foreach (row; queryResult) {
GroupDB data;
@ -43,8 +43,8 @@ NumberDB[] getListNumbers(string group) {
dan.da_black_cc,
dan.da_comment
from da_numbers dan
left join da_lists dal on dal.da_name = dan.da_list
where da_group = ?",
left join da_lists dal on dal.da_name = dan.da_list
where dan.da_group = ?",
group
);
foreach (row; queryResult) {
@ -65,3 +65,77 @@ NumberDB[] getListNumbers(string group) {
return numbers;
}
NumberDB getDataNumber(string number) {
NumberDB data;
try {
auto queryResult = pgsql.sql(
"select
da_number,
da_group,
da_list,
da_all_cc,
da_white_cc,
da_black_cc,
da_comment
from da_numbers
where da_number = ?",
number
);
foreach (row; queryResult) {
data.number = row["da_number"];
data.group = row["da_group"];
data.list = row["da_list"];
data.all_cc = row["da_all_cc"].to!int;
data.white_cc = row["da_white_cc"].to!int;
data.black_cc = row["da_black_cc"].to!int;
data.comment = row["da_comment"];
}
} catch (Exception e) {
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
}
return data;
}
GroupDB[] getGroups() {
GroupDB[] groups;
try {
auto queryResult = pgsql.sql(
"select da_name, da_comment from da_groups"
);
foreach (row; queryResult) {
GroupDB data;
data.name = row["da_name"];
data.comment = row["da_comment"];
groups ~= data;
}
} catch (Exception e) {
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
}
return groups;
}
ListDB[] getLists() {
ListDB[] lists;
try {
auto queryResult = pgsql.sql(
"select da_name, da_comment from da_lists"
);
foreach (row; queryResult) {
ListDB data;
data.name = row["da_name"];
data.comment = row["da_comment"];
lists ~= data;
}
} catch (Exception e) {
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
}
return lists;
}

View file

@ -0,0 +1,15 @@
module requests.editnumber;
import vibe.vibe;
import response;
import data;
import singlog;
void editNumber(HTTPServerRequest req, HTTPServerResponse res) {
auto jsr = req.json;
bool edit = true;
auto dataNumber = getDataNumber(jsr["number"].get!string);
auto groups = getGroups();
auto lists = getLists();
render!("edit-number.dt", edit, dataNumber, groups, lists)(res);
}

View file

@ -5,7 +5,7 @@ import response;
import data;
import singlog;
void groupnumbers(HTTPServerRequest req, HTTPServerResponse res) {
void groupNumbers(HTTPServerRequest req, HTTPServerResponse res) {
auto jsr = req.json;
res.writeJsonBody(getListNumbers(jsr["group"].get!string).serializeToJson());
}

View file

@ -4,7 +4,7 @@ import vibe.vibe;
import response;
import data;
void listsgroups(HTTPServerRequest req, HTTPServerResponse res) {
void listsGroups(HTTPServerRequest req, HTTPServerResponse res) {
auto listGroups = getListGroups();
render!("group-numbers-list.dt", listGroups)(res);
}

View file

@ -22,6 +22,11 @@ struct GroupDB {
string comment;
}
struct ListDB {
string name;
string comment;
}
struct NumberDB {
string number;
string group;