Add 'tags' to event model. Add a dataimport system - currently for MaxMind zip files

This commit is contained in:
Dan Milne
2025-11-11 10:31:36 +11:00
parent 772fae7e8b
commit 26216da9ca
34 changed files with 3580 additions and 14 deletions

View File

@@ -0,0 +1,58 @@
# frozen_string_literal: true
class WafPolicyPolicy < ApplicationPolicy
def index?
true # All authenticated users can view policies
end
def show?
true # All authenticated users can view policy details
end
def new?
user.admin? || user.editor?
end
def create?
user.admin? || user.editor?
end
def edit?
user.admin? || (user.editor? && record.user == user)
end
def update?
user.admin? || (user.editor? && record.user == user)
end
def destroy?
user.admin? || (user.editor? && record.user == user)
end
def activate?
user.admin? || (user.editor? && record.user == user)
end
def deactivate?
user.admin? || (user.editor? && record.user == user)
end
def new_country?
create?
end
def create_country?
create?
end
class Scope < ApplicationPolicy::Scope
def resolve
if user.admin?
scope.all
else
# Non-admin users can only see their own policies
scope.where(user: user)
end
end
end
end