def get(self): rq_name = self.request.args.get('name') rq_reg_id = self.request.args.get('registration_id') rq_phonetype = self.request.args.get('phonetype') if Game.all().count() == 0: Game(game_id=1, is_on=False).put() game = Game.all().get() elif Game.all().filter('is_on', True).count() == 0: game = Game.all().order('-game_id').get() else: game = Game.all().filter('is_on', True).order('-game_id').get() if rq_name is None or rq_reg_id is None or rq_phonetype is None: return MissingParams() elif rq_phonetype != 'android' and rq_phonetype != 'windows': return render_json_response({'status':{'code':99,'message':'Phonetype must be android or windows.'}}) else: if not Profile.all().filter('name',rq_name).get() is None: return render_json_response({'status':{'code':99,'message':'Supplied name is not unique.'}}) elif not Profile.all().filter('registration_id',rq_reg_id).get() is None: return render_json_response({'status':{'code':99,'message':'Supplied registration id is not unique.'}}) else: new_profile = Profile( name = rq_name, registration_id = rq_reg_id, phonetype = rq_phonetype, token = ''.join(random.choice('0123456789abcdef') for x in range(40)), score = 0, game = game ) new_profile.put() # if game.is_on: # push(new_profile, 0) return render_json_response({'response':{'token':new_profile.token},'status':{'code':0,'message':'Success'}})
def post(self): rq_cid = self.request.form.get('cid') rq_token = self.request.form.get('token') rq_image = self.request.files.get('image') if rq_token is None or rq_cid is None: return MissingParams() else: profile = Profile.all().filter('token', rq_token).get() if profile is None: return InvalidToken() elif not profile.game.is_on: return NoGameOn() else: point = CheckinPoint.all().filter('cid', int(rq_cid)).get() if point is None: return InvalidCid() else: ckin = Checkin.all().filter('profile', profile) if ckin.filter('achieved', False).count() == 0: return render_json_response({'status':{'code':13,'message':'You have no unachieved checkins.'}}) else: ckin = ckin.filter('point', point).get() if ckin is None: return render_json_response({'status':{'code':11,'message':'You are checked in at another location!'}}) else: rq_image.seek(0,2) img_content_length = rq_image.tell() rq_image.seek(0,0) if img_content_length == 0: return render_json_response({'status':{'code':95,'message':'You have not included a picture!'}}) else: params = [] params.append( MultipartParam( "file", filename=ckin.cid, value=rq_image.read() ) ) payloadgen, headers = multipart_encode(params) payload = str().join(payloadgen) url = blobstore.create_upload_url('/handle_upload') try: result = urlfetch.fetch( url=url, payload=payload, method=urlfetch.POST, headers=headers, deadline=10, follow_redirects=False ) return render_json_response({'status':{'code':0,'message':'Success'}}) except: return render_json_response({'status':{'code':81,'message':'There was a server error uploading the image.'}})
def post(self, abbrev_requested): ## Check if this is a json_import port ptable = self.request.form.get('table') #cls = self.request.form.get('class') description = self.request.form.get('description') if ptable and ptable == abbrev_requested: #g = json.loads(group_str) payload = {'success': True} #q = db.GqlQuery("select * from group where group=:1", g['group']) #G = g.get() A = Abbrev.get_by_key_name(ptable) if A == None: A = Abbrev(key_name=ptable, table=ptable, description=description) A.put() payload['action'] = 'new' else: #G.cls = cls A.description = description payload['action'] = 'updated' A.put() payload['group'] = A.dic() else: payload = {'error': 'url/group mismatches'} #return render_response('container.html', c=context, g=appGlobal) return render_json_response(payload)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) if job.JobStage >= JobStatus.PrePress and job.JobStage <= JobStatus.Complete: if job.JobStage == JobStatus.PrePress: job.OrderStage = OrderStatus.PendingCustomerApproval if job.JobStage > JobStatus.PrePress: job.JobStage = job.JobStage - 1 job.OrderStage = OrderStatus.JobSubmitted else: job.JobStage = 0 job.put() add_history( "Advanced job to " + getStageDescription(job.JobStage), self.auth_current_user, job.key(), job.Client.key()) else: if job.OrderStage > OrderStatus.PendingCustomerApproval and job.OrderStage < OrderStatus.OutForDelivery: job.OrderStage -= 100 job.put() add_history( "Advanced job to " + getStageDescription(job.OrderStage), self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'regressed': True} return render_json_response(context)
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) clientid = kwargs['clientid'] jobs = JobModel.all() jobs.filter("Client = ", ClientModel.get(clientid)) jobs.filter("Invoiced != " , True) context = [] if self.request.is_xhr: for job in jobs: os = None js = None if job.OrderStage and lstOrderStages[job.OrderStage]: os = lstOrderStages[job.OrderStage] if job.JobStage: js = lstJobStages[job.JobStage] context.append({ 'name' : job.Nickname, 'jobstage': js, 'orderstage': os, 'id' : str(job.key()), 'created': job.Created.strftime("%b %d %Y"), 'quote' : job.Quote }); return render_json_response(context) else: return render_response('hello.html', **context)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.ChangedBy = self.auth_current_user job.Description = self.request.form.get('description') job.Nickname = self.request.form.get('nickname') add_history("job was updated", self.auth_current_user, job.key(), self.auth_current_user.assigned_to) job.put() else: job = JobModel() job.Approved = False job.Description = self.request.form.get('description') job.Nickname = self.request.form.get('nickname') job.ChangedBy = self.auth_current_user job.CreatedBy = self.auth_current_user job.Client = ClientModel.get(self.auth_current_user.assigned_to) job.OrderStage = OrderStatus.PendingQuote job.put() #.Created.strftime("%a, %b %d %Y - %I:%M%P") job.JobNumber = job.Created.strftime("%Y_%b_%d_") job.JobNumber += str(job.key().id()) job.put() add_history("a request for a quote was started. ", self.auth_current_user, job.key(), self.auth_current_user.assigned_to) context = {'added': True, 'key': str(job.key())} if self.request.is_xhr: return render_json_response(context) else: return render_response('hello.html', **context)
def post(self, group_requested): ## Check if this is a json_import port pgroup = self.request.form.get('group') cls = self.request.form.get('class') description = self.request.form.get('description') if pgroup and pgroup == group_requested: #g = json.loads(group_str) payload = {'success': True} G = Group.get_by_key_name(pgroup) if G == None: G = Group(key_name=pgroup, name=pgroup, cls=cls, description=description) G.put() payload['action'] = 'new' else: G.cls = cls G.description = description payload['action'] = 'updated' G.put() payload['group'] = G.dic() else: payload = {'error': 'url/group mismatches'} #return render_response('container.html', c=context, g=appGlobal) return render_json_response(payload)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) if job.JobStage >= JobStatus.PrePress and job.JobStage <= JobStatus.Complete: if job.JobStage == JobStatus.PrePress: job.OrderStage = OrderStatus.PendingCustomerApproval if job.JobStage > JobStatus.PrePress: job.JobStage = job.JobStage - 1 job.OrderStage = OrderStatus.JobSubmitted else: job.JobStage = 0 job.put() add_history("Advanced job to " + getStageDescription(job.JobStage), self.auth_current_user, job.key(), job.Client.key()) else: if job.OrderStage > OrderStatus.PendingCustomerApproval and job.OrderStage < OrderStatus.OutForDelivery: job.OrderStage -= 100 job.put() add_history("Advanced job to " + getStageDescription(job.OrderStage), self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'regressed': True} return render_json_response(context)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.ChangedBy = self.auth_current_user job.Description = self.request.form.get('description') job.Nickname = self.request.form.get('nickname') add_history("job was updated", self.auth_current_user, job.key(), self.auth_current_user.assigned_to) job.put() else: job = JobModel() job.Approved = False job.Description = self.request.form.get('description') job.Nickname = self.request.form.get('nickname') job.ChangedBy = self.auth_current_user job.CreatedBy = self.auth_current_user job.Client = ClientModel.get(self.auth_current_user.assigned_to) job.OrderStage = OrderStatus.PendingQuote job.put() #.Created.strftime("%a, %b %d %Y - %I:%M%P") job.JobNumber = job.Created.strftime("%Y_%b_%d_") job.JobNumber += str(job.key().id()) job.put() add_history("a request for a quote was started. ", self.auth_current_user, job.key(), self.auth_current_user.assigned_to) context = {'added': True, 'key' : str(job.key()) } if self.request.is_xhr: return render_json_response(context) else: return render_response('hello.html', **context)
def get(self): rq_reg_id = self.request.args.get('registration_id') rq_token = self.request.args.get('token') if rq_reg_id is None or rq_token is None: return MissingParams() elif not Profile.all().filter('registration_id',rq_reg_id).get() is None: return render_json_response({'status':{'code':90,'message':'Supplied registration id is not unique.'}}) else: profile = Profile.all().filter('token',rq_token).get() if profile is None: return InvalidToken() else: profile.registration_id = rq_reg_id profile.put() return render_json_response({'response':{'token':profile.token},'status':{'code':0,'message':'success'}})
def get(self, line=None, direction=None, **kwargs): bus_stops = BusStop.all() bus_stops.filter('lines =', line) bus_stops.filter('directions =', direction) ds = BusDirection.all() ds.filter('bus_line =', line) ds.filter('direction =', direction) # TODO: improve this feature directions_html = '' for d in ds: directions_html += '<strong>%s:</strong><ul><li>Desde: <em>%s</em></li><li>Hasta: <em>%s</em></li></ul>' % (d.direction, d.from_direction, d.to_direction) points = [] for bs in bus_stops: points.append({ 'name': bs.name, 'key': str(bs.key()), 'address': bs.address, 'icon': '/static/img/gmarkers/red_bus.png', 'shadow': '/static/img/gmarkers/shadow_bus.png', 'latitude': bs.point.lat, 'longitude': bs.point.lon, 'directions': bs.directions, }) data = {'points': points, 'directions_html': directions_html} return render_json_response(data)
def get(self): payload = {'success': True} #class_filter = self.request.args.get('class') payload['abbrevs'] = queries.abbrevs() return render_json_response(payload)
def get(self): payload = {'success': True} payload['groups_meta'] = queries.groups_meta() return render_json_response(payload)
def post(self): if self.request.form.get('key') is not None: # logging.log(logging.INFO, "deleting client with key " + self.request.form.get('key')) c = ClientModel.get(self.request.form.get('key')) name = c.Name if c: c.delete() add_history("a client was deleted! (%s)" % name, self.auth_current_user, None, None) return render_json_response({})
def post(self): if self.request.form.get('jobid'): c = get_communication(self.request.form.get('jobid'), self.request.form.get('lastid')) context = [] for item in c: context.append({'from' : item.CreatedBy.username, 'when': item.Created.strftime("%a, %b %d %Y - %I:%M%P"), 'text': item.Text, 'id': item.NumericId}) else: context = { 'error' : True, 'reason': 'no job id specified' } if self.request.is_xhr: return render_json_response(context)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.JobStage = JobStatus.PrePress job.put() add_history("Layout rejected by client. ", self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'regressed': True} return render_json_response(context)
def get(self, group_requested): payload = {'success': True} query = db.GqlQuery("select * from Note where group=:1 order by sort_order ASC", group_requested) results = query.fetch(1000) payload['notes'] = [ r.dic() for r in results ] return render_json_response(payload)
def post(self, subtitle_id): subtitles = Subtitles.get_by_id(subtitle_id); if subtitles: changeset = map(format_line, simplejson.loads(self.request.form.get('changeset'))) changedLines = subtitles.set_changeset(changeset) logging.debug(changedLines) if changedLines: changeset = SubtitlesChangeSet( text=[simplejson.dumps(x) for x in changedLines], subtitles=subtitles, user=self.auth_current_user.user ) changeset.put() subtitles.put() return render_json_response({'status': 'ok'}) else: return render_json_response({'status': 'error', 'message': _('Error happened during the saving process')}) else: return render_json_response({'status': 'error', 'message': _('Not valid Subtitles ID')})
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.OrderStage = OrderStatus.JobSubmitted job.JobStage = JobStatus.PrePress job.put() add_history("Quote accepted by client. ", self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'advanced': True} return render_json_response(context)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.OrderStage = OrderStatus.PendingCustomerApproval job.Quote = self.request.form.get('quote') job.put() add_history("Quote submitted to client. ", self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'advanced': True} return render_json_response(context)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.JobStage = JobStatus.PrePress job.put() add_history("Layout rejected by client. ", self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'regressed': True} return render_json_response(context)
def get(self, **kwargs): bus_stop = db.get(self.request.values.get('busstop_key')) directions = self.request.values.get('directions', '') if len(directions.split(',')) == 2: directions = None else: directions = directions bus_times = bus_stop.get_next_bus_times(settings.NEXT_BUS_TIME_MINUTES, direction=directions) bus_direction = BusDirection.all() bus_direction.filter('direction =', directions) # README # BadValueError: Filtering on lists is not supported # We can't use "bus_direction.filter('bus_line =', bus_stop.lines)" # So, in the while we will use "bus_stop.lines[0]" because a BusStop only # has one line for the moment bus_direction.filter('bus_line =', bus_stop.lines[0]) bus_direction = bus_direction.fetch(1) bus_direction = bus_direction[0] info_content = '<b>%s</b><br /> %s<br /><em style="font-size: 10px">%s / Hacia: %s (%s)</em>' % \ (bus_stop.name, bus_stop.address, utils.get_weekday_display(), bus_direction.to_direction, bus_direction.direction) for bus_time in bus_times: left_time = relativedelta(bus_time.time_1970(), utils.now_time()).minutes bus_already_gone = False if left_time < 0: if bus_time.time_1970().hour == 0: # Time over 00hs next_day = bus_time.time_1970() + datetime.timedelta(days=1) left_time = relativedelta(next_day, utils.now_time()).minutes else: # This bus has already gone by bus_already_gone = True time = bus_time.time.strftime('%H:%M') time_content = '<br /><b>%s min:</b><span> %s hs</span>' % (left_time, time) if bus_already_gone: info_content += '<span style="color: red">' + time_content + '</span>' else: info_content += time_content if bus_time.comments: info_content += '<em> (' for comment in bus_time.comments: info_content += '%s, ' % comment info_content = info_content[:-2] info_content += ')</em>' return render_json_response({ 'info_content': info_content })
def get(self): payload = {'success': True} class_filter = self.request.args.get('class') if class_filter == 'All': class_filter = None search_text = self.request.args.get('search_text') search_col = self.request.args.get('search_col') payload['groups'] = queries.groups(class_filter=class_filter, search_text=search_text, search_col=search_col) return render_json_response(payload)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.OrderStage = OrderStatus.PendingCustomerApproval job.Quote = self.request.form.get('quote') job.put() add_history("Quote submitted to client. ", self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'advanced': True} return render_json_response(context)
def post(self): if self.request.form.get('jobid'): job = JobModel.get(self.request.form.get('jobid')) job.OrderStage = OrderStatus.JobSubmitted job.JobStage = JobStatus.PrePress job.put() add_history("Quote accepted by client. ", self.auth_current_user, job.key(), job.Client.key()) if self.request.is_xhr: context = {'advanced': True} return render_json_response(context)
def get(self): # rq_cid = self.request.args.get('cid') rq_token = self.request.args.get('token') if rq_token is None: return MissingParams() else: profile = Profile.all().filter('token', rq_token).get() if profile is None: return InvalidToken() else: if not profile.game.is_on: return NoGameOn() else: ckin = Checkin.all().filter('profile', profile).filter('achieved', False).get() if ckin is None: return render_json_response({'status':{'code':11,'message':'Not locked in to any location.'}}) else: ckin.delete() return render_json_response({'response':{'message':'You are no longer locked to a checkin.'},'status':{'code':0,'message':'Success'}})
def get(self, group_requested, note_requested): payload = {'success': True} query = db.GqlQuery("select * from Note where group=:1 and key_name=:2", group_requested, note_requested) F = query.get() if F: payload['heading'] = [F.dic()] else: payload['error'] = "Field '%s/%s/' Not Found" % (group_requested, heading_requested) return render_json_response(payload)
def get(self, group_requested): payload = {'success': True} query = db.GqlQuery("select * from Heading where group=:1 order by sort_order ASC", group_requested) results = query.fetch(1000) payload['headings'] = [ r.dic() for r in results ] #if F: #payload['field'] = [F.dic()] #else: #payload['error'] = "Field '%s/%s/' Not Found" % (group_requested, heading_requested) return render_json_response(payload)
def post(self): if self.request.form.get('jobid'): add_communication(self.request.form.get('text'), self.auth_current_user, self.request.form.get('jobid')) context = {'added': True} connections = getConnections(JobModel.get(self.request.form.get('jobid')).key().id()) for connection in connections: logging.log(logging.INFO, 'sending message to ' + connection) channel.send_message(connection, "{'action': 'communication'}") else: context = {'added': False, 'reason' : "no job specified" } if self.request.is_xhr: return render_json_response(context)
def get(self): rq_token = self.request.args.get('token') if rq_token is None: return MissingParams() else: prof = Profile.all().filter('token', rq_token).get() if prof is None: return InvalidToken() elif not prof.game.is_on: return NoGameOn() else: num_points = CheckinPoint.all().filter('game', prof.game).count() return render_json_response({'response':{'n':str(num_points)},'status':{'code':0,'message':'Success'}})
def get(self, abbrev_requested): payload = {'success': True} A = Abbrev.get_by_key_name(abbrev_requested) if A: #payload = {'abbrev': {}} payload['table'] = A.dic() query = db.GqlQuery("select * from AbbrevCode where table=:1", A.table) results = query.fetch(2000) payload['abbrev_codes'] = [r.dic() for r in results] else: payload['error'] = "Abbrev table '%s' not found" % abbrev_requested return render_json_response(payload)
def get(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) logging.log(logging.INFO, "searching for " + kwargs['term']) clients = db.GqlQuery("SELECT FROM ClientModel WHERE Name >= :1 AND Name < :2", kwargs['term'], u"%s" % kwargs['term'] + u"\ufffd") context = [] if self.request.is_xhr: for client in clients: context.append({'value' : client.Name, 'id' : str(client.key()) }); return render_json_response(context) else: return render_response('hello.html', **context)
def get(self): rq_cid = self.request.args.get('cid') rq_token = self.request.args.get('token') rq_lat = self.request.args.get('latitude') rq_lon = self.request.args.get('longitude') if rq_cid is None or rq_token is None or rq_lat is None or rq_lon is None: return MissingParams() else: profile = Profile.all().filter('token', rq_token).get() if profile is None: return InvalidToken() else: if not profile.game.is_on: return NoGameOn() else: point = CheckinPoint.all().filter('game', profile.game).filter('cid', int(rq_cid)).get() if point is None: return InvalidCid() else: if not Checkin.all().filter('profile', profile).filter('point', point).get() is None: return render_json_response({'status':{'code':13,'message':'Already checked in here.'}}) elif not Checkin.all().filter('profile', profile).filter('achieved', False).get() is None: return render_json_response({'status':{'code':12,'message':'Currently locked in at another location.'}}) else: dist = math.sqrt((float(rq_lat) - point.latitude)*(float(rq_lat)- point.latitude) + (float(rq_lon) - point.longitude)*(float(rq_lon) - point.longitude)) if dist > point.hint_dist: return render_json_response({'status':{'code':10,'message':'Too far from checkin point.'}}) else: if Checkin.all().count() == 0: cid = 1 else: cid = Checkin.all().order('-cid').get().cid + 1 checkin = Checkin(profile = profile, point = point, achieved = False, cid = cid) checkin.put() return render_json_response({'response':{'hint':point.hint}, 'status':{'code':0,'message':'Success'}})
def get(self): payload = {'success': True} query = AgsFile.all() F = query.get() #payload['ags_file'] = F.dic() from apps.ags import Ags4Parser P = Ags4Parser(F.contents) payload['ags_data'] = P.meta() #payload['ags_data'] = groups #payload['data'] = data return render_json_response(payload)
def post(self): if self.request.form.get('jobid'): add_communication(self.request.form.get('text'), self.auth_current_user, self.request.form.get('jobid')) context = {'added': True} connections = getConnections( JobModel.get(self.request.form.get('jobid')).key().id()) for connection in connections: logging.log(logging.INFO, 'sending message to ' + connection) channel.send_message(connection, "{'action': 'communication'}") else: context = {'added': False, 'reason': "no job specified"} if self.request.is_xhr: return render_json_response(context)
def post(self, abbrev_requested): ## Check if this is a json_import port ptable = self.request.form.get('table') pcode = self.request.form.get('code') description = self.request.form.get('description') date_added_str = self.request.form.get('date_added') added_by = self.request.form.get('added_by') #if date_added != "": date_parts = date_added_str.split("-") date_added = datetime.date(int(date_parts[0]), int(date_parts[1]), int(date_parts[2])) if ptable and ptable == abbrev_requested: #g = json.loads(group_str) payload = {'success': True} #q = db.GqlQuery("select * from group where group=:1", g['group']) #G = g.get() A = Abbrev.get_by_key_name(ptable) if A == None: #A = Abbrev(key_name=ptable, table=ptable, description=description) #A.put() payload['error'] = "AbbrevTable '%s' not found" % ptable else: query = db.GqlQuery("select * from AbbrevCode where table=:1 and code=:2", ptable, pcode) AC = query.get() if AC == None: AC = AbbrevCode(key_name="%s/%s" % (ptable, pcode), table=ptable, code=pcode, description=description, date_added=date_added, added_by=added_by ) payload['action'] = 'added' else: #if AC.description != description: AC.description = description #AC.date_added = date_added modi = True #if payload['action'] = 'updated' AC.put() payload['abbrev_code'] = AC.dic() else: payload = {'error': 'url/group mismatches'} #return render_response('container.html', c=context, g=appGlobal) return render_json_response(payload)
def post(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) if self.request.form.get('invoiceid'): invoice = InvoiceModel.get(self.request.form.get('invoiceid')) invoice.Paid = True invoice.put() jobs = JobModel.all() jobs.filter("Invoice = ", invoice) for job in jobs: job.OrderStage = OrderStatus.Paid job.put() context = {'invoiced': True } if self.request.is_xhr: return render_json_response(context)
def get(self): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) clients = ClientModel.all().order("Name") context = [] if self.request.is_xhr: for client in clients: users_query = db.Query(User).filter("assigned_to", str(client.key())) logging.log(logging.INFO, "users: " + str(users_query.count())) u = [] if users_query.count() > 0: for user in users_query: u.append({'Username' : user.username, 'Email' : user.email, 'Key': str(user.key())}) context.append({'Name' : client.Name, 'Key' : str(client.key()), 'Address': client.Address, 'Email' : client.Email, 'PhoneNumber': client.PhoneNumber, 'Users' : u}); return render_json_response(context) else: return render_response('hello.html', **context)
def post(self, **kwargs): product_quantity = self.request.form.get('product_quantity', type=int) product_id = self.request.form.get('product_id', type=int) # check if product exists product = Product.get_by_id(product_id) product_name = product.name product_price = product.price product_unit = product.unit context = {} if product is not None: cart = self._add_to_cart(product_id, product_quantity, product_name, product_price, product_unit) context = {'success': True, 'products': cart} else: context = {'success': False, 'products': []} return render_json_response(context)
def post(self): if self.request.form.get('jobid'): c = get_communication(self.request.form.get('jobid'), self.request.form.get('lastid')) context = [] for item in c: context.append({ 'from': item.CreatedBy.username, 'when': item.Created.strftime("%a, %b %d %Y - %I:%M%P"), 'text': item.Text, 'id': item.NumericId }) else: context = {'error': True, 'reason': 'no job id specified'} if self.request.is_xhr: return render_json_response(context)
def post(self, **kwargs): if not self.auth_current_user.is_admin and not self.auth_current_user.is_staff: return redirect(url_for('auth/login')) #get the client or create new if new if self.request.form.get('key') is not None: c = ClientModel.get(self.request.form.get('key')) else : c = ClientModel() #set the client properties and save # c.Changed = datetime.now() c.Name = self.request.form.get('name') c.Address = self.request.form.get('address') if self.request.form.get('phone') is not None: c.PhoneNumber = self.request.form.get('phone') c.Email = self.request.form.get('email') c.CreatedBy = self.auth_current_user c.put() add_history("a client was updated", self.auth_current_user, None, c.key()) self.set_message('success', 'Successfully saved your changes. ', flash=True, life=5) #create the user username = self.request.form.get('username') password = self.request.form.get('password') context = {} if username and password: auth_id = 'own|%s' % username user = self.auth_create_user(username, auth_id, password=password, assigned_to=str(c.key()), email=self.request.form.get('email')) #create the result if user: context = {'clientadded': True, 'key': str(c.key()), 'user' : str(user.key()) } add_history("user was created", self.auth_current_user, None, c.key(), user.key()) self.set_message('success', 'The user was created. ', flash=True, life=5) else : context = {'clientadded': True, 'key' : str(c.key()) } if self.request.is_xhr: return render_json_response(context) else: return redirect(self.request.form.get('redirect'))