Automations: - 2-column layout: WhatsApp phone LEFT, education RIGHT - Right column: 'How it works' (5 numbered steps), performance stats, timing controls, reply commands, tips - Hero spans full width with photo+dark panel - Improvement CTA is a prominent card, not floating text - No misalignment — phone fills left column naturally Collect: - Appeals shown as visible gap-px grid cards (not hidden dropdown) - Each card shows name, platform, amount raised, pledge count, collection rate - Active appeal has border-l-2 blue indicator - Platform integration clarity: shows 'Donors redirected to JustGiving' etc - Educational section: 'Where to share your link' + 'How payment works' - Explains bank transfer vs JustGiving vs card payment inline AI model: Stripped all model name comments from code (no user-facing references existed)
28 lines
864 B
Python
28 lines
864 B
Python
#!/usr/bin/env python3
|
|
path = '/home/forge/app.charityright.org.uk/vendor/filament/tables/src/Table/Concerns/HasRecords.php'
|
|
|
|
with open(path, 'r') as f:
|
|
lines = f.readlines()
|
|
|
|
new_lines = []
|
|
i = 0
|
|
while i < len(lines):
|
|
line = lines[i]
|
|
if 'public function getModel(): string' in line and 'getModelLabel' not in line:
|
|
new_lines.append(' public function getModel(): string\n')
|
|
new_lines.append(' {\n')
|
|
new_lines.append(' return $this->getQuery()->getModel()::class;\n')
|
|
new_lines.append(' }\n')
|
|
# Skip the old method body
|
|
i += 1
|
|
while i < len(lines) and lines[i].strip() != '}':
|
|
i += 1
|
|
i += 1 # skip closing brace
|
|
continue
|
|
new_lines.append(line)
|
|
i += 1
|
|
|
|
with open(path, 'w') as f:
|
|
f.writelines(new_lines)
|
|
print('Vendor reverted to original')
|