def register_new_team(request, session, user): """Create a new team. Args: request: (Request) session: (DBSession) user: (User) user creating the team Returns: (None|tid): None if something failed, tid otherwise """ tid = request.params.get('team_id', "") if len(tid) == 0: request.session.flash("Enter a team id first", 'warning') return None tid = tid.lower().strip() if " " in tid: msg = "Team id ('%s') cannot have space" % tid request.session.flash(msg, 'warning') return None team = Team.get(session, tid) if team is not None: team_url = request.route_url('team_view_home', uid=tid) msg = "Team <a href='%s'>'%s'</a> already exists" % (team_url, tid) request.session.flash(Markup(msg), 'warning') return None # create new team team = Team.create(session, tid) team.add_policy(session, user, Role.edit) request.session.flash("New team %s created" % tid, 'success') return tid
def main(session): # users revesansparole = User.create(session, uid='revesansparole', name="Jerome Chopard", email="*****@*****.**") img = Image.open("seeweb/scripts/avatar/revesansparole.png") upload_user_avatar(img, revesansparole) users.append(revesansparole) doofus0 = User.create(session, uid='doofus%d' % 0, name="Dummy Doofus", email="*****@*****.**") users.append(doofus0) doofus1 = User.create(session, uid='doofus%d' % 1, name="Dummy Doofus", email="*****@*****.**") users.append(doofus1) pradal = User.create(session, uid='pradal', name="Christophe Pradal", email="*****@*****.**") img = Image.open("seeweb/scripts/avatar/pradal.png") upload_user_avatar(img, pradal) users.append(pradal) sartzet = User.create(session, uid='sartzet', name="Simon Artzet", email="*****@*****.**") img = Image.open("seeweb/scripts/avatar/sartzet.png") upload_user_avatar(img, sartzet) users.append(sartzet) fboudon = User.create(session, uid='fboudon', name="Fred Boudon", email="*****@*****.**") img = Image.open("seeweb/scripts/avatar/fboudon.png") upload_user_avatar(img, fboudon) users.append(fboudon) # teams subsub_team = Team.create(session, uid="subsubteam") subsub_team.description = """Test team only""" subsub_team.add_policy(session, doofus0, Role.edit) teams.append(subsub_team) sub_team = Team.create(session, uid="subteam") sub_team.description = """Test team only""" sub_team.add_policy(session, doofus1, Role.edit) sub_team.add_policy(session, subsub_team, Role.edit) teams.append(sub_team) vplants = Team.create(session, uid="vplants") img = Image.open("seeweb/scripts/avatar/vplants.png") upload_team_avatar(img, vplants) descr = dedent(""" Team ---- INRIA team based in Montpellier """) vplants.store_description(descr) vplants.add_policy(session, pradal, Role.edit) vplants.add_policy(session, fboudon, Role.view) teams.append(vplants) oa = Team.create(session, uid="openalea") img = Image.open("seeweb/scripts/avatar/openalea.png") upload_team_avatar(img, oa) descr = dedent(""" Community --------- OpenAlea is an open source project primarily aimed at the plant research community. It is a distributed collaborative effort to develop Python libraries and tools that address the needs of current and future works in Plant Architecture modeling. OpenAlea includes modules to analyse, visualize and model the functioning and growth of plant architecture. """) oa.store_description(descr) oa.add_policy(session, revesansparole, Role.edit) oa.add_policy(session, pradal, Role.view) oa.add_policy(session, sartzet, Role.view) oa.add_policy(session, vplants, Role.edit) oa.add_policy(session, sub_team, Role.edit) teams.append(oa)