diff --git a/modules/data/webadmin/tmpl/add_edit_chan.tmpl b/modules/data/webadmin/tmpl/add_edit_chan.tmpl
index cac7ba14..b20e74ed 100644
--- a/modules/data/webadmin/tmpl/add_edit_chan.tmpl
+++ b/modules/data/webadmin/tmpl/add_edit_chan.tmpl
@@ -70,7 +70,8 @@
ENDLOOP ?>
-
+
+
diff --git a/modules/data/webadmin/tmpl/add_edit_network.tmpl b/modules/data/webadmin/tmpl/add_edit_network.tmpl
index bb4384b0..7e1147fc 100644
--- a/modules/data/webadmin/tmpl/add_edit_network.tmpl
+++ b/modules/data/webadmin/tmpl/add_edit_network.tmpl
@@ -200,7 +200,8 @@
ENDLOOP ?>
-
+
+
diff --git a/modules/data/webadmin/tmpl/add_edit_user.tmpl b/modules/data/webadmin/tmpl/add_edit_user.tmpl
index 7bd906de..f410b47c 100644
--- a/modules/data/webadmin/tmpl/add_edit_user.tmpl
+++ b/modules/data/webadmin/tmpl/add_edit_user.tmpl
@@ -308,7 +308,12 @@
ENDLOOP ?>
+ IF ImAdmin ?>
+
+
+ ELSE ?>
+ ENDIF ?>
diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp
index 90ddfd2f..11c52842 100644
--- a/modules/webadmin.cpp
+++ b/modules/webadmin.cpp
@@ -717,7 +717,11 @@ public:
return true;
}
- WebSock.Redirect(GetWebPath() + "editnetwork?user=" + pUser->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL));
+ if (WebSock.HasParam("submit_return")) {
+ WebSock.Redirect(GetWebPath() + "editnetwork?user=" + pUser->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL));
+ } else {
+ WebSock.Redirect(GetWebPath() + "editchan?user=" + pUser->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL) + "&name=" + pChan->GetName().Escape_n(CString::EURL));
+ }
return true;
}
@@ -991,7 +995,11 @@ public:
return true;
}
- WebSock.Redirect(GetWebPath() + "edituser?user=" + pUser->GetUserName().Escape_n(CString::EURL));
+ if (WebSock.HasParam("submit_return")) {
+ WebSock.Redirect(GetWebPath() + "edituser?user=" + pUser->GetUserName().Escape_n(CString::EURL));
+ } else {
+ WebSock.Redirect(GetWebPath() + "editnetwork?user=" + pUser->GetUserName().Escape_n(CString::EURL) + "&network=" + pNetwork->GetName().Escape_n(CString::EURL));
+ }
return true;
}
@@ -1326,10 +1334,10 @@ public:
return true;
}
- if (!spSession->IsAdmin()) {
- WebSock.Redirect(GetWebPath() + "edituser");
- } else {
+ if (spSession->IsAdmin() && WebSock.HasParam("submit_return")) {
WebSock.Redirect(GetWebPath() + "listusers");
+ } else {
+ WebSock.Redirect(GetWebPath() + "edituser?user=" + pUser->GetUserName());
}
/* we don't want the template to be printed while we redirect */