Prérequis:
- Je pars du principe que
brew
est déjà installé (sinon suivre leurs instructions) - Avoir copié le fichier quelque part sur sa machine
Ouvrir un terminal, puis:
SELECT COUNT(*) | |
FROM project | |
WHERE id IN ( | |
SELECT p.project_id | |
FROM bill b | |
JOIN person p ON b.payer_id = p.id | |
GROUP BY p.project_id | |
HAVING COUNT(*) > 10 | |
AND MAX(b.date) > CURRENT_DATE - INTERVAL '90 days' | |
); |
#!/usr/bin/env -S uv run | |
# /// script | |
# requires-python = ">=3.12" | |
# dependencies = [ | |
# "requests>=2.31.0", | |
# ] | |
# /// | |
import requests | |
import json |
Prérequis:
brew
est déjà installé (sinon suivre leurs instructions)Ouvrir un terminal, puis:
I hereby claim:
To claim this, I am signing this object:
"""A pelican plugin to read Obsidian files and import them as pelican Articles. | |
This reads the tags made with hashtags and render them as pelican tags instead | |
(they won't be present in the output). | |
Adds the title in the output, and specify a default dummy date. | |
""" | |
from pathlib import Path |
<?xml version="1.0"?> | |
<t t-name="stock.report_deliverylist"> | |
<t t-call="web.basic_layout"> | |
<div class="page o_report_layout_boxed"> | |
<t t-set="totals" t-value="{}"></t> | |
<t t-foreach="docs" t-as="o" t-if="o.state!='done'"> | |
<t t-set="lines" t-value="o.move_lines.filtered(lambda x: x.product_uom_qty)"/> | |
<t t-foreach="lines" t-as="move"> | |
<t t-if="not(move.product_id.packaging_ids)"> |
<?xml version="1.0"?> | |
<t t-name="stock.report_delivery_document"> | |
<t t-call="web.html_container"> | |
<t t-call="web.external_layout"> | |
<t t-set="o" t-value="o.with_context(lang=o.partner_id.lang)"/> | |
<t t-set="partner" t-value="o.partner_id or (o.move_lines and o.move_lines[0].partner_id) or False"/> | |
<div class="page"> | |
<h2><span t-field="partner.self.name"/></h2> | |
<div class="row"> |
server { | |
server_name odooproxy.vieuxsinge.com; | |
location / { | |
# Activer le proxy | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
proxy_pass https://brasserieduvieuxsinge.auneor-conseil.fr; | |
proxy_redirect off; |
document.querySelectorAll("#messages-list > div").forEach( | |
item => { | |
let id=item.id.replace('msg-', ''); | |
$.get(`https://mobile.free.fr/account/messagerie-vocale/message_vocal?id=${id}&action=delete`); | |
}); |
server { | |
server_name xxx | |
location / { | |
# Activer le proxy | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
proxy_pass https://yourapi; | |
proxy_redirect off; |