Ejemplo n.º 1
0
 def deleteResource(self, rid):
     dao = resourcesDAO()
     if not dao.getResourcesByRid(rid):
         return jsonify(Error="Part not found."), 404
     else:
         dao.delete(rid)
         return jsonify(DeleteStatus="OK"), 200
Ejemplo n.º 2
0
 def searchResources(self, args):
     category = args.get("category")
     qty = args.get("qty")
     price = args.get("price")
     region = args.get("region")
     city =args.get("city")
     dao = resourcesDAO()
     resources_list = []
     if (len(args) == 1) and city:
         resources_list = dao.getResourcesBySupplierCity(city)
     elif (len(args) == 2) and category and qty:
         resources_list = dao.getResourcesByCategoryandQty(category,qty)
     elif (len(args) == 2) and category and region:
         resources_list = dao.getResourcesByCategoryandRegion(category,region)
     elif (len(args) == 1) and category:
         resources_list = dao.getResourcesByCategory(category)
     elif (len(args) == 1) and qty:
         resources_list = dao.getResourcesByQty(qty)
     elif (len(args) == 1)  and price:
         resources_list = dao.getResourcesByPrice(price)
     elif (len(args) == 1) and region:
         resources_list = dao.getResourcesByRegion(region)
     else:
         return jsonify(Error = "Malformed query string"), 400
     result_list = []
     for row in resources_list:
         result = self.build_resources_dict(row)
         result_list.append(result)
     return jsonify(Resources=result_list)
Ejemplo n.º 3
0
 def getResourcesInNeed(self):
     dao = resourcesDAO()
     resources = dao.getResourcesInNeed()
     result_list = []
     for row in resources:
         result = self.build_resources_dict(row)
         result_list.append(result)
     return jsonify(Resources = result_list)
Ejemplo n.º 4
0
 def getAllOrderBySupplierSearch(self):
     dao = resourcesDAO()
     resources_list = dao.getAllOrderBySupplier()
     results_list = []
     for row in resources_list:
         result = self.build_supplier_order_dict(row)
         results_list.append(result)
     return jsonify(Resources=results_list)
Ejemplo n.º 5
0
 def getAllResourcesRequested(self):
     dao = resourcesDAO()
     resources_list = dao.getAllResourcesRequested()
     results_list = []
     for row in resources_list:
         result = self.build_resources_dict(row)
         results_list.append(result)
     return jsonify(Resources=results_list)
Ejemplo n.º 6
0
 def getAllResourcesOrderedByName(self):
     dao = resourcesDAO()
     resources_list = dao.getAllResourcesOrderByName()
     results_list = []
     for row in resources_list:
         result = self.build_resources_dict(row)
         results_list.append(result)
     return jsonify(Resources=results_list)
Ejemplo n.º 7
0
 def getResourcesByrid(self, rid):
     dao = resourcesDAO()
     row = dao.getResourcesByRid(rid)
     if not row:
         return jsonify(Error="User Not Found"), 404
     else:
         resource = self.build_resources_dict(row)
         return jsonify(Resource=resource)
Ejemplo n.º 8
0
 def getResourcesById(self, res_ID):
     dao = resourcesDAO()
     row = dao.getResourceById(res_ID)
     if not row:
         return jsonify(Error = "Part Not Found"), 404
     else:
         resource = self.build_resources_dict(row)
         return jsonify(Resource = resource)
Ejemplo n.º 9
0
 def getSupplierByResourceId(self, rid):
     dao = resourcesDAO()
     if not dao.getResourcesByRid(rid):
         return jsonify(Error="Resource Not Found"), 404
     suppliers_list = dao.getSuplierByResourceId(rid)
     result_list = []
     for row in suppliers_list:
         result = self.build_user_dict(row)
         result_list.append(result)
     return jsonify(Suppliers=result_list)
Ejemplo n.º 10
0
 def getSuppliersByResourceId(self, res_ID):
     dao = resourcesDAO()
     suppliers = dao.getSuppliersByResourcesId(res_ID)
     if not suppliers:
         return jsonify(Error="Part Not Found"), 404
     suppliers_list = suppliers
     result_list = []
     for row in suppliers_list:
         result = self.build_suppliers_dict(row)
         result_list.append(result)
     return jsonify(Suppliers=result_list)
Ejemplo n.º 11
0
 def getResourcesRequestedByApplicantID(self, apl_ID):
     dao = resourcesDAO()
     requests = dao.getResourcesRequestedByApplicantID(apl_ID)
     if not requests:
         return jsonify(Error="Part Not Found"), 404
     requests_list = requests
     result_list = []
     for row in requests_list:
         result = self.build_resources_dict(row)
         result_list.append(result)
     return jsonify(Requests=result_list)
Ejemplo n.º 12
0
 def getRequestedResources(self):
     dao = resourcesDAO()
     requests = dao.getRequestedResources()
     if not requests:
         return jsonify(Error="No request at the moment"), 404
     requests_list = requests
     result_list = []
     for row in requests:
         result = self.build_resourcesrequested_dict(row)
         result_list.append(result)
     return jsonify(Requests = result_list)
Ejemplo n.º 13
0
 def insertRequest(self, form):
     if len(form) != 2:
         return jsonify(Error="Malform post request"), 400
     else:
         apl_ID = form['apl_ID']
         res_ID = form['res_ID']
         if apl_ID and res_ID:
             dao = resourcesDAO()
             req_ID =dao.insertRequest(apl_ID, res_ID)
             result = self.build_request_attributes(req_ID,apl_ID, res_ID)
             return jsonify(Request=result), 201
         else:
             return jsonify(Error="Unexpected attributes in post request"), 400
Ejemplo n.º 14
0
 def searchResourcesAvailable(self, args):
     category = args.get("category")
     dao = resourcesDAO()
     resources_list = []
     if (len(args) == 1) and category:
         resources_list = dao.getResourcesAvailableByCategoryKeyword(category)
     else:
         return jsonify(Error = "Malformed query string"), 400
     result_list = []
     for row in resources_list:
         result = self.build_resources_dict(row)
         result_list.append(result)
     return jsonify(Resources=result_list)
Ejemplo n.º 15
0
 def getOrderBySupplierSearch(self, args):
     ufirstname = args.get("ufirstname")
     ulastname = args.get("ulastname")
     dao = resourcesDAO()
     user_list = []
     if (len(args) == 2) and (ufirstname or ulastname):
         user_list = dao.getOrderBySupplierFirstNameAndLastName(ufirstname, ulastname)
     elif (len(args) == 1) and ufirstname:
         user_list = dao.getOrderBySupplierFirstName(ufirstname)
     elif (len(args) == 1) and ulastname:
         user_list = dao.getOrderBySupplierLastName(ulastname)
     else:
         return jsonify(Error="Malformed query string"), 400
     results_list = []
     for row in user_list:
         result = self.build_supplier_order_dict(row)
         results_list.append(result)
     return jsonify(User=results_list)
Ejemplo n.º 16
0
 def updateResource(self,res_ID,form):
     dao = resourcesDAO()
     if not dao.getResourceById(res_ID):
         return jsonify(Error="Resource not found"), 404
     else:
         if len(form) != 4:
             return jsonify(Error="Malform update request"), 400
         else:
             res_ID = form['res_ID']
             category = form['category']
             price = form['price']
             qty = form['qty']
             if price and qty:
                 dao.updateResource(price, qty, res_ID)
                 result = self.build_resources_attributes(res_ID,category,price,qty)
                 return jsonify(Resource=result), 200
             else:
                 return jsonify(Error="Unexpected attributes in updates request"), 400
Ejemplo n.º 17
0
 def searchResourcesOrderedByName(self, args):
     rid = args.get("rid")
     rName = args.get("rName")
     rqty = args.get("rqty")
     uid = args.get("uid")
     rprice = args.get("rprice")
     rdid = args.get("rdid")
     dao = resourcesDAO()
     resource_list = []
     if (len(args) == 5) and (rid or rName or rprice or uid or rdid):
         resource_list = dao.getResourceByRidAndRnameAndrPriceAnduidAndrdidOrderByName(rid, rName, rprice, uid, rdid)
     elif (len(args) == 4) and (rid or rName or rprice or uid):
         resource_list = dao.getResourceByRidAndRnameAndrPriceAnduidOrderByName(rid, rName, rprice, uid)
     elif (len(args) == 4) and (rid or rName or rprice or rdid):
         resource_list = dao.getResourceByRnameAndRdidAndrpriceAnduidOrderByName(rid, rName, rprice, rdid)
     elif (len(args) == 3) and (rid or rName or rprice):
         resource_list = dao.getResourceByRidAndRNameAndRpriceOrderByRname(rid, rName, rprice)
     elif (len(args) == 3) and (rid or rName or rprice):
         resource_list = dao.getResourceByRidAndRNameAndRpriceOrderByRdid(rid, rName, rdid)
     elif (len(args) == 3) and (rid or rName or rprice):
         resource_list = dao.getResourceByRidAndRNameAndRpriceOrderByUid(rid, rName, uid)
     elif (len(args) == 2) and (rName or uid):
         resource_list = dao.getResourceByRnameAnduidOrderByName(rName, uid)
     elif (len(args) == 2) and (rName or rprice):
         resource_list = dao.getResourceByRnameAndrpriceOrderByName(rName, rprice)
     elif (len(args) == 2) and (rName or rdid):
         resource_list = dao.getResourceByRnameAndrdidOrderByName(rName, rdid)
     elif (len(args) == 1) and rName:
         resource_list = dao.getResourceByRnameOrderByName(rName)
     elif (len(args) == 1) and uid:
         resource_list = dao.getResourceByuidOrderByName(uid)
     elif (len(args) == 1) and rprice:
         resource_list = dao.getResourceByrpriceOrderByName(rprice)
     elif (len(args) == 1) and rdid:
         resource_list = dao.getResourceByrdidOrderByName(rdid)
     elif (len(args) == 1) and rid:
         resource_list = dao.getResourcesByRidOrderByName(rid)
     else:
         return jsonify(Error = "Malformed query string"), 400
     result_list = []
     for row in resource_list:
         result = self.build_resources_dict(row)
         result_list.append(result)
     return jsonify(Resources=result_list)
Ejemplo n.º 18
0
 def insertFreeResource(self, form):
     if len(form) != 8:
         return jsonify(Error = "Malformed post request"), 400
     else:
         user_name = form['user_name']
         user_password = form['user_password']
         rname = form['rname']
         rqty = form['rqty']
         cname = form['cname']
         cdescription = form['cdescription']
         rcity = form['rcity']
         rregion = form['rregion']
         if user_name and user_password and rname and rqty and cname and cdescription and rcity and rregion:
             dao = resourcesDAO()
             rid = dao.insertFreeResource(user_name, user_password, rname, rqty, cname, cdescription, rcity, rregion)
             if not rid:
                 return jsonify(Error="Unexpected Error"), 400
             else:
                 result = self.build_free_free_resource_attributes(user_name, user_password, rname, rqty, cname, cdescription, rid, rcity, rregion)
                 return jsonify(Resource=result), 201
         else:
             return jsonify(Error="Unexpected attributes in post request"), 400
Ejemplo n.º 19
0
    def searchResourceInserted(self, args):
        rid = args.get("rid")
        rName = args.get("rName")
        rqty = args.get("rqty")
        uid = args.get("uid")
        rprice = args.get("rprice")
        rdid = args.get("rdid")
        dao = resourcesDAO()
        resource_list = []
        if (len(args) == 5) and (rid or rName or rqty or rprice or uid):
            resource_list = dao.getResourceRequestedByRidAndRnameAndrqtyAndrpriceAnduid(rid, rName, rqty, rprice, uid)
        elif (len(args) == 5) and (rid or rName or rqty or rprice or rdid):
            resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAndrPriceAndrid(rid, rName, rqty, rprice, rdid)
        elif (len(args) == 5) and (rid or rName or rqty or uid or rdid):
            resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAnduidAndrdid(rid, rName, rqty, uid, rdid)
        elif (len(args) == 5) and (rid or rName or rprice or uid or rdid):
            resource_list = dao.getResourceRequestedByRidAndRnameAndrPriceAnduidAndrdid(rid, rName, rprice, uid, rdid)
        elif (len(args) == 5) and (rid or rqty or rprice or uid or rdid):
            resource_list = dao.getResourceRequestedByRidAndRqtyAndrPriceAnduidAndrdid(rid, rqty, rprice, uid, rdid)
        elif (len(args) == 4) and (rid or rqty or rprice or uid):
            resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAndrPriceAnduidAndrdid(rid, rqty, rprice, uid)
        elif (len(args) == 4) and (rid or rName or rprice or uid):
            resource_list = dao.getResourceRequestedByRidAndRnameAndrPriceAnduid(rid, rName, rprice, uid)
        elif (len(args) == 4) and (rid or rName or rqty or uid):
            resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAnduid(rid, rName, rqty, uid)
        elif (len(args) == 4) and (rid or rName or rqty or rprice):
            resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAndrPrice(rid, rName, rqty, rprice)

        elif (len(args) == 1) and rid:
            resource_list = dao.getResourcesRequestedByRid(rid)
        else:
            return jsonify(Error="Malformed query string"), 400
        result_list = []
        for row in resource_list:
            result = self.build_resources_dict(row)
            result_list.append(result)
        return jsonify(Resources=result_list)
Ejemplo n.º 20
0
 def insertResource(self, form):
     if len(form) != 9:
         return jsonify(Error="Malformed post request"), 400
     else:
         rname = form['rname']
         rprice = form['rprice']
         rqty = form['rqty']
         rdid = form['rdid']
         uid = form['uid']
         rcity = form['rcity']
         rregion = form['rregion']
         cname = form['cname']
         cdescription = form['cdescription']
         if rname and rprice and rqty and uid and rcity and rregion and cname and cdescription:
             dao = resourcesDAO()
             rid = dao.insert(rname, rqty, rprice, rdid, uid)
             rlid = resourceLocationDAO().insert(rcity, rregion, rid)
             cid = categoryDAO().insert(cname, cdescription, rid)
             result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
             res1 = self.build_resources_cat_attributes(cid, cname, cdescription, rid)
             res2 = self.build_resources_location_attributes(rlid, rcity, rregion, rid)
             return jsonify(Resource=result, Category=res1, ResourceLocation=res2), 201
         else:
             return jsonify(Error="Unexpected attributes in post request"), 400
Ejemplo n.º 21
0
 def updateResource(self, rid, form):
     dao = resourcesDAO()
     if not dao.getResourcesByRid(rid):
         return jsonify(Error="Resource not found."), 404
     else:
         if len(form) > 5:
             return jsonify(Error="Malformed update request"), 400
         else:
             if (len(form) == 5):
                 rname = form['rname']
                 rprice = form['rprice']
                 rqty = form['rqty']
                 rdid = form['rdid']
                 uid = form['uid']
                 if rname and rprice and rqty and rdid and uid:
                     dao = resourcesDAO()
                     dao.updateall(rid, rname, rprice, rqty, rdid, uid)
                     result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
                     return jsonify(Resource=result), 200
                 else:
                     return jsonify(Error="Unexpected attributes in update request"), 400
             elif len(form) == 2:
                 if ('rprice' in form) and ('rqty' in form):
                     rprice = form['rprice']
                     rqty = form['rqty']
                     if rprice and rqty:
                         dao = resourcesDAO()
                         attlist = dao.updaterpriceAndrqty(rid, rprice, rqty)
                         res = attlist.pop(0)
                         rname = res[0]
                         uid = res[1]
                         rdid = res[2]
                         result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
                         return jsonify(Resource=result), 200
                 else:
                     return jsonify(Error="Unexpected attributes in update request"), 400
             elif len(form) == 1:
                 if 'rprice' in form:
                     rprice = form['rprice']
                     if rprice:
                         dao = resourcesDAO()
                         attlist = dao.updaterprice(rid, rprice)
                         res = attlist.pop(0)
                         rname = res[0]
                         uid = res[1]
                         rdid = res[2]
                         rqty = res[3]
                         result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
                         return jsonify(Resource=result), 200
                 elif 'rqty' in form:
                     rqty = form['rqty']
                     if rqty:
                         dao = resourcesDAO()
                         attlist = dao.updaterqty(rid, rqty)
                         res = attlist.pop(0)
                         rname = res[0]
                         uid = res[1]
                         rdid = res[2]
                         rprice = res[3]
                         result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
                         return jsonify(Resource=result), 200
                 elif 'rdid' in form:
                     rdid = form['rdid']
                     if rdid:
                         dao = resourcesDAO()
                         attlist = dao.updaterdid(rid, rdid)
                         res = attlist.pop(0)
                         rname = res[0]
                         uid = res[1]
                         rqty = res[2]
                         rprice = res[3]
                         result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
                         return jsonify(Resource=result), 200
                 elif 'rname' in form:
                     rname = form['rname']
                     if rname:
                         dao = resourcesDAO()
                         attlist = dao.updatername(rid, rname)
                         res = attlist.pop(0)
                         rdid = res[0]
                         uid = res[1]
                         rqty = res[2]
                         rprice = res[3]
                         result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
                         return jsonify(Resource=result), 200
                 elif 'uid' in form:
                     uid = form['uid']
                     if uid:
                         dao = resourcesDAO()
                         attlist = dao.updateuid(rid, uid)
                         res = attlist.pop(0)
                         rdid = res[0]
                         rname = res[1]
                         rqty = res[2]
                         rprice = res[3]
                         result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid)
                         return jsonify(Resource=result), 200
                 else:
                     return jsonify(Error="Unexpected attributes in update request"), 400
Ejemplo n.º 22
0
    def insertResources(self, form):
        if len(form) == 4 and form['category']=="food":
            supp_ID=form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            kind = form['kind']
            if supp_ID and category and price and qty and kind:
                dao = resourcesDAO()
                res_ID = dao.insert(category, price, qty)
                dao.insertSupplies(res_ID,supp_ID)
                dao.insertFood(res_ID, kind)
                result = self.build_food_attributes(res_ID, category, price, qty, kind)
                return jsonify(Food=result), 201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        elif len(form) == 6 and form['category'] == 'clothing':
            supp_ID = form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            size = form['size']
            gender = form['gender']
            if supp_ID and category and price and qty and size and gender:
                dao = resourcesDAO()
                res_ID = dao.insert(category,price,qty)
                dao.insertSupplies(res_ID, supp_ID)
                dao.insertClothing(res_ID,size,gender)
                result = self.build_clothing_attributes(res_ID,category,price,qty,size,gender)
                return jsonify(Cloth = result),201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        elif len(form) ==5 and form['category']=='pgenerator':
            supp_ID = form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            watts = form['watts']
            if supp_ID and category and price and qty and watts:
                dao = resourcesDAO()
                res_ID = dao.insert(category, price, qty)
                dao.insertSupplies(res_ID, supp_ID)
                dao.insertPgenerator(res_ID, watts)
                result = self.build_pgenerator_attributes(res_ID, category, price, qty, watts)
                return jsonify(Power_Generators=result), 201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        elif len(form)== 5 and form['category']=='batteries':
            supp_ID = form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            kind = form['kind']
            if supp_ID and category and price and qty and kind:
                dao = resourcesDAO()
                res_ID = dao.insert(category, price, qty)
                dao.insertSupplies(res_ID, supp_ID)
                dao.insertBatteries(res_ID, kind)
                result = self.build_batteries_attributes(res_ID, category, price, qty, kind)
                return jsonify(Batteries=result), 201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        elif len(form)==5 and form['category']=='medication':
            supp_ID = form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            dosis = form['dosis']
            if supp_ID and category and price and qty and dosis:
                dao = resourcesDAO()
                res_ID = dao.insert(category, price, qty)
                dao.insertSupplies(res_ID, supp_ID)
                dao.insertMedication(res_ID, dosis)
                result = self.build_medication_attributes(res_ID, category, price, qty, dosis)
                return jsonify(Medication=result), 201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        elif len(form)==5 and form['category']=='ice':
            supp_ID = form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            size = form['size']
            if supp_ID and category and price and qty and size:
                dao = resourcesDAO()
                res_ID = dao.insert(category, price, qty)
                dao.insertSupplies(res_ID, supp_ID)
                dao.insertIce(res_ID, size)
                result = self.build_ice_attributes(res_ID, category, price, qty, size)
                return jsonify(Ice=result), 201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        elif len(form)==6 and form['category']=='fuel':
            supp_ID = form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            kind = form['kind']
            size = form['size']
            if supp_ID and category and price and qty and kind and size:
                dao = resourcesDAO()
                res_ID = dao.insert(category, price, qty)
                dao.insertSupplies(res_ID, supp_ID)
                dao.insertFuel(res_ID, kind, size)
                result = self.build_fuel_attributes(res_ID, category, price, qty, kind,size)
                return jsonify(Fuel=result), 201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        elif len(form)==5 and form['category']=='water':
            supp_ID = form['supp_ID']
            category = form['category']
            price = form['price']
            qty = form['qty']
            size = form['size']
            if supp_ID and category and price and qty and size:
                dao = resourcesDAO()
                res_ID = dao.insert(category, price, qty)
                dao.insertSupplies(res_ID, supp_ID)
                dao.insertWater(res_ID, size)
                result = self.build_water_attributes(res_ID, category, price, qty, size)
                return jsonify(Water=result), 201
            else:
                return jsonify(Error="Unexpected attributes in post request"), 400

        else:
            return jsonify(Error="Malform post request"), 400