summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Field.pm1
-rw-r--r--Bugzilla/Search.pm14
2 files changed, 15 insertions, 0 deletions
diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm
index 2dfd8aa6e..602ab5e4d 100644
--- a/Bugzilla/Field.pm
+++ b/Bugzilla/Field.pm
@@ -142,6 +142,7 @@ use constant DEFAULT_FIELDS => (
{name => 'attachments.ispatch', desc => 'Attachment is patch'},
{name => 'attachments.isobsolete', desc => 'Attachment is obsolete'},
{name => 'attachments.isprivate', desc => 'Attachment is private'},
+ {name => 'attachments.submitter', desc => 'Attachment creator'},
{name => 'target_milestone', desc => 'Target Milestone'},
{name => 'creation_ts', desc => 'Creation date', in_new_bugmail => 1},
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index 0d72b5873..7c0fe7fdd 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -818,6 +818,20 @@ sub init {
"ON $dtable.id = $atable.attach_id");
$f = "$dtable.thedata";
},
+ "^attachments\.submitter," => sub {
+ my $atable = "map_attachment_submitter_$chartid";
+ my $extra = "";
+ if (Bugzilla->params->{"insidergroup"}
+ && !Bugzilla->user->in_group(Bugzilla->params->{"insidergroup"}))
+ {
+ $extra = "AND $atable.isprivate = 0";
+ }
+ push(@supptables, "INNER JOIN attachments AS $atable " .
+ "ON bugs.bug_id = $atable.bug_id $extra");
+ push(@supptables, "LEFT JOIN profiles AS attachers_$chartid " .
+ "ON $atable.submitter_id = attachers_$chartid.userid");
+ $f = "attachers_$chartid.login_name";
+ },
"^attachments\..*," => sub {
my $table = "attachments_$chartid";
my $extra = "";