mirror of
https://github.com/Relintai/crystal_cms_rcpp_fw.git
synced 2025-04-22 20:41:18 +02:00
Also implemented the delete button.
This commit is contained in:
parent
f33db81891
commit
8394a4b6d5
2
HEADS
2
HEADS
@ -1 +1 @@
|
||||
{"engine": {"master": "d9c36d0a4e62644ce964c0761961f2b7120ba800"}}
|
||||
{"engine": {"master": "f2458084e67b1df3830a4081c3b35d3e5bfe1c93"}}
|
@ -166,7 +166,8 @@ void MenuNode::render_menuentry_view(Request *request, MenudminEntryViewData *da
|
||||
b.w("Create Page?");
|
||||
b.input_checkbox("create_page", "create_page")->checked()->f()->br();
|
||||
}
|
||||
|
||||
|
||||
b.br();
|
||||
b.input()->type("submit")->value("Save");
|
||||
}
|
||||
b.cform();
|
||||
@ -277,24 +278,45 @@ void MenuNode::admin_handle_down(Request *request) {
|
||||
}
|
||||
|
||||
void MenuNode::admin_handle_delete(Request *request) {
|
||||
/*
|
||||
$id = $request->input('id');
|
||||
String pid = request->get_parameter("id");
|
||||
|
||||
if (!$id || !is_numeric($id))
|
||||
{
|
||||
return redirect()->back();
|
||||
if (!pid.is_int()) {
|
||||
request->send_redirect(request->get_url_root_parent());
|
||||
return;
|
||||
}
|
||||
|
||||
int id = pid.to_int();
|
||||
|
||||
// TODO
|
||||
// Also lock everywhere else
|
||||
//_data->write_lock()
|
||||
|
||||
for (int i = 0; i < _data->entries.size(); ++i) {
|
||||
Ref<MenuDataEntry> e = _data->entries[i];
|
||||
|
||||
if (e->id == id) {
|
||||
int sort_order = e->sort_order;
|
||||
|
||||
for (int j = 0; j < _data->entries.size(); ++j) {
|
||||
Ref<MenuDataEntry> be = _data->entries[j];
|
||||
|
||||
if (be->sort_order > sort_order) {
|
||||
be->sort_order -= 1;
|
||||
db_save_menu_entry(be);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$current = Menu::findOrFail($id);
|
||||
db_delete_menu_entry(e->id);
|
||||
|
||||
Log::info('MenuEntry deleted! Json: ' . $current->toJson());
|
||||
_data->entries.remove_keep_order(i);
|
||||
|
||||
$current->delete();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Menu::where('sort_order', '>', $current->sort_order)->decrement('sort_order', 1);
|
||||
|
||||
return redirect()->back();
|
||||
*/
|
||||
//_data->write_unlock()
|
||||
request->send_redirect(request->get_url_root_parent());
|
||||
}
|
||||
|
||||
String MenuNode::admin_get_section_name() {
|
||||
@ -457,6 +479,13 @@ void MenuNode::db_save_menu_entry(const Ref<MenuDataEntry> &entry) {
|
||||
}
|
||||
}
|
||||
|
||||
void MenuNode::db_delete_menu_entry(const int id) {
|
||||
Ref<QueryBuilder> qb = get_query_builder();
|
||||
|
||||
qb->del(_table)->where()->wp("id", id);
|
||||
qb->run_query();
|
||||
}
|
||||
|
||||
void MenuNode::create_table() {
|
||||
Ref<TableBuilder> tb = get_table_builder();
|
||||
|
||||
|
@ -53,6 +53,7 @@ public:
|
||||
|
||||
virtual void db_save(const Ref<MenuData> &menu);
|
||||
virtual void db_save_menu_entry(const Ref<MenuDataEntry> &entry);
|
||||
virtual void db_delete_menu_entry(const int id);
|
||||
|
||||
void create_table();
|
||||
void drop_table();
|
||||
|
Loading…
Reference in New Issue
Block a user