Add a logs view for specific members of an organization

This commit is contained in:
Joseph Schorr 2013-12-06 19:25:27 -05:00
parent 59046b2e79
commit a0f9e1646a
7 changed files with 124 additions and 8 deletions

View file

@ -459,12 +459,13 @@ def get_organization_team(orgname, teamname):
return result[0]
def get_organization_members_with_teams(organization):
def get_organization_members_with_teams(organization, membername = None):
joined = TeamMember.select().annotate(Team).annotate(User)
query = joined.where(Team.organization == organization)
if membername:
query = query.where(User.username == membername)
return query
def get_organization_team_members(teamid):
joined = User.select().join(TeamMember).join(Team)
query = joined.where(Team.id == teamid)
@ -1058,11 +1059,14 @@ def delete_webhook(namespace_name, repository_name, public_id):
webhook.delete_instance()
return webhook
def list_logs(user_or_organization_name, start_time, repository = None):
def list_logs(user_or_organization_name, start_time, performer = None, repository = None):
joined = LogEntry.select().join(User)
if repository:
joined = joined.where(LogEntry.repository == repository)
if performer:
joined = joined.where(LogEntry.performer == performer)
return joined.where(User.username == user_or_organization_name, LogEntry.datetime >= start_time).order_by(LogEntry.datetime.desc())
def log_action(kind_name, user_or_organization_name, performer=None, repository=None,