Companies

Companies (/admin/companies) es el catálogo de organizaciones cliente que estimadores y equipos de proyecto usan en proyectos y estimados. Cada empresa guarda datos generales y una lista de contactos (personas). El listado resalta empresas que solo existen por importación de estimados o que ya están en un proyecto activo.

Permisos: FunctionId COMPANY (8), menú Estimating → Companies (function.url = company). View abre la pantalla; Add controla New; Edit controla Edit en fila, el wizard y guardar contactos; Delete controla borrado en fila y Delete masivo.

Vista general

Listado Companies con badges E y P Phone Address

Figura: grilla FoodHub — New en la barra de página (derecha); tarjeta con Search companies…, Export, checkboxes, columnas Name / Phone / Address, menú ⋮ y paginación.

RegiónQué ves
Barra de páginaTítulo Companies, subtítulo Client companies and their contacts for projects and estimates. (mismo copy EN que la UI), New (permiso Add) a la derecha y el icono ? (este artículo).
Tarjeta de datosBúsqueda, Export, cabeceras, checkboxes (permiso Delete), barra masiva, cards en móvil, paginación.
Modal wizardSuperficie B en la URL del listado (?create=1 / ?edit=\{id\}) — Back / Next / Save / Cancel en cabecera; pills General · Contacts · Projects (Projects solo al editar una empresa existente).

Orden por defecto: Name ascendente (columna legado description).

Listado

  • Search — placeholder Search companies…; con debounce. La API filtra solo si el cuadro está vacío (todas las filas) o el término tiene al menos 3 caracteres (coincide con Name, Phone, Address, sin distinguir mayúsculas).
  • Export — Copy, Excel y CSV de la página actual.
  • Orden — Name, Phone, Address (móvil: combobox Sort by + toggle de dirección).
  • Checkboxes + barra — con permiso Delete. Delete quita empresas sin vínculos bloqueantes. Sin selección: Select item(s) to delete.
  • New — botón de la barra de página (derecha). Abre el wizard en General hasta el primer guardado exitoso (luego se habilita Contacts).
  • ⋮ en fila — Edit · Delete según permisos.

Vacío: No companies found.

Badges en Name

Junto al nombre pueden aparecer badges (tooltips en la app):

BadgeSignificado
EFrom estimates — fila originada en datos de estimado (from_estimates).
PLinked to a project — al menos un proyecto referencia esta empresa.

Puede mostrarse E, P, ambos o ninguno.

Wizard — General

Títulos del modal: New Company (alta) / Update Company: {name} (edición).

CampoReglas
NameObligatorio. Único: The company name is in use, please try entering another one.
PhoneOpcional. Control US (bandera + número nacional), el mismo de Users.
EmailOpcional. Input group con icono de correo; placeholder company@example.com.
AddressOpcional. Input group con pin y Google Places (dirección US). Elegir un resultado completa la dirección formateada; también se puede tipear. La empresa no guarda lat/lng.
WebsiteURL opcional. Input group con icono de enlace; placeholder https://.

Campo obligatorio vacío: This field is required.

Toast de éxito (alta, edición, borrado): The operation was successful.

ApplicationLog registra Add, Update y Delete de empresas (categoría legado Company).

Flujo de alta

  1. New → completar General → Save.
  2. Tras el primer guardado, el wizard permanece abierto y Contacts queda disponible (legado: guardar empresa antes de contactos).
  3. Projects no aparece en alta; se ve al Edit posterior.

Wizard — Contacts

Tabla FoodHub anidada (mismo chrome que Projects): Search contacts…, Export (Copy / Excel / CSV), columnas ordenables, Sort by en mobile, tamaño de página persistido y paginación.

Columnas: Name, Email, Phone, Role, Notes, Actions.

  • New — botón en el trailing del toolbar (permiso Add o Edit). Abre el modal New contact / Edit contact.
  • Name del contacto es obligatorio (This field is required).
  • ⋮ — Edit · Delete (confirmación Delete contact).

Sin contactos: No contacts found.

Los contactos viven en company_contact; borrar un contacto no elimina la empresa.

Wizard — Projects (solo edición)

Tabla FoodHub de solo lectura con proyectos vinculados (mismas columnas que la pestaña Projects de Locations: C & G Project #, County, Name, Description, Due Date, Status, Notes). Search projects…, orden, export y paginación son locales sobre el detalle de la empresa.

No crea proyectos — New Project queda defer hasta portar el módulo Projects. El botón View (ojo) navegará al detalle cuando exista la ruta.

Vacío: No projects found.

Reglas de borrado

Borrado simple bloqueado con:

  • The company could not be deleted, because it is related to a project
  • The company could not be deleted, because it is related to an estimate

Borrado masivo:

  • Si ninguna fila seleccionada se puede quitar: The companies could not be deleted, because they are associated with a project
  • Éxito parcial: The operation was successful. But attention, it was not possible to delete all the selected companies because they are associated with a project

Artículos relacionados