def mapPoints(): if "filter_species" not in request.args: filter_species = None else: filter_species = request.args.get('filter_species') if filter_species == "": return jsonify({ "results" : []}) filter_networks = request.args.get('filter_networks',None) filter_networks = [filter_networks] if filter_networks else [] rm = ReportModel(); if utils.isAdmin(): points = rm.getAdminReportsPoints(filterSpecies= filter_species,filterNetworks=filter_networks) else: points = rm.getReportsPointsComplete(status=4,filterSpecies=filter_species,filterNetworks=filter_networks) \ + rm.getReportsPointsComplete(status=2,filterSpecies=filter_species,filterNetworks=filter_networks) if utils.isLogged(): pointsUser = rm.getReportsPointsComplete(status=1,filterSpecies=filter_species,idUser=session["id_user"],filterNetworks=filter_networks) points = points + pointsUser return jsonify( { "results" : points })
def user(): """Gets logged in user info.""" if not utils.isLogged(): return jsonify( { "id" : None}) else: return jsonify({ 'id':session["id_user"], 'email':session["email"], "username":session["username"], "name":session["name"], "surname":session["surname"], "language":session["language"] })
def user(): """Gets logged in user info.""" if not utils.isLogged(): return jsonify({"id": None}) else: return jsonify({ 'id': session["id_user"], 'email': session["email"], "username": session["username"], "name": session["name"], "surname": session["surname"], "language": session["language"] })
def login(): """ Logs in a user. The JSON is: { "email": "*****@*****.**", "password": "******" } Password is sent in plain. """ if not request.json or not "email" in request.json or not "password" in request.json: return jsonify({"Login": False}) if utils.isLogged() : return jsonify({"Login": True}) else: # login procedure # get user input email = request.json['email'] password = request.json['password'] # do password hash password = hashlib.md5(password).hexdigest() # compare password against database u = UserModel().getUserLogin(email=email) if u and u['password']==password: session["id_user"] = u["id_wwwuser"] session['email'] = email session["username"] = u["username"] session["name"] = u["name"] session["surname"] = u["surname"] session["language"] = u["language"] return jsonify({"Login": True}) return jsonify({"Login": False})
def login(): """ Logs in a user. The JSON is: { "email": "*****@*****.**", "password": "******" } Password is sent in plain. """ if not request.json or not "email" in request.json or not "password" in request.json: return jsonify({"Login": False}) if utils.isLogged(): return jsonify({"Login": True}) else: # login procedure # get user input email = request.json['email'] password = request.json['password'] # do password hash password = hashlib.md5(password).hexdigest() # compare password against database u = UserModel().getUserLogin(email=email) if u and u['password'] == password: session["id_user"] = u["id_wwwuser"] session['email'] = email session["username"] = u["username"] session["name"] = u["name"] session["surname"] = u["surname"] session["language"] = u["language"] return jsonify({"Login": True}) return jsonify({"Login": False})
def get_report_data(id_report): #check lang parameter exist if "language" not in request.args: return make_response(jsonify( { "error": "Mandatory language param missing" } ), 400) language = request.args['language'] # check if it's a valid order if language not in app.config["languages"]: return make_response(jsonify( { 'error': 'Unknown language value' } ), 400) rm = ReportModel() report = rm.getReport(id_report, language) if report == None: return make_response(jsonify( { "error": "Report not found" } ), 404) if not utils.isAdmin(): if report["id_report_status"]!=4 and report["id_report_status"]!=2 and not utils.isLogged(): return make_response(jsonify( { 'error': 'Not allowed operation' } ), 400) elif report["id_report_status"]!=4 and report["id_report_status"]!=2 and report["id_user"]!=session["id_user"]: return make_response(jsonify( { 'error': 'Not allowed operation' } ), 400) sm = SpeciesModel() nm = ProtectedNetworkModel() images = rm.getReportImages(id_report) sections = sm.getSpecieSections(report["id_species"],language) comments = rm.getReportsComments(id_report) habitats = rm.getReportsHabitats(id_report,language) # networks = rm.getReportProtetedNetworks(id_report, language) networks = nm.getNetworksFromGeom(report['y'], report['x'], language) mpas = rm.getReportMpas(id_report, language) imagesJson = [] # if not report["historic"]: if len(images)>0: for img in images: imagesJson.append({ "url": app.config["reportImageUrl"] + "/" + str(img["id_image"]) + "_2400_2400.jpg" }) else: # Checks first 0020 image, then 0010 imgurl = '' imagebase = app.config["guideImagesGalleryPath"] + "/" + str(report['id_species']) + "_0020_" + language.upper() +".jpg" if os.path.isfile(imagebase): imgurl = app.config["guideImagesGalleryUrl"] + "/" + str(report['id_species']) + "_0020_" + language.upper() +".jpg" else: imagebase = app.config["guideImagesGalleryPath"] + "/" + str(report['id_species']) + "_0010_" + language.upper() +".jpg" if os.path.isfile(imagebase): imgurl = app.config["guideImagesGalleryUrl"] + "/" + str(report['id_species']) + "_0010_" + language.upper() +".jpg" imagesJson.append({"url" : imgurl}) sectionsJson = [] for s in sections: sectionsJson.append({"id": s["id_section"], "name" : s["section_name"] , "content" : s["content"]}) commentsJson = [] for c in comments: commentsJson.append({ "id": c["id_report_comments"], "comment": base.utils.htmlspecialchars((c["comment"])), "date": str(c["date"]) + " UTC", "username" : c["username"], "name" : c["name"], "surname" : c["surname"], "user_email": c["email"] }) habitatsDict = {} for h in habitats: el = { "id": h["id"],"type" : h["type"] } if habitatsDict.get(h["category"]) == None: habitatsDict[h["category"]] = [el] else: habitatsDict[h["category"]].append(el) response = { "id" : report["id_report"], "specie" : { "id" : report["id_species"], "scientific_name" : report["scientific_name"], "common_name" : report["common_name"], "thumbnail" : species.getThumbnailSpecie(report["id_species"]), "taxonomic" : report["group"], "dark_color" : report["dark_color"], "light_color" : report["light_color"], "id_taxonomic": report["id_taxonomic"] }, "date" : str(report["date"]), "mpa": { "id": report["id_mpa"], "name" : report["mpa"] }, "user" : { "id": report["id_user"], "username" : report["username"], "image" : utils.getGravatar(report["user_email"]), "name": report["family_name"] + " " +report["surname"] }, "images": imagesJson, "author": report['author'], "author_gravatar": utils.getGravatar(report["author"]), "sections" : sectionsJson, "comments" : commentsJson, "habitats" : habitatsDict, "x": report["x"], "y": report["y"], "country": report["country"], "lower_depth": report["lower_depth"], "upper_depth": report["upper_depth"], "city": report["city"], "status": report["id_report_status"], "status_str": report["status_str"], "historic": report["historic"], "abundance": base.utils.htmlspecialchars(report["abundance"]), "networks" :networks } return response