diff --git a/wrenchboard/src/shared_tool/media.cc b/wrenchboard/src/shared_tool/media.cc index 7f78c791..8857531f 100644 --- a/wrenchboard/src/shared_tool/media.cc +++ b/wrenchboard/src/shared_tool/media.cc @@ -104,6 +104,9 @@ long WrenchSaveStoredMedia(CVars in, CVars &out) { char vname[500]; char file_section[50]; CVars fm; + CVars xx; + CVars yy; + long job_pic_id = 0 ; try { // REQ_STRING(in, "file_section", 5, 40, "(.*)"); @@ -155,14 +158,29 @@ long WrenchSaveStoredMedia(CVars in, CVars &out) { } break; - case WRENCH_FILE_JOB: + case WRENCH_FILE_JOB: // primary picture only REQ_STRING(in, "uid", 3, 150, "(.*)"); REQ_STRING(in, "job_uid", 5, 150, "(.*)"); - if (load_db_record(fm,"SELECT j.id, j.uid,m.uid FROM members_jobs j " + REQ_STRING(in, "profile", 5, 40, "(.*)"); + + if (load_db_record(fm,"SELECT j.id, j.uid,m.uid,m.id AS member_id FROM members_jobs j " " LEFT JOIN members m ON m.id = j.member_id " " WHERE m.uid = '%s' AND j.uid='%s' ", in["uid"].c_str(), in["job_uid"].c_str()) > 0){ - - + // We are sure you own this job + if ( load_db_record(xx,"SELECT id, uid FROM members_jobs_pictures WHERE job_uid='%s' ",in["job_uid"].c_str()) > 0){ + job_pic_id= xx["id"].Long(); + yy["pic1"] = in["profile"]; yy["pic1"].set_valid( true ); + update_db_record(DBS_VALID, "members_jobs_pictures", yy, job_pic_id) ; + } + else + { + yy["pic1"] = in["profile"]; yy["pic1"].set_valid( true ); + yy["job_uid"] = in["job_uid"]; yy["pic1"].set_valid( true ); + yy["member_id"] = fm["member_id"]; yy["member_id"].set_valid( true ); + job_pic_id = insert_db_record(DBS_VALID, "members_jobs_pictures", "members_jobs_pictures_id_seq", yy); + } + }else{ + out["error"] ="job_not_found"; } break;