Ejemplo n.º 1
0
    def post_new_endorsement(jwt):
        try:
            # Get request data
            req_data = request.get_json()
            giver_id = req_data.get('giver_id')
            receiver_id = req_data.get('receiver_id')
            skill_id = req_data.get('skill_id')
            
            # Create new Endorsement instance
            new_endorsement = Endorsement(
                giver_id = giver_id,
                receiver_id = receiver_id,
                skill_id = skill_id
            )

            # Create new entry in database
            new_endorsement.insert()

            return jsonify({
                'success':True,
                'endorsement': new_endorsement.format()
            })
        except:
            db.session.rollback()
            abort(422)
Ejemplo n.º 2
0
  def post(self):
    viewer = self.user_model
    post = cgi.escape(self.request.get('key'))
    #Person getting the endorsement
    endorsee = cgi.escape(self.request.get('endorsee'))
    text = cgi.escape(self.request.get('text'))
    skill_key = ndb.Key(urlsafe=post)
    endorsee_key = ndb.Key(urlsafe=endorsee)
    endorsement = Endorsement.query(Endorsement.endorsee == endorsee_key,
      Endorsement.skill == skill_key).get()
    if text != "empty":
      details = EndorsementDetails()
      details.endorser = viewer.key
      details.endorsee = endorsee_key
      details.skill = skill_key
      details.description = text
      details.time = datetime.datetime.now() - datetime.timedelta(hours=7) #For PST
      details.put()

    if endorsement is not None:
      endorsement.endorsers.append(viewer.key)
      endorsement.endorsement_count +=1
    else:
      endorsement = Endorsement()
      endorsement.endorsers.append(viewer.key)
      endorsement.endorsee = endorsee_key
      endorsement.skill = skill_key
      endorsement.endorsement_count +=1
    endorsement.put()
Ejemplo n.º 3
0
def add_endorsement(request, commitment_id):

    commitment = get_object_or_404(Commitment, pk=commitment_id)

    if request.user.get_profile().is_representative and request.user.get_profile().representativeprofile.organisation == commitment.organisation:
        pass
    elif request.user.is_staff:
        pass
    else:
        raise Exception("Only organisation representatives and staff administrators make endorsements.")

    if request.POST:
        user = request.user
        text = request.POST.get('endorsement_text')

        endorsement = Endorsement(commitment=commitment, representative=user, endorsement_text=text)
        endorsement.save()

        messages.info(request, "Endorsement has been recorded.")
    else:
        messages.info(request, "Endorsement not saved, request must be post.")

    return redirect('hours.views.commitment', commitment_id=commitment.id)