/**
Represents an action taken by a staff member that has been logged.
@class StaffActionLog
@extends Discourse.Model
@namespace Discourse
@module Discourse
**/
Discourse.StaffActionLog = Discourse.Model.extend({
showFullDetails: false,
actionName: function() {
return I18n.t("admin.logs.staff_actions.actions." + this.get('action_name'));
}.property('action_name'),
formattedDetails: function() {
var formatted = "";
if (this.get('email')) {
formatted += "" + I18n.t("email") + ": " + this.get('email') + "
";
}
if (this.get('ip_address')) {
formatted += "IP: " + this.get('ip_address') + "
";
}
return formatted;
}.property('ip_address', 'email')
});
Discourse.StaffActionLog.reopenClass({
create: function(attrs) {
if (attrs.staff_user) {
attrs.staff_user = Discourse.AdminUser.create(attrs.staff_user);
}
if (attrs.target_user) {
attrs.target_user = Discourse.AdminUser.create(attrs.target_user);
}
return this._super(attrs);
},
findAll: function(filter) {
return Discourse.ajax("/admin/logs/staff_action_logs.json").then(function(staff_actions) {
return staff_actions.map(function(s) {
return Discourse.StaffActionLog.create(s);
});
});
}
});