Esempio n. 1
0
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
Esempio n. 2
0
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)