def post(self, lims_step): user = self.get_secure_cookie('user') email = self.get_secure_cookie('email') a_type = self.get_argument('type', '') title = self.get_argument('title', '') url = self.get_argument('url', '') desc = self.get_argument('desc','') if not a_type or not title: self.set_status(400) self.finish('<html><body>Link title and type is required</body></html>') else: p = Process(self.lims, id=lims_step) p.get(force=True) links = json.loads(p.udf['Links']) if 'Links' in p.udf else {} links[str(datetime.datetime.now())] = {'user': user, 'email': email, 'type': a_type, 'title': title, 'url': url, 'desc': desc} p.udf['Links'] = json.dumps(links) p.put() self.set_status(200) #ajax cries if it does not get anything back self.set_header("Content-type", "application/json") self.finish(json.dumps(links))
def post(self, lims_step): user = self.get_current_user() a_type = self.get_argument('type', '') title = self.get_argument('title', '') url = self.get_argument('url', '') desc = self.get_argument('desc','') if not a_type or not title: self.set_status(400) self.finish('<html><body>Link title and type is required</body></html>') else: p = Process(self.lims, id=lims_step) p.get(force=True) links = json.loads(p.udf['Links']) if 'Links' in p.udf else {} links[str(datetime.datetime.now())] = {'user': user.name, 'email': user.email, 'type': a_type, 'title': title, 'url': url, 'desc': desc} p.udf['Links'] = json.dumps(links) p.put() self.set_status(200) #ajax cries if it does not get anything back self.set_header("Content-type", "application/json") self.finish(json.dumps(links))
def get(self, workset): self.set_header("Content-type", "application/json") p = Process(self.lims, id=workset) p.get(force=True) # Sorted running notes, by date workset_notes = json.loads(p.udf['Workset Notes']) if 'Workset Notes' in p.udf else {} sorted_workset_notes = OrderedDict() for k, v in sorted(workset_notes.items(), key=lambda t: t[0], reverse=True): sorted_workset_notes[k] = v self.write(sorted_workset_notes)
def get(self, workset): self.set_header("Content-type", "application/json") p = Process(self.lims, id=workset) p.get(force=True) # Sorted running notes, by date workset_notes = json.loads(p.udf['Workset Notes']) if 'Workset Notes' in p.udf else {} sorted_workset_notes = OrderedDict() for k, v in sorted(workset_notes.iteritems(), key=lambda t: t[0], reverse=True): sorted_workset_notes[k] = v self.write(sorted_workset_notes)
def post(self, workset): note = self.get_argument('note', '') user = self.get_current_user() category = self.get_argument('category', 'Workset') if category == '': category = 'Workset' workset_data = WorksetDataHandler.get_workset_data( self.application, workset) projects = list(workset_data[workset]['projects']) workset_name = workset_data[workset]['name'] if not note: self.set_status(400) self.finish( '<html><body>No workset id or note parameters found</body></html>' ) else: newNote = { 'user': user.name, 'email': user.email, 'note': note, 'category': category } p = Process(self.lims, id=workset) p.get(force=True) workset_notes = json.loads( p.udf['Workset Notes']) if 'Workset Notes' in p.udf else {} workset_notes[str(datetime.datetime.now())] = newNote p.udf['Workset Notes'] = json.dumps(workset_notes) p.put() # Save the running note in statusdb per workset as well to be able # to quickly show it in the worksets list v = self.application.worksets_db.view("worksets/lims_id", key=workset) doc_id = v.rows[0].id doc = self.application.worksets_db.get(doc_id) doc['Workset Notes'] = json.dumps(workset_notes) self.application.worksets_db.save(doc) workset_link = "<a href='/workset/{0}'>{0}</a>".format( workset_name) project_note = "#####*Running note posted on workset {}:*\n".format( workset_link) project_note += note for project_id in projects: RunningNotesDataHandler.make_project_running_note( self.application, project_id, project_note, category, user.name, user.email) self.set_status(201) self.write(json.dumps(newNote))
def get(self, lims_step): self.set_header("Content-type", "application/json") p = Process(self.lims, id=lims_step) p.get(force=True) links = json.loads(p.udf['Links']) if 'Links' in p.udf else {} #Sort by descending date, then hopefully have deviations on top sorted_links = OrderedDict() for k, v in sorted(links.items(), key=lambda t: t[0], reverse=True): sorted_links[k] = v sorted_links = OrderedDict(sorted(sorted_links.items(), key=lambda k : k[1]['type'])) self.write(sorted_links)
def get(self, lims_step): self.set_header("Content-type", "application/json") p = Process(self.lims, id=lims_step) p.get(force=True) links = json.loads(p.udf['Links']) if 'Links' in p.udf else {} #Sort by descending date, then hopefully have deviations on top sorted_links = OrderedDict() for k, v in sorted(links.iteritems(), key=lambda t: t[0], reverse=True): sorted_links[k] = v sorted_links = OrderedDict(sorted(sorted_links.iteritems(), key=lambda (k,v): v['type'])) self.write(sorted_links)
def delete(self, workset): note_id=self.get_argument('note_id') p = Process(self.lims, id=workset) p.get(force=True) workset_notes = json.loads(p.udf['Workset Notes']) if 'Workset Notes' in p.udf else {} try: self.set_header("Content-type", "application/json") del workset_notes[note_id] p.udf['Workset Notes'] = json.dumps(workset_notes) p.put() self.set_status(201) self.write(json.dumps(workset_notes)) except: self.set_status(400) self.finish('<html><body>No note found</body></html>')
def post(self, workset): note = self.get_argument('note', '') user = self.get_secure_cookie('user') email = self.get_secure_cookie('email') if not note: self.set_status(400) self.finish('<html><body>No workset id or note parameters found</body></html>') else: newNote = {'user': user, 'email': email, 'note': note} p = Process(self.lims, id=workset) p.get(force=True) workset_notes = json.loads(p.udf['Workset Notes']) if 'Workset Notes' in p.udf else {} workset_notes[str(datetime.datetime.now())] = newNote p.udf['Workset Notes'] = json.dumps(workset_notes) p.put() self.set_status(201) self.write(json.dumps(newNote))
def post(self, workset): note = self.get_argument('note', '') user = self.get_secure_cookie('user') email = self.get_secure_cookie('email') if not note: self.set_status(400) self.finish( '<html><body>No workset id or note parameters found</body></html>' ) else: newNote = {'user': user, 'email': email, 'note': note} p = Process(self.lims, id=workset) p.get(force=True) workset_notes = json.loads( p.udf['Workset Notes']) if 'Workset Notes' in p.udf else {} workset_notes[str(datetime.datetime.now())] = newNote p.udf['Workset Notes'] = json.dumps(workset_notes) p.put() self.set_status(201) self.write(json.dumps(newNote))