def groupPost(self): h.logm("DBG",5,"ACTION "+ h.getcalled()); if request.method != 'POST': h.logm("ERR",5,"EXCEPTION, method is " + request.method); return self.jsonErrorResponse(500, "adm/group action does only allow POST request method"); h.logm("DBG",5,"request.POST body: " + request.body); groupSchema = json.loads(request.body); group = Group(groupSchema); db = self._py_object.app_globals.db; if db.groups.find_one({'name': group.name}): h.logm("INF",5,"group already exist: " + str(group.encode())); return self.jsonErrorResponse(405, "group already exist: " + str(group.encode())); h.logm("INF",5,"trying to create group: " + str(group.encode())); if 'users' in groupSchema: h.logm("INF",5,"Looking for users: " + str(groupSchema['users'])); for userid in groupSchema['users']: try: user = db.users.find_one({'_id': ObjectId(userid)}); except: return self.jsonErrorResponse(404, "Invalid Mongo DB User Id {'_id' : " + userid + '}'); else: if not user: return self.jsonErrorResponse(404, "Invalid user id " + userid); h.logm("INF",5,"found user: "******"INF",5,"Looking for applications: " + str(groupSchema['applications'])); for applicationid in groupSchema['applications']: try: application = db.applications.find_one({'_id': ObjectId(applicationid)}); except: return self.jsonErrorResponse(404, "Invalid Mongo DB Application Id {'_id' : " + applicationid + '}'); else: if not application: return self.jsonErrorResponse(404, "Invalid application id " + applicationid); h.logm("INF",5,"found application: " + str(application)); groupid = db.groups.save(group.encode()); if groupid == 0: return self.jsonErrorResponse(500, "Cannot create group: " + str(group.encode())); # if bucket not exist if not sfh.existbucket(groupid): h.logm("INF",5,"creating bucket for group: " + str(group.encode())); if not sfh.createbucket(groupid): return self.jsonErrorResponse(500, "Cannot create bucket" + str(group.encode())); else: h.logm("INF",5,"bucket already exist for group: " + str(group.encode())); responseDict = { "oid" : str(groupid) }; return self.jsonResponse(responseDict);
return render('/admingroup.mako'); else: h.logm("INF",5,"create group: " + str(group.encode())); # now we save in DB # using groupid (ObjectID from DB) to create the bucket groupid = db.groups.save(group.encode()); if groupid == 0: c.message = 'Cannot create group: ' + str(group); session['message'] = c.message; session.save(); self.buildInformation(); return render('/admingroup.mako'); # if bucket not exist if not sfh.existbucket(groupid): h.logm("INF",5,"creating bucket for group: " + str(group.encode())); if not sfh.createbucket(groupid): h.logm("INF",5,"cannot create bucket for group: " + str(group.encode())); c.message = 'cannot create bucket for group: ' + str(group.encode()); session['message'] = c.message; session.save(); self.buildInformation(); return render('/admingroup.mako'); else: h.logm("INF",5,"bucket already exist for group: " + str(group.encode())); h.logm("INF",5,"complete Group: " + str(group.encode())); session['message_admingroup'] = 'Congratulations: CREATED group [' + group.name + ']!';
def groupPost(self): h.logm("DBG", 5, "ACTION " + h.getcalled()) if request.method != 'POST': h.logm("ERR", 5, "EXCEPTION, method is " + request.method) return self.jsonErrorResponse( 500, "adm/group action does only allow POST request method") h.logm("DBG", 5, "request.POST body: " + request.body) groupSchema = json.loads(request.body) group = Group(groupSchema) db = self._py_object.app_globals.db if db.groups.find_one({'name': group.name}): h.logm("INF", 5, "group already exist: " + str(group.encode())) return self.jsonErrorResponse( 405, "group already exist: " + str(group.encode())) h.logm("INF", 5, "trying to create group: " + str(group.encode())) if 'users' in groupSchema: h.logm("INF", 5, "Looking for users: " + str(groupSchema['users'])) for userid in groupSchema['users']: try: user = db.users.find_one({'_id': ObjectId(userid)}) except: return self.jsonErrorResponse( 404, "Invalid Mongo DB User Id {'_id' : " + userid + '}') else: if not user: return self.jsonErrorResponse( 404, "Invalid user id " + userid) h.logm("INF", 5, "found user: "******"INF", 5, "Looking for applications: " + str(groupSchema['applications'])) for applicationid in groupSchema['applications']: try: application = db.applications.find_one( {'_id': ObjectId(applicationid)}) except: return self.jsonErrorResponse( 404, "Invalid Mongo DB Application Id {'_id' : " + applicationid + '}') else: if not application: return self.jsonErrorResponse( 404, "Invalid application id " + applicationid) h.logm("INF", 5, "found application: " + str(application)) groupid = db.groups.save(group.encode()) if groupid == 0: return self.jsonErrorResponse( 500, "Cannot create group: " + str(group.encode())) # if bucket not exist if not sfh.existbucket(groupid): h.logm("INF", 5, "creating bucket for group: " + str(group.encode())) if not sfh.createbucket(groupid): return self.jsonErrorResponse( 500, "Cannot create bucket" + str(group.encode())) else: h.logm("INF", 5, "bucket already exist for group: " + str(group.encode())) responseDict = { "oid": str(groupid) } return self.jsonResponse(responseDict)
return render('/admingroup.mako') else: h.logm("INF", 5, "create group: " + str(group.encode())) # now we save in DB # using groupid (ObjectID from DB) to create the bucket groupid = db.groups.save(group.encode()) if groupid == 0: c.message = 'Cannot create group: ' + str(group) session['message'] = c.message session.save() self.buildInformation() return render('/admingroup.mako') # if bucket not exist if not sfh.existbucket(groupid): h.logm("INF", 5, "creating bucket for group: " + str(group.encode())) if not sfh.createbucket(groupid): h.logm( "INF", 5, "cannot create bucket for group: " + str(group.encode())) c.message = 'cannot create bucket for group: ' + str( group.encode()) session['message'] = c.message session.save() self.buildInformation() return render('/admingroup.mako') else: h.logm(