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
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
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 ])