|
@@ -1,9 +1,9 @@
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
- "net/http"
|
|
|
- "fmt"
|
|
|
"encoding/json"
|
|
|
+ "fmt"
|
|
|
+ "net/http"
|
|
|
|
|
|
reg "imuslab.com/arozos/mod/auth/register"
|
|
|
prout "imuslab.com/arozos/mod/prouter"
|
|
@@ -13,81 +13,92 @@ var (
|
|
|
registerHandler *reg.RegisterHandler
|
|
|
)
|
|
|
|
|
|
-func RegisterSystemInit(){
|
|
|
+func RegisterSystemInit() {
|
|
|
//Register the endpoints for public registration
|
|
|
rh := reg.NewRegisterHandler(sysdb, authAgent, permissionHandler, reg.RegisterOptions{
|
|
|
- Hostname: *host_name,
|
|
|
+ Hostname: *host_name,
|
|
|
VendorIcon: "web/" + iconVendor,
|
|
|
- });
|
|
|
+ })
|
|
|
|
|
|
registerHandler = rh
|
|
|
|
|
|
//Set the allow registry states
|
|
|
- if (*allow_public_registry){
|
|
|
+ if *allow_public_registry {
|
|
|
registerHandler.AllowRegistry = true
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
registerHandler.AllowRegistry = false
|
|
|
}
|
|
|
|
|
|
- http.HandleFunc("/public/register/register.system",registerHandler.HandleRegisterInterface);
|
|
|
- http.HandleFunc("/public/register/handleRegister.system",registerHandler.HandleRegisterRequest);
|
|
|
- http.HandleFunc("/public/register/checkPublicRegister",registerHandler.HandleRegisterCheck);
|
|
|
+ http.HandleFunc("/public/register/register.system", registerHandler.HandleRegisterInterface)
|
|
|
+ http.HandleFunc("/public/register/handleRegister.system", registerHandler.HandleRegisterRequest)
|
|
|
+ http.HandleFunc("/public/register/checkPublicRegister", registerHandler.HandleRegisterCheck)
|
|
|
+
|
|
|
+ //General user functions
|
|
|
+ router := prout.NewModuleRouter(prout.RouterOption{
|
|
|
+ AdminOnly: false,
|
|
|
+ UserHandler: userHandler,
|
|
|
+ DeniedHandler: func(w http.ResponseWriter, r *http.Request) {
|
|
|
+ sendErrorResponse(w, "Permission Denied")
|
|
|
+ },
|
|
|
+ })
|
|
|
+
|
|
|
+ router.HandleFunc("/system/register/email", registerHandler.HandleEmailChange)
|
|
|
|
|
|
//Register settings
|
|
|
registerSetting(settingModule{
|
|
|
- Name: "Public Registry",
|
|
|
- Desc: "Allow public users to create account in this host",
|
|
|
- IconPath: "SystemAO/users/img/small_icon.png",
|
|
|
- Group: "Users",
|
|
|
- StartDir: "SystemAO/users/pubreg.html",
|
|
|
+ Name: "Public Registry",
|
|
|
+ Desc: "Allow public users to create account in this host",
|
|
|
+ IconPath: "SystemAO/users/img/small_icon.png",
|
|
|
+ Group: "Users",
|
|
|
+ StartDir: "SystemAO/users/pubreg.html",
|
|
|
RequireAdmin: true,
|
|
|
})
|
|
|
|
|
|
//Register Setting Interface for setting interfaces
|
|
|
-
|
|
|
+
|
|
|
adminrouter := prout.NewModuleRouter(prout.RouterOption{
|
|
|
- ModuleName: "System Setting",
|
|
|
- AdminOnly: true,
|
|
|
- UserHandler: userHandler,
|
|
|
- DeniedHandler: func(w http.ResponseWriter, r *http.Request){
|
|
|
- sendErrorResponse(w, "Permission Denied");
|
|
|
+ ModuleName: "System Setting",
|
|
|
+ AdminOnly: true,
|
|
|
+ UserHandler: userHandler,
|
|
|
+ DeniedHandler: func(w http.ResponseWriter, r *http.Request) {
|
|
|
+ sendErrorResponse(w, "Permission Denied")
|
|
|
},
|
|
|
- });
|
|
|
-
|
|
|
+ })
|
|
|
+
|
|
|
//Handle updates of the default group
|
|
|
- adminrouter.HandleFunc("/system/register/setDefaultGroup", register_handleSetDefaultGroup);
|
|
|
+ adminrouter.HandleFunc("/system/register/setDefaultGroup", register_handleSetDefaultGroup)
|
|
|
|
|
|
//Handle if the current handler allow registry
|
|
|
- adminrouter.HandleFunc("/system/register/getAllowRegistry",register_handleGetAllowRegistry)
|
|
|
-
|
|
|
+ adminrouter.HandleFunc("/system/register/getAllowRegistry", register_handleGetAllowRegistry)
|
|
|
+
|
|
|
//Handle toggle
|
|
|
- adminrouter.HandleFunc("/system/register/setAllowRegistry",register_handleToggleRegistry);
|
|
|
-
|
|
|
+ adminrouter.HandleFunc("/system/register/setAllowRegistry", register_handleToggleRegistry)
|
|
|
+
|
|
|
//Get a list of email registered in the system
|
|
|
- adminrouter.HandleFunc("/system/register/listUserEmails",register_handleEmailListing);
|
|
|
+ adminrouter.HandleFunc("/system/register/listUserEmails", register_handleEmailListing)
|
|
|
|
|
|
//Clear User record that has no longer use this service
|
|
|
- adminrouter.HandleFunc("/system/register/cleanUserRegisterInfo",register_handleRegisterCleaning);
|
|
|
+ adminrouter.HandleFunc("/system/register/cleanUserRegisterInfo", register_handleRegisterCleaning)
|
|
|
}
|
|
|
|
|
|
-func register_handleRegisterCleaning(w http.ResponseWriter, r *http.Request){
|
|
|
+func register_handleRegisterCleaning(w http.ResponseWriter, r *http.Request) {
|
|
|
//Get all user emails from the registerHandler
|
|
|
- registerHandler.CleanRegisters();
|
|
|
- sendOK(w);
|
|
|
+ registerHandler.CleanRegisters()
|
|
|
+ sendOK(w)
|
|
|
}
|
|
|
|
|
|
-func register_handleEmailListing(w http.ResponseWriter, r *http.Request){
|
|
|
+func register_handleEmailListing(w http.ResponseWriter, r *http.Request) {
|
|
|
//Get all user emails from the registerHandler
|
|
|
- userRegisterInfos := registerHandler.ListAllUserEmails();
|
|
|
+ userRegisterInfos := registerHandler.ListAllUserEmails()
|
|
|
|
|
|
useCSV, _ := mv(r, "csv", false)
|
|
|
- if useCSV == "true"{
|
|
|
+ if useCSV == "true" {
|
|
|
//Prase as csv
|
|
|
csvString := "Username,Email,Still Registered\n"
|
|
|
- for _, v := range userRegisterInfos{
|
|
|
+ for _, v := range userRegisterInfos {
|
|
|
registered := "false"
|
|
|
s, _ := v[2].(bool)
|
|
|
- if s == true{
|
|
|
+ if s == true {
|
|
|
registered = "true"
|
|
|
}
|
|
|
csvString += fmt.Sprintf("%v", v[0]) + "," + fmt.Sprintf("%v", v[1]) + "," + registered + "\n"
|
|
@@ -96,45 +107,44 @@ func register_handleEmailListing(w http.ResponseWriter, r *http.Request){
|
|
|
w.Header().Set("Content-Disposition", "attachment; filename=registerInfo.csv")
|
|
|
w.Header().Set("Content-Type", "text/csv")
|
|
|
w.Write([]byte(csvString))
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//Prase as json
|
|
|
- jsonString, _ := json.Marshal(userRegisterInfos);
|
|
|
- sendJSONResponse(w, string(jsonString));
|
|
|
+ jsonString, _ := json.Marshal(userRegisterInfos)
|
|
|
+ sendJSONResponse(w, string(jsonString))
|
|
|
}
|
|
|
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-func register_handleSetDefaultGroup(w http.ResponseWriter, r *http.Request){
|
|
|
- getDefaultGroup, _ := mv(r, "get",true)
|
|
|
- if (getDefaultGroup == "true"){
|
|
|
- jsonString, _ := json.Marshal(registerHandler.DefaultUserGroup)
|
|
|
- sendJSONResponse(w,string(jsonString));
|
|
|
- return
|
|
|
- }
|
|
|
- newDefaultGroup, err := mv(r, "defaultGroup",true)
|
|
|
- if err != nil{
|
|
|
- sendErrorResponse(w, "defaultGroup not defined")
|
|
|
- return
|
|
|
- }
|
|
|
- err = registerHandler.SetDefaultUserGroup(newDefaultGroup);
|
|
|
- if err != nil{
|
|
|
- sendErrorResponse(w, err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- sendOK(w);
|
|
|
+func register_handleSetDefaultGroup(w http.ResponseWriter, r *http.Request) {
|
|
|
+ getDefaultGroup, _ := mv(r, "get", true)
|
|
|
+ if getDefaultGroup == "true" {
|
|
|
+ jsonString, _ := json.Marshal(registerHandler.DefaultUserGroup)
|
|
|
+ sendJSONResponse(w, string(jsonString))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newDefaultGroup, err := mv(r, "defaultGroup", true)
|
|
|
+ if err != nil {
|
|
|
+ sendErrorResponse(w, "defaultGroup not defined")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = registerHandler.SetDefaultUserGroup(newDefaultGroup)
|
|
|
+ if err != nil {
|
|
|
+ sendErrorResponse(w, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sendOK(w)
|
|
|
}
|
|
|
|
|
|
-func register_handleGetAllowRegistry(w http.ResponseWriter, r *http.Request){
|
|
|
+func register_handleGetAllowRegistry(w http.ResponseWriter, r *http.Request) {
|
|
|
jsonString, _ := json.Marshal(registerHandler.AllowRegistry)
|
|
|
sendJSONResponse(w, string(jsonString))
|
|
|
}
|
|
|
|
|
|
-func register_handleToggleRegistry(w http.ResponseWriter, r *http.Request){
|
|
|
- allowReg, err := mv(r, "allow",true)
|
|
|
- if err != nil{
|
|
|
+func register_handleToggleRegistry(w http.ResponseWriter, r *http.Request) {
|
|
|
+ allowReg, err := mv(r, "allow", true)
|
|
|
+ if err != nil {
|
|
|
allowReg = "false"
|
|
|
}
|
|
|
- registerHandler.SetAllowRegistry(allowReg == "true");
|
|
|
- sendOK(w);
|
|
|
+ registerHandler.SetAllowRegistry(allowReg == "true")
|
|
|
+ sendOK(w)
|
|
|
}
|