def update_campaign_data(): """ (PUT: /campaign/date/update) """ from campaigns.campaign.model import Campaign from unifide_backend.action.mapping.action import get_brand_mapping, get_mapping from unifide_backend.action.social.facebook.model import FBEvent from unifide_backend.action.social.facebook.action import update_fb_event user_id = request.form.get("user_id") brand_name = request.form.get("brand_name") campaign_id = request.form.get('campaign_id') title = request.form.get('title') description = request.form.get('description') event_datetime_start = float(request.form.get("datetime_start")) if request.form.get("datetime_start") is not None else None event_datetime_end = float(request.form.get("datetime_end")) if request.form.get("datetime_end") is not None else None place = request.form.get("place") item_list = request.form.get("item_list") print title, description print campaign_id brand_obj = get_brand_mapping(user_id, brand_name) mapping_obj = get_mapping(campaign_id) print brand_obj print mapping_obj set_dic = { "title": title, "description": description, "happening_datetime_start": event_datetime_start, "happening_datetime_end": event_datetime_end, } if item_list is not None and len(item_list) > 0: set_dic["item_id_lis"] = item_list if mapping_obj.campaign is not None: Campaign.collection().update({"_id": mapping_obj.campaign}, {"$set" : set_dic}) if mapping_obj.blog is not None: Campaign.collection().update({"_id": mapping_obj.blog}, {"$set" : set_dic}) if mapping_obj.facebook is not None and mapping_obj.type == "event": event = FBEvent.collection().find_one({"_id": coerce_bson_id(mapping_obj.facebook)}) update_fb_event(event["event_id"], brand_obj.facebook, mapping_obj.state, title, description, event_datetime_start, event_datetime_end) return jsonify({"status": "ok"})
def get(campaign_obj_id): """ Gets a campaign with the given id :param campaign_obj_id: :return: """ collection = Campaign.collection() if campaign_obj_id is None: return None dic = collection.find_one({"_id": coerce_bson_id(campaign_obj_id)}) return Campaign.unserialize(dic) if dic is not None else None
print id # delete foursquare page update if mapping_obj.foursquare is not None: id = mapping_obj.foursquare page_update = FSQPageUpdate.collection().find_one({"_id": coerce_bson_id(id)}) try: del_fsq_update(page_update["update_id"] if page_update["update_id"] is not None else None, id, brand_obj.foursquare["access_token"]) except Exception, err: print traceback.format_exc() print id # delete campaign if mapping_obj.campaign is not None: id = mapping_obj.campaign Campaign.collection().remove({"_id": coerce_bson_id(id)}) # delete blog if mapping_obj.blog is not None: id = mapping_obj.blog Campaign.collection().remove({"_id": coerce_bson_id(id)}) #delete mapping del_mapping(c) return jsonify({"status": "ok"}) def _register_api(app): """ interface method so the app can register the API (routing) calls.
def save(campaign_obj): col = Campaign.collection() id = col.insert(campaign_obj.serialize()) return id