Пример #1
0
def find_pen_or_coop_type_and_id(handler):
    coopid = intz(handler.request.get('ctmid'))
    if coopid:
        return "coop", coopid, None
    auth = handler.request.get('authorize')
    penid = intz(handler.request.get('penid'))
    # debuginfo("auth: " + str(auth) + ", " + "penid: " + str(penid))
    if penid and not auth:
        return "pen", penid, None
    if auth:
        acc = authenticated(handler.request)
        if not acc:  # error already reported
            return "pen", 0, None
        pens = pen.find_auth_pens(handler)
        if not pens or len(pens) == 0:
            return "pen", 0, None
        mypen = pens[0]
        debuginfo("fpoctai auth pen: " + str(mypen))
        acc.lastpen = mypen.key().id()
        put_cached_instance(acc.email, acc)
        mypen = update_access_time_if_needed(mypen)
        pen.add_account_info_to_pen_stash(acc, mypen)
        return "pen", mypen.key().id(), mypen
    # final case is no pen found because they haven't created one yet
    # that's a normal condition and not an error return
    return "pen", 0, None
Пример #2
0
def mark_review_as_deleted(review, pnm, acc, handler):
    review.penname = pnm.name  # in case name modified since last update
    review.srcrev = -604
    # Marking a review as deleted shows up in the counters as an edit.
    # Not worth duplicating
    write_review(review, pnm, acc)
    try:
        pen.add_account_info_to_pen_stash(acc, pnm)
    except Exception as e:
        logging.info("Account info stash failed on membic delete: " + str(e))
    return review
Пример #3
0
 def post(self):
     acc = authenticated(self.request)
     if not acc:
         return
     pnm = acc_review_modification_authorized(acc, self)
     if not pnm:
         return
     review = get_review_for_save(self)
     if not review:
         return
     read_review_values(self, review)
     review.penname = pnm.name
     if self.request.get('mode') == "batch":
         review.srcrev = -202
         # not bothering to unpack and rewrite existing value unless needed
         review.svcdata = "{" + batch_flag_attrval(review) + "}"
     write_review(review, pnm, acc) # updates pen top20s
     write_coop_reviews(review, pnm, self.request.get('ctmids'))
     try:
         pen.add_account_info_to_pen_stash(acc, pnm)
     except Exception as e:
         logging.info("Account info stash failure for updated pen " + str(e))
     returnJSON(self.response, [ pnm, review ])