Connect with us

POLITICA

Uno por uno, qué senadores votaron a favor y cuáles en contra de la Ley de Propiedad Privada

Published

on



Uno por uno, así votaron los senadores el proyecto de inviolabilidad de la propiedad privada

Advertisement

Advertisement


${status}

`;
}

Advertisement

function createCard(item, borderColor) {
const card = document.createElement(«div»);
card.className = «vs2__card»;

const fotoWrap = document.createElement(«div»);
fotoWrap.className = «vs2__foto»;
if (borderColor) {
fotoWrap.style.borderColor = borderColor;
} else {
fotoWrap.style.opacity = «0.3»;
fotoWrap.style.border = «none»;
}

const img = document.createElement(«img»);
img.loading = «lazy»;
img.decoding = «async»;
img.alt = «foto-senador»;
img.src = » + (item.url_foto || «»);
img.addEventListener(«error», () => {
img.style.opacity = «0.35»;
}, {
once: true
});

Advertisement

fotoWrap.appendChild(img);

const nombre = document.createElement(«p»);
nombre.className = «vs2__nombre»;
nombre.textContent = String(item.nombres || «»).toLowerCase();

const apellido = document.createElement(«p»);
apellido.className = «vs2__apellido»;
apellido.textContent = String(item.apellido || «»).toLowerCase();

Advertisement

const bloque = document.createElement(«span»);
bloque.className = «vs2__bloque»;
bloque.textContent = String(item.bloque || «»);

card.appendChild(fotoWrap);
card.appendChild(nombre);
card.appendChild(apellido);
card.appendChild(bloque);

return card;
}

Advertisement

function seatClass(kind) {
if (kind === «AFIRMATIVO») return «vs2__seat–afirmativo»;
if (kind === «NEGATIVO») return «vs2__seat–negativo»;
if (kind === «ABSTENCIÓN») return «vs2__seat–abstencion»;
if (kind === «AUSENTE») return «vs2__seat–ausente»;
return «vs2__seat–empty»;
}

function hemicicloParams(which) {
if (which === «big») {
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 11, 6],
verticalOffset: 2,
radiusStart: 300,
radiusStep: 55
};
}
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 12, 7],
verticalOffset: 0,
radiusStart: 170,
radiusStep: 30
};
}

function computeRowSeatCounts(seatsPerRow, totals) {
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
return seatsPerRow.map(seatsInRow => {
const exact = {
AFIRMATIVO: (totals.AFIRMATIVO / totalSeats) * seatsInRow,
NEGATIVO: (totals.NEGATIVO / totalSeats) * seatsInRow,
«ABSTENCIÓN»: (totals[«ABSTENCIÓN»] / totalSeats) * seatsInRow,
AUSENTE: (totals.AUSENTE / totalSeats) * seatsInRow
};

Advertisement

const floor = {
AFIRMATIVO: Math.floor(exact.AFIRMATIVO),
NEGATIVO: Math.floor(exact.NEGATIVO),
«ABSTENCIÓN»: Math.floor(exact[«ABSTENCIÓN»]),
AUSENTE: Math.floor(exact.AUSENTE)
};

let assigned = floor.AFIRMATIVO + floor.NEGATIVO + floor[«ABSTENCIÓN»] + floor.AUSENTE;
let diff = seatsInRow – assigned;

const rems = [{
k: «AFIRMATIVO»,
r: exact.AFIRMATIVO – floor.AFIRMATIVO
},
{
k: «NEGATIVO»,
r: exact.NEGATIVO – floor.NEGATIVO
},
{
k: «ABSTENCIÓN»,
r: exact[«ABSTENCIÓN»] – floor[«ABSTENCIÓN»]
},
{
k: «AUSENTE»,
r: exact.AUSENTE – floor.AUSENTE
},
].sort((a, b) => b.r – a.r);

Advertisement

while (diff > 0) {
for (const it of rems) {
if (diff <= 0) break;
floor[it.k] += 1;
diff–;
}
}
return floor;
});
}

function renderHemiciclo(which, totals) {
const el = byRole(which === «big» ? «hemiciclo-big» : «hemiciclo-small»);
if (!el) return;
el.innerHTML = «»;

const p = hemicicloParams(which);
let rowSeatCounts = computeRowSeatCounts(p.seatsPerRow, totals);
const maxSeatsInRow = p.seatsPerRow[0];

Advertisement

for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < p.rows; row++) {
if (col >= p.seatsPerRow[row]) continue;

const seatsInThisRow = p.seatsPerRow[row];
const radius = p.radiusStart – row * (p.radiusStep – p.verticalOffset);
const angleRange = Math.PI;
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;

const x = p.centerX + radius * Math.cos(angle);
const y = p.baseY – radius * Math.sin(angle);

Advertisement

let kind = «EMPTY»;
if (rowSeatCounts[row].AFIRMATIVO > 0) {
kind = «AFIRMATIVO»;
rowSeatCounts[row].AFIRMATIVO–;
} else if (rowSeatCounts[row].NEGATIVO > 0) {
kind = «NEGATIVO»;
rowSeatCounts[row].NEGATIVO–;
} else if (rowSeatCounts[row][«ABSTENCIÓN»] > 0) {
kind = «ABSTENCIÓN»;
rowSeatCounts[row][«ABSTENCIÓN»]–;
} else if (rowSeatCounts[row].AUSENTE > 0) {
kind = «AUSENTE»;
rowSeatCounts[row].AUSENTE–;
}

const seat = document.createElement(«div»);
seat.className = «vs2__seat » + seatClass(kind);
seat.style.left = x + «px»;
seat.style.top = y + «px»;
el.appendChild(seat);
}
}
}

function populateFilters(data) {
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
if (!selProv || !selBloq) return;

Advertisement

const provSet = new Set();
const bloqSet = new Map(); // bloque -> full

data.forEach(r => {
if (r.provincia) provSet.add(r.provincia);
if (r.bloque) bloqSet.set(r.bloque, r.bloque_full || r.bloque);
});

Array.from(provSet).sort().forEach(p => {
const opt = document.createElement(«option»);
opt.value = p;
opt.textContent = p;
selProv.appendChild(opt);
});

Advertisement

Array.from(bloqSet.entries())
.sort((a, b) => String(a[0]).localeCompare(String(b[0])))
.forEach(([code, full]) => {
const opt = document.createElement(«option»);
opt.value = code;
opt.textContent = `${full} (${code})`;
selBloq.appendChild(opt);
});
}

function renderFiltered(data, field, value, targetEl) {
targetEl.innerHTML = «»;
const rows = data.filter(r => value === «all» || r[field] === value);

const order = [«AFIRMATIVO», «NEGATIVO», «ABSTENCIÓN», «AUSENTE»];
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};

Advertisement

order.forEach(voto => {
rows.filter(r => normalizeVoto(r.voto) === voto).forEach(r => {
targetEl.appendChild(createCard(r, colorBy[voto]));
});
});
}

function wireUI(data) {
// toggles
$$(‘[data-role=»section»], [data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => {
const btn = sec.querySelector(‘[data-role=»toggle»]’);
if (!btn) return;
btn.addEventListener(«click», () => {
const open = sec.getAttribute(«data-open») !== «true»;
openPanel(sec, open);
});
});

// abrir por defecto secciones principales, y dejar filtros cerrados
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
$$(‘[data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => openPanel(sec, false));

Advertisement

// go top
const goTop = byRole(«go-top»);
if (goTop) {
goTop.addEventListener(«click», () => root.scrollIntoView({
behavior: «smooth»
}));
const obs = new IntersectionObserver((entries) => {
entries.forEach(e => {
goTop.style.display = e.isIntersecting ? «block» : «none»;
});
}, {
threshold: 0.1
});
obs.observe(root);
}

// filtros
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
const provOut = byRole(«provincia-results»);
const bloqOut = byRole(«bloque-results»);

if (selProv && provOut) {
selProv.addEventListener(«change», (e) => {
renderFiltered(data, «provincia», e.target.value, provOut);
const sec = byRole(«filter-provincia»);
if (sec) openPanel(sec, true);
});
}

Advertisement

if (selBloq && bloqOut) {
selBloq.addEventListener(«change», (e) => {
renderFiltered(data, «bloque», e.target.value, bloqOut);
const sec = byRole(«filter-bloque»);
if (sec) openPanel(sec, true);
});
}
}

async function init() {
setLoaded(false);

const csvUrl = root.dataset.csvUrl;
if (!csvUrl) {
const summary = byRole(«summary»);
if (summary) summary.innerHTML = `

Advertisement

Error: falta data-csv-url

`;
return;
}

try {
const Papa = await ensurePapa();

Advertisement

Papa.parse(csvUrl, {
download: true,
header: true,
skipEmptyLines: true,
complete: function(res) {
const data = (res && res.data) ? res.data : [];

// panels por voto
const panelByVote = {};
$$(‘[data-role=»section»]’).forEach(sec => {
const voto = sec.getAttribute(«data-voto»);
const panel = sec.querySelector(‘[data-role=»panel»]’);
if (voto && panel) panelByVote[voto] = panel;
});

const counts = {
AFIRMATIVO: 0,
NEGATIVO: 0,
«ABSTENCIÓN»: 0,
AUSENTE: 0
};
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};

Advertisement

data.forEach(row => {
const voto = normalizeVoto(row.voto);
if (!counts.hasOwnProperty(voto)) return;
counts[voto]++;

const panel = panelByVote[voto];
if (panel) {
panel.appendChild(createCard(row, colorBy[voto]));
}
});

// counts en UI
$$(‘[data-role=»count»]’).forEach(el => {
const k = el.getAttribute(«data-kind»);
if (k && counts.hasOwnProperty(k)) el.textContent = String(counts[k]);
});

Advertisement

// hemiciclo + summary
renderHemiciclo(«big», counts);
renderHemiciclo(«small», counts);
renderSummary(counts);

// filtros + ui
populateFilters(data);
wireUI(data);

setLoaded(true);

Advertisement

// recalcular heights en secciones abiertas
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
}
});

} catch (err) {
console.error(err);
const summary = byRole(«summary»);
if (summary) {
summary.innerHTML = `

Error: ${escapeHtml(err.message || err)}

Advertisement

`;
}
}
}

init();
})();

Advertisement
Advertisement

POLITICA

ATE hizo un paro para exigirle pases a planta permanente a Kicillof, pero concentró sus críticas en el modelo de Milei

Published

on



La Asociación de Trabajadores del Estado (ATE) de la provincia de Buenos Aires realizó un paro este miércoles para reclamarle al gobierno de Axel Kicillof y a la Legislatura que el próximo presupuesto provincial incluya pases a planta permanente y mejoras salariales. Aunque el alcance de la medida y de las demandas fue provincial, el principal apuntado por el sindicato como responsable de la situación laboral de los trabajadores estatales fue el presidente Javier Milei.

La huelga de ATE se complementó con una movilización a la Legislatura bonaerense, en La Plata. El gremio provincial, aliado del gobernador Kicillof, marcó presencia con una columna en la que confluyeron algunos de sus principales referentes, como el secretario general, Claudio Arévalo; el secretario gremial de ATE nacional, Oscar De Isasi, o el secretario general de la Central de Trabajadores de la Argentina (rama Autónoma), Hugo Godoy. La columna estatal “partió de Plaza Italia y transitó la Avenida 7 hasta llegar a la altura del establecimiento legislativo”, informó el gremio en un comunicado.

Advertisement

La protesta se impulsó “bajo el reclamo del pase a planta permanente de todos los trabajadores y trabajadoras precarizados, así como la concreción de un salario que mejore el poder adquisitivo de los estatales”. Reclamaron “que en el presupuesto estén incluidos los pases a planta permanente”.

Los afiliados de ATE, en la movilización que complementó el paro de este miércolesPrensa ATE

A la hora de señalar responsables por la situación que derivó en el paro bonaerense, Arévalo dirigió su discurso hacia Milei. “Tenemos un solo culpable, que es el gobierno nacional, que se está quedando con los fondos que le corresponden a la provincia de Buenos Aires. No tenemos que equivocarnos [sobre] quién es nuestro enemigo. No está entre nosotros, nuestro enemigo es Javier Milei, que recibe las órdenes del Fondo Monetario Internacional, que está ahogando a las provincias y los municipios. Necesitamos que en el presupuesto estén incluidos los pases a planta permanente de los becarios de la salud y trabajadores dela Educación”, afirmó Arévalo.

La columna del gremio en las calles de La Plata llevaba, en su frente, una pancarta que rezaba “La plata no alcanza. Milei es responsable”.

Advertisement

“Somos los que sostenemos el Estado. Sin trabajadores, no hay Estado. En este nuevo presupuesto, se tiene que ir a buscar la plata de los sectores que se enriquecen, que son el sector agrario, los countries y los sectores concentrados de la riqueza, para distribuirla en el pueblo bonaerense”, añadió el secretario general de ATE bonaerense.

La semana pasada, el gremio estatal provincial le había anticipado al ministro de Trabajo bonaerense, Walter Correa, que haría paro este miércoles. En una nota, le reclamó, además de los pases a planta permanente y las mejoras salariales, destinar “mayores recursos para la conformación del Consejo del Salario Municipal”, apuntalar “el fortalecimiento de la carrera administrativa”, y aplicar un “boleto gratuito” para los estatales que trabajen en las áreas de educación y salud.




el presidente,Provincia de Buenos Aires,Legislatura,Axel Kicillof,Conforme a

Advertisement
Continue Reading

POLITICA

Patricia Bullrich cruzó a la fiscal del caso Chocobar y adelantó que no acompañará su pliego

Published

on


La jefa del bloque de la Libertad Avanza en el Senado, Patricia Bullrich, cuestionó durante la Comisión de Acuerdos del Senado la actuación de la fiscal Susana Pernas en el caso que involucró al policía Luis Chocobar y adelantó que no acompañará su pliego para ocupar el cargo de fiscal general ante los Tribunales Orales de Menores de la Capital Federal, Fiscalía N°2.

Bullrich cuestionó el rol de la fiscal en el caso Chocobar

Durante el intercambio, Bullrich cuestionó que Pernas hubiera solicitado una pena de tres años de prisión para Chocobar y puso en discusión cuál debe ser el rol de la Justicia frente a un efectivo policial que interviene ante un delito.

Advertisement

“Yo pregunto: en la Argentina, frente a un delincuente que estaba cometiendo un delito, le dan una pena a Chocobar, le manchan su carrera cuando él había actuado. Mi pregunta es: usted, como fiscal de menores, que le tocó el delincuente, casi asesino, ¿a quién defiende? ¿Defiende a las víctimas? ¿Entiende el rol de la Policía cuando es acusado?”, cuestionó la legisladora.

En esa línea, Bullrich advirtió sobre el mensaje que este tipo de decisiones puede transmitir a los integrantes de las fuerzas de seguridad. “¿Qué hacen todos los policías del país cuando ven que alguien que dispara es acusado? ¿Quién va a defender a la sociedad cuando una fiscal insiste después de Casación y va a la Corte Suprema a pedir un aumento de la pena?”, planteó.

Luego llevó el cuestionamiento directamente a la postulante: “Frente a situaciones de este tipo, ¿va a actuar de la misma manera? ¿Los ciudadanos van a estar indefensos frente a esta situación?”.

Advertisement

Continue Reading

POLITICA

Se realizó la segunda edición de los premios Quorum a la Justicia: uno por uno, quiénes fueron los ganadores

Published

on


El auditorio de la Facultad de Derecho de la UBA, colmado. Foto: Federico López Claro.
Julian Ercolini, Mariano Borinsky y Juan Manuel Culotta se saludan durante la entrega. Foto: Federico López Claro.

Los ganadores, uno por uno

  • Premio principal: Ministerio Público Tutelar de la Ciudad de Buenos Aires.
  • Trayectoria Judicial Destacada: Juan Carlos Maqueda.
  • Revelación Judicial Joven: Agustina Comaschi.
  • Innovación en la Gestión Judicial: Julio Conte-Grand, procurador general de la Provincia de Buenos Aires.
  • Tribunal o Juzgado Destacado del Año: Juzgado Federal N° 10, a cargo de Julián Ercolini.
  • Excelencia en Educación Jurídica: Facultad de Derecho de la UBA.
  • Excelencia en Derecho Penal y Penal Económico: María Alejandra Mángano.
  • Excelencia en Derecho Administrativo: Juan Carlos Cassagne.
  • Excelencia en Derecho Laboral: Julio Armando Grisolia.
  • Excelencia en Derecho Civil y Comercial: Daniel Roque Vítolo.
  • Excelencia en Derecho Corporativo: Alexia Rosenthal.
  • Estudio Boutique del Año (empate): Estudio Grispo y Estudio Mariana Barbitta.
  • Mejor Proyecto Judicial impulsado por las Provincias: Centros Modelos de Asistencia y Seguimiento de Niños, Niñas y Adolescentes de Misiones.
  • Excelencia en el Ministerio Público de la Defensa: Julieta Di Corleto.
  • Ministerio Público Fiscal Destacado: Franco Picardi.
  • Estudio Jurídico del Año: Marval O’Farrell Mairal (recibió Diego Krischcautzky).

Todas las menciones de honor de la noche

  • William Terra, fiscal de la Corte de San Pablo (Brasil).
  • María Elvira Tejada de la Fuente, fiscal de Sala del Tribunal Supremo de España.
  • George Hanks Jr., juez federal del Distrito Sur de Texas.
  • Fabricio Guariglia, por su trayectoria en la Corte Penal Internacional.
  • Giovanni Melillo, fiscal nacional Antimafia y Antiterrorismo de Italia.
  • Marcelo Mindlin, empresario y presidente del Museo del Holocausto en Buenos Aires.
Continue Reading

Tendencias