def post(self): sender = self.request.get("from") id = self.request.get("id") message = self.request.get("message") comment = self.request.get("comment") item_key = db.Key(id) item = db.get(item_key) send_to = item.parent().user.email() email_message = message if (item.parent().user == users.get_current_user()): new_comment = Comment(parent=item ,message=message[0:400], poster='seller') new_comment.put() item.comments += 1 item.put() self.response.out.write("Success") self.response.set_status(201) return if not users.get_current_user(): if not mail.is_email_valid(sender): invalid_reason = mail.invalid_email_reason(sender, sender) self.response.out.write("<ERROR EXCEPTION>") return #TODO: Translate message #throw exception in client with message email_message += ''' *** IMPORTANT *** Please do not reply back to this message. Instead, you may write an email to %s ''' % sender sender = '*****@*****.**' else: sender = users.get_current_user().email() if comment: if (users.get_current_user()): new_comment = Comment(parent=item ,message=message[0:400], poster=users.get_current_user().nickname()) else: new_comment = Comment(parent=item ,message=message[0:400], poster='anonymous') new_comment.put() item.comments += 1 item.put() mail.send_mail(sender, send_to, 'Tatamee Buyer Notification [%s]' % item.title, email_message) logging.info('Email sent to: %s, by: %s' % (send_to, sender)) self.response.out.write("Success") self.response.set_status(201)
def post(self): email = self.request.get("email") id = self.request.get("id") if not mail.is_email_valid(email): invalid_reason = mail.invalid_email_reason(email, email) self.response.out.write("Invalid Email") return item_key = db.Key(id) item = db.get(item_key) user = item.parent() if (user.user == users.get_current_user() and user.user.email() != email): ghost_rating = GhostRating(parent=user) ghost_rating.put() id = hashlib.sha1(str(ghost_rating.key())).hexdigest() ghost_rating.id = id ghost_rating.email = db.Email(email) ghost_rating.put() url = 'http://www.tatamee.com/ratings?id=' + id email_message = ''' Hello %s %s would like you to rate your recent transaction. You may give a good or bad rating based on your experience. If you would like to give a rating to %s please go to the following url: %s Regards, The Tatamee Team *** IMPORTANT *** Please do not reply back to this message. Instead, you may write an email to %s ''' % (email[:email.find('@')], user.user.nickname(), user.user.nickname(), url, user.user.email()) sender = '*****@*****.**' mail.send_mail(sender, email, 'Tatamee Rating Request [%s]' % item.title, email_message) logging.info('Rating request sent to: %s, by: %s' % (email, user.user.email())) self.response.out.write("Success") self.response.set_status(201)
def post(self): # アクセス制限 if not self.haveFullAccessOrganization(None): self.error(403) return name = self.request.get('name') reportTemplate = self.request.get('reportTemplate') reporterWaitings = self.request.get_all('reporterWaitings') receiverWaitings = self.request.get_all('receiverWaitings') adminerWaitings = self.request.get_all('adminerWaitings') notifyEmail = self.request.get('notifyEmail') # データチェック validErrors = [] for email in reporterWaitings: if not mail.is_email_valid(email): validErrors.append({ 'title': 'Email invalid!', 'message': mail.invalid_email_reason(email, 'Reporter Waitings'), }) for email in receiverWaitings: if not mail.is_email_valid(email): validErrors.append({ 'title': 'Email invalid!', 'message': mail.invalid_email_reason(email, 'Receiver Waitings'), }) for email in adminerWaitings: if not mail.is_email_valid(email): validErrors.append({ 'title': 'Email invalid!', 'message': mail.invalid_email_reason(email, 'Administrator Waitings'), }) if len(validErrors) == 0: # データ保存 org = models.Organization( name = name, adminers = [self.loginUser.key(), ], reportTemplate = reportTemplate, reporterWaitings = reporterWaitings, receiverWaitings = receiverWaitings, adminerWaitings = adminerWaitings, notifyEmail = notifyEmail, ) org.put() # メール送信 for email in reporterWaitings: models.SendMail.confReporter(email, org.key(), name) for email in receiverWaitings: models.SendMail.confReceiver(email, org.key(), name) for email in adminerWaitings: models.SendMail.confAdminer(email, org.key(), name) self.loginUser.adminOrganizations.append(org.key()) self.loginUser.put() memcache.delete("loginUser") msg = models.Message( user = self.loginUser.author, title = 'Well done!', message = 'You have successfully saved data', ) msg.put() self.redirect('/Organization/' + str(org.key())) else: for error in validErrors: msg = models.Message( user = self.loginUser.author, title = error['title'], message = error['message'], ) msg.put()
def post(self, key=None): org = models.Organization.get(key) # アクセス制限 if not self.haveFullAccessOrganization(None): self.error(403) return name = self.request.get('name') reportTemplate = self.request.get('reportTemplate') reportersDisabled = self.request.get_all('reportersDisabled') receiversDisabled = self.request.get_all('receiversDisabled') adminersDisabled = self.request.get_all('adminersDisabled') reporterWaitings = self.request.get_all('reporterWaitings') receiverWaitings = self.request.get_all('receiverWaitings') adminerWaitings = self.request.get_all('adminerWaitings') notifyEmail = self.request.get('notifyEmail') # データチェック validErrors = [] for email in reporterWaitings: if not mail.is_email_valid(email): validErrors.append({ 'title': 'Email invalid!', 'message': mail.invalid_email_reason(email, 'Reporter Waitings'), }) for email in receiverWaitings: if not mail.is_email_valid(email): validErrors.append({ 'title': 'Email invalid!', 'message': mail.invalid_email_reason(email, 'Receiver Waitings'), }) for email in adminerWaitings: if not mail.is_email_valid(email): validErrors.append({ 'title': 'Email invalid!', 'message': mail.invalid_email_reason(email, 'Administrator Waitings'), }) if len(validErrors) == 0: # メール送信 for email in reporterWaitings: if org.reporterWaitings.count(email) == 0: models.SendMail.confReporter(email, key, name) for email in receiverWaitings: if org.receiverWaitings.count(email) == 0: models.SendMail.confReceiver(email, key, name) for email in adminerWaitings: if org.adminerWaitings.count(email) == 0: models.SendMail.confAdminer(email, key, name) # データ更新 org.name = name org.reportTemplate = reportTemplate org.reporterWaitings = reporterWaitings org.receiverWaitings = receiverWaitings org.adminerWaitings = adminerWaitings org.notifyEmail = notifyEmail for userDisabled in reportersDisabled: if len(userDisabled) > 0: userDisabled = models.db.Key(userDisabled) while userDisabled in org.reporters: org.reporters.remove(userDisabled) u = models.User.get(userDisabled) while org.key() in u.reportOrganizations: u.reportOrganizations.remove(org.key()) u.put() for userDisabled in receiversDisabled: if len(userDisabled) > 0: userDisabled = models.db.Key(userDisabled) while userDisabled in org.receivers: org.receivers.remove(userDisabled) u = models.User.get(userDisabled) while org.key() in u.receiveOrganizations: u.receiveOrganizations.remove(org.key()) u.put() for userDisabled in adminersDisabled: if len(userDisabled) > 0: userDisabled = models.db.Key(userDisabled) while userDisabled in org.adminers: org.adminers.remove(userDisabled) u = models.User.get(userDisabled) while org.key() in u.adminOrganizations: u.adminOrganizations.remove(org.key()) u.put() memcache.delete("loginUser") org.put() msg = models.Message( user = self.loginUser.author, title = 'Well done!', message = 'You have successfully saved data', ) msg.put() self.redirect('/Organization/' + str(org.key())) else: for error in validErrors: msg = models.Message( user = self.loginUser.author, title = error['title'], message = error['message'], ) msg.put()