Ejemplo n.º 1
0
 def post(self, id=None):
     data = request.get_json(force=True, silent=False)
     if 'rewards' in data:
         reward_list = []
         for reward in data['rewards']:
             reward_list.append(Reward(**reward))
         data['rewards'] = reward_list
     if 'organization' in data:
         org = Organization.objects.get_or_404(id=data['organization'])
         data['organization'] = org
     if 'name' not in data:
         return helpers.api_error('Please enter an appropriate name for your project!', 400), 400
     user = User.objects.get_or_404(id=data['creator'])
     for key, value in data.iteritems():
         if key in ['start_date', 'end_date', 'fulfilled_date', 'published']:
             data[key] = datetime.strptime(value['date'], "%Y-%m-%d %H:%M:%S")
         else:
             data[key] = value
     data['creator'] = user
     proj = Project(**data)
     proj.updated = datetime.utcnow()
     try:
         proj.save()
     except ValidationError as e:
         return helpers.api_error(e.message, 400), 400
     except NotUniqueError as e:
         return helpers.api_error(e.message, 409), 409
     except Exception:
         return helpers.api_error("Something went wrong! Check your request parameters!", 500), 500
     ml = MarketingList(project=proj.id, contacts=[], pledge_conversion=0, convert_conversion=0, total_donated=0)
     ml.save()
     return helpers.api_return("OK", proj.updated, proj.id, 'Project')
Ejemplo n.º 2
0
 def post(self, id=None):
     data = request.get_json(force=True, silent=False)
     ml = MarketingList(**data)
     ml.updated = datetime.utcnow()
     try:
         ml.save()
     except ValidationError as e:
         return helpers.api_error(e.message, 400), 400
     except NotUniqueError as e:
         return helpers.api_error(e.message, 409), 409
     except Exception:
         return helpers.api_error("Something went wrong! Check your request parameters!", 500), 500
     return helpers.api_return('OK', ml.updated, ml.id, 'MarketingList')