Skip to content

Instantly share code, notes, and snippets.

@danmana
danmana / example_model.py
Created August 16, 2021 15:08
Add support for custom json fields in Odoo
from odoo import models, fields, api
from json_field import JsonField
class Person(models.Model):
_name = 'example.person'
_description = 'Person with json details'
details = JsonField() # a json object represented as dict / list / python primitives
class Board {
/**
* @param {string[]} rows
*/
constructor(rows) {
this.cells = new Array(9).fill(0).map(row => new Array(9).fill(0));
this.fixedCells = new Array(9).fill(0).map(row => new Array(9).fill(false));
if (rows) {
for (let row = 0; row < rows.length; row++) {
@danmana
danmana / Excel column name to number.js
Created July 26, 2019 08:52
Convert from excel column names to a index (1 based)
'PS'
.split('')
.map(x => x.charCodeAt(0) - 'A'.charCodeAt(0) + 1)
.reduce((acc, v, i, arr) => acc + v * Math.pow('Z'.charCodeAt(0) - 'A'.charCodeAt(0) + 1, arr.length - i - 1), 0);
// A => 1
// Z => 26
// AA => 27
// PS => 435
@danmana
danmana / HashCode.java
Last active November 24, 2016 15:19
IntelliJ HashCode template (Java 7+)
public int hashCode() {
#if (!$superHasHashCode && $fields.size()==1)
#if($fields[0].array)
return java.util.Arrays.hashCode($fields[0].accessor);
#else
return java.util.Objects.hashCode($fields[0].accessor);
#end
#else
return java.util.Objects.hash(##
#set($i = 0)
@danmana
danmana / Equals.java
Created November 24, 2016 15:17
IntelliJ Equals template (Java 7+)
#set ($checkParameterWithInstanceof = true)
#set($classInstanceName = $helper.getUniqueLocalVarName("other", $fields, $settings))
#set($paramName = $helper.getUniqueLocalVarName("obj", $fields, $settings))
#set($settings.generateFinalLocals = true)
public boolean equals(##
#if ($settings.generateFinalParameters)
final ##
#end
Object $paramName){
if (this == $paramName) {