Module:Gerrit dashboard/MediawikiCore

local dashboard = require( 'Module:Gerrit dashboard' ) local link_to_dashboard = dashboard._link_to_dashboard

local team_members = {} local projects = {}

local dashboard_def = {}

local add_ext = function ( ext, limit ) local proj = 'mediawiki/extensions/' .. ext limit = limit or 10

table.insert( dashboard_def, { ext, {		{ 'project', proj },		{ 'status', 'open' },		{ 'limit', limit }	} } ) table.insert( projects, proj ) end

local add_team_member = function ( member, name ) table.insert( dashboard_def, { member .. ' core', {		{ 'project', 'mediawiki/core' },		{ 'status', 'open' },		{ 'owner', name }	} } ) table.insert( team_members, { member, name } ) end

local get_all_possible_constraints = function local constrs = {} for _, tm in ipairs( team_members ) do		table.insert( constrs, { 'owner', tm[2] } ) end for _, p in ipairs( projects ) do		table.insert( constrs, { 'project', p } ) end return constrs end

add_team_member( 'Tim Starling', '"Tim Starling"' ) add_team_member( 'Bryan Davis', 'BryanDavis' ) add_team_member( 'Nik Everett', 'Manybubbles' ) add_team_member( 'Greg Grossmeier', '"Greg Grossmeier"' ) add_team_member( 'Chad Horohoe', 'Chad' ) add_team_member( 'Brad Horsch', 'Anomie' ) add_team_member( 'Ori Livneh', 'Ori.livneh' ) add_team_member( 'Antoine Musso', 'Hashar' ) add_team_member( 'Sam Reed', 'Reedy' ) add_team_member( 'Aaron Schulz', '"Aaron Schulz"' ) add_team_member( 'Chris Steipp', 'CSteipp' )

table.insert( dashboard_def, { 'Recently merged', {	{ 'status', 'merged' },	{ 'NOT', { 'owner', 'L10n-bot' } },	{ 'OR', get_all_possible_constraints },	{ 'limit', 20 } } } )

return { link = function ( frame ) return link_to_dashboard( dashboard_def, 'MediaWiki Core', 'MediaWiki Core dashboard on Gerrit' ) .. ' (source)' end }