Skip to content

Instantly share code, notes, and snippets.

View neoascetic's full-sized avatar
🏖️
Sabbatical

Pavel neoascetic

🏖️
Sabbatical
View GitHub Profile
@neoascetic
neoascetic / nestedtransactor.php
Last active August 1, 2016 13:04
[Laravel] Nested transactions wrapper class
<?php
/**
* Class for Laravel 3.x that provides ability to use nested transactions via SAVEPOINTs
* (inspired from http://www.kennynet.co.uk/2008/12/02/php-pdo-nested-transactions/).
* For now, only the default connection is supported.
*
* Useful in testing, when you want to start a transaction before running a test
* and revert all its changes after it finished.
*
@neoascetic
neoascetic / lazypaginator.php
Last active November 27, 2017 20:20
[Laravel] Lazy Paginator for Laravel
<?php
/**
* Lazy Paginator for Laravel
* Does not use number of pages, simply shows First, Previous and Next links
*
* Usage:
* $pager = LazyPaginator(
* Model::where_field($field), // Eloquent, Fluent Query or array of objects
* Model::$per_page,
@neoascetic
neoascetic / btests.php
Last active October 13, 2015 20:18
[Laravel] Better PHPUnit integration for Laravel 3.x
<?php
/**
* To get Code Coverage support, install `xdebug` module.
*
* Usage:
*
* php artisan btests directory with/suffix.test.php or/without --env=test
*
*/
@neoascetic
neoascetic / signals.py
Last active June 29, 2017 17:57
[Django] Optimize easy-thumbnails (PIL) generated images
# On Debian, you need to install these packages:
# jpegoptim optipng pngcrush advancecomp
import subprocess
from os.path import splitext
from django.dispatch import receiver
from easy_thumbnails.signals import saved_file, thumbnail_created
# on-save image optimization
@neoascetic
neoascetic / object_history.html
Created October 30, 2012 02:19
[Django] Show recent user actions in his "History" view
{# Put this file into "admin/auth/user" folder under your templates directory #}
{% extends "admin/object_history.html" %}
{% load log i18n %}
{% block extrastyle %}
{{ block.super }}
<style>#log { width: 100%; } #log tbody th { width: 16em; }</style>
{% endblock %}