diff --git a/wrenchboard/src/shared_tool/market.cc b/wrenchboard/src/shared_tool/market.cc index 5895d578..cc77abe9 100644 --- a/wrenchboard/src/shared_tool/market.cc +++ b/wrenchboard/src/shared_tool/market.cc @@ -126,6 +126,7 @@ long WrenchPromoAddList(CVars in, CVars &out){ logfmt(logINFO, "WrenchPromoAdminLogin()"); char vname[30]; long ret = PHP_API_BAD_PARAM; + long retF = -1; CVars outX; CVars x; @@ -141,8 +142,8 @@ logfmt(logINFO, "WrenchPromoAdminLogin()"); ret = load_db_record( out, "SELECT *,id AS promo_admin_id FROM promo_admin WHERE status=1 AND id=%lu AND uid::text='%s'", admin_id, in["admin_uid"].c_str() ); if (ret && out["promo_admin_id"].Long() > 0) { - long retF = load_db_record( outX, "SELECT *,id AS promo_admin_id " - "FROM promo_member WHERE (email)=LOWER('%s') AND admin_id= %lu", in["email"].c_str(), admin_id ); + retF = load_db_record( outX, "SELECT *,id AS promo_admin_id " + "FROM promo_member WHERE (email)=LOWER('%s') AND admin_id= %lu", in["email"].c_str(), admin_id ); if (retF && outX["promo_admin_id"].Long() > 0) { out["status_message"] = "Error Duplicate Found"; ret = PHP_API_OK; @@ -150,6 +151,25 @@ logfmt(logINFO, "WrenchPromoAdminLogin()"); return 0; } + retF = load_db_record( outX, "SELECT *,id AS promo_admin_id " + "FROM members_pending WHERE status =1 AND (username)=LOWER('%s') ", in["email"].c_str() ); + if (retF && outX["promo_admin_id"].Long() > 0) { + out["status_message"] = "Error Already Started Signup"; + ret = PHP_API_OK; + out["status"] = "OK"; + return 0; + } + + + retF = load_db_record( outX, "SELECT *,id AS promo_admin_id " + "FROM members WHERE (username)=LOWER('%s') ", in["email"].c_str() ); + if (retF && outX["promo_admin_id"].Long() > 0) { + out["status_message"] = "Error Already Signup"; + ret = PHP_API_OK; + out["status"] = "OK"; + return 0; + } + x["admin_id"] = admin_id; x["admin_id"].set_valid(true); x["email"] = in["email"]; x["email"].set_valid(true); x["firstname"] = in["firstname"]; x["firstname"].set_valid(true); @@ -161,6 +181,16 @@ logfmt(logINFO, "WrenchPromoAdminLogin()"); } + long retF = load_db_record( outX, "SELECT *,id AS promo_admin_id " + "FROM promo_member WHERE (email)=LOWER('%s') AND admin_id= %lu", in["email"].c_str(), admin_id ); + if (retF && outX["promo_admin_id"].Long() > 0) { + out["status_message"] = "Error Duplicate Found"; + ret = PHP_API_OK; + out["status"] = "OK"; + return 0; + } + + // there will be promo action // pgsql_query("UPDATE promo_admin SET updated=now() WHERE id=%lu", out["promo_admin_id"].Long());