mod_invites_register_web/mod_invites_register_web.lua
changeset 4837 15cf32e666da
parent 4179 39d1a4ecdee6
equal deleted inserted replaced
4836:bfd4af4caddc 4837:15cf32e666da
    14 		return (url:gsub("^[^:]+:", ""));
    14 		return (url:gsub("^[^:]+:", ""));
    15 	end;
    15 	end;
    16 });
    16 });
    17 
    17 
    18 module:depends("register_apps");
    18 module:depends("register_apps");
       
    19 local mod_password_policy = module:depends("password_policy");
    19 
    20 
    20 local site_name = module:get_option_string("site_name", module.host);
    21 local site_name = module:get_option_string("site_name", module.host);
    21 local site_apps = module:shared("register_apps/apps");
    22 local site_apps = module:shared("register_apps/apps");
    22 
    23 
    23 local webchat_url = module:get_option_string("webchat_url");
    24 local webchat_url = module:get_option_string("webchat_url");
    57 		uri = invite.uri;
    58 		uri = invite.uri;
    58 		type = invite.type;
    59 		type = invite.type;
    59 		jid = invite.jid;
    60 		jid = invite.jid;
    60 		inviter = invite.inviter;
    61 		inviter = invite.inviter;
    61 		app = query_params.c and site_apps[query_params.c];
    62 		app = query_params.c and site_apps[query_params.c];
       
    63 		password_policy = mod_password_policy.get_policy();
    62 	});
    64 	});
    63 	return invite_page;
    65 	return invite_page;
    64 end
    66 end
    65 
    67 
    66 function handle_register_form(event)
    68 function handle_register_form(event)
    90 			token = invite.token;
    92 			token = invite.token;
    91 			domain = module.host;
    93 			domain = module.host;
    92 			uri = invite.uri;
    94 			uri = invite.uri;
    93 			type = invite.type;
    95 			type = invite.type;
    94 			jid = invite.jid;
    96 			jid = invite.jid;
       
    97 			password_policy = mod_password_policy.get_policy();
    95 
    98 
    96 			msg_class = "alert-warning";
    99 			msg_class = "alert-warning";
    97 			message = "Please fill in all fields.";
   100 			message = "Please fill in all fields.";
    98 		});
   101 		});
    99 	end
   102 	end
   107 			token = invite.token;
   110 			token = invite.token;
   108 			domain = module.host;
   111 			domain = module.host;
   109 			uri = invite.uri;
   112 			uri = invite.uri;
   110 			type = invite.type;
   113 			type = invite.type;
   111 			jid = invite.jid;
   114 			jid = invite.jid;
       
   115 			password_policy = mod_password_policy.get_policy();
   112 
   116 
   113 			msg_class = "alert-warning";
   117 			msg_class = "alert-warning";
   114 			message = "This username contains invalid characters.";
   118 			message = "This username contains invalid characters.";
   115 		});
   119 		});
   116 	end
   120 	end
   121 			token = invite.token;
   125 			token = invite.token;
   122 			domain = module.host;
   126 			domain = module.host;
   123 			uri = invite.uri;
   127 			uri = invite.uri;
   124 			type = invite.type;
   128 			type = invite.type;
   125 			jid = invite.jid;
   129 			jid = invite.jid;
       
   130 			password_policy = mod_password_policy.get_policy();
   126 
   131 
   127 			msg_class = "alert-warning";
   132 			msg_class = "alert-warning";
   128 			message = "This username is already in use.";
   133 			message = "This username is already in use.";
       
   134 		});
       
   135 	end
       
   136 
       
   137 	local pw_ok, pw_error = mod_password_policy.check_password(password, {
       
   138 		username = prepped_username;
       
   139 	});
       
   140 	if not pw_ok then
       
   141 		return render_html_template(register_page_template, {
       
   142 			site_name = site_name;
       
   143 			token = invite.token;
       
   144 			domain = module.host;
       
   145 			uri = invite.uri;
       
   146 			type = invite.type;
       
   147 			jid = invite.jid;
       
   148 			password_policy = mod_password_policy.get_policy();
       
   149 
       
   150 			msg_class = "alert-warning";
       
   151 			message = pw_error;
   129 		});
   152 		});
   130 	end
   153 	end
   131 
   154 
   132 	local registering = {
   155 	local registering = {
   133 		validated_invite = invite;
   156 		validated_invite = invite;