Skip to content

feat(collab): team-based pipeline sharing — spouses, partners, agents #371

Description

@paruff

Problem

Top investors work with teams: spouses, partners, agents, property managers. Current pipeline ownership is per-user only. No sharing.

Acceptance Criteria

  • Create `Team` model: name, owner (User), created_at
  • Create `TeamMember` model: team, user, role (owner/admin/member/viewer)
  • Modify `PipelineProperty` to support team visibility: `team = ForeignKey(Team, null=True, blank=True)`
  • Update all pipeline views to filter by `Q(user=request.user) | Q(team__members=request.user)`
  • Add team creation/management UI at `/teams/`
  • Invite flow: owner sends invite email → recipient accepts → added to team
  • Role-based permissions: owner (full), admin (manage members), member (CRUD properties), viewer (read-only)
  • E2E test: create team, invite member, verify shared pipeline visible
  • Unit tests for permission logic

Implementation Guide (for opencode/mimo v2.5)

  1. Create `Team` and `TeamMember` models in `core/models/team.py`
  2. Add `team` FK to `PipelineProperty` model (migration needed)
  3. Create `TeamPermission` helper class for view decorators
  4. Create team views: create, invite, manage members, leave
  5. Create `templates/teams/*.html` templates
  6. Update all pipeline views to use `TeamPermission` queryset filtering
  7. Add `/teams/` URL patterns
  8. Tests in `tests/test_team_sharing.py`

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    P5:mobilePhase 5: Mobile & CollaborationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions