Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · kamo-internal

    Erstellen Sie die Übersichtskarte als Bericht über die anderen vier

    Vollbreite Meldekonsole: Masthead-Auslese, vier Tab-Säulen, die bedarfs-aufmerksamkeits-Leuts, die Personal-Compliance-Matrix und eine Tätigkeit Schiene. Nur lese - jede Aktion ist ein tiefer Link in den Besitz-Tab.

  2. · kamo-internal

    Übersicht Aufmerksamkeit Ledger, Compliance-Matrix und Aktivitätsschiene

    verwendenMemberNames Quellen /api/security/members/names anstatt des Briefes .../org-config shape: org-config gibt nie eine Mitgliederliste zurück (bestätigt durch Lesen LegalPackageDialog.tsx und TrainingAssignDialog.tsx, die nur Abteilungen/jobTitles parsen von ihm), während /members/names der Endpunkt ist, der bereits für die ID-to-Name-Auflösung gebaut wurde und bereits die gleiche Weise von HypothekAppsApi.memberNames() verwendet.

  3. · kamo-internal

    Übersicht Mastkopf und die vier Tab-Säulen

  4. · kamo-internal

    Übersicht Datenhaken und gemeinsame visuelle Primitive

    useHrOverview holt Anwesenheit + docs Zusammenfassungen mit allSettled so ein toter Service degradiert nur seine eigenen Abschnitte; es überspringt holt sich vollständig für Abschnitte visibleÜbersichtSektionen() sagt, dass das Mitglied nicht sehen kann. Die Primitive (CountUp, ProgressRing, StackedBar, StatePip, Figure, SectionShell) sind die gemeinsamen Bausteine, die die Übersichtsausschnitte machen mit, alle Bewegung von GebrauchReducedMotion und EASE_HOUSE bewacht.

  5. · kamo-internal

    Übersicht Zusammenfassung Clients und die Regeln, die sie ausgeben

  6. · kamo-shared-library

    Gepflete Anzahl/Sperle/Leser Abfragen für ein org+assoc Live-Set

    HrResourceSummaryService materialisiert die gesamte nicht-versteckte Org Img Sammlung in den Speicher, um eine Zählung, eine reifliche Summe und eine zu berechnen 5-reichige Scheibe aus der letzten Zeit. Fügt zählen/summe/paged-jüngste Abfragen hinzu, so dass eine Zusammenfassung muss nie die Sammlung laden, um drei Zahlen zu beantworten.

  7. · DocsService

    Rechts-, Schulungs- und Ressourcenübersicht für die HR-Überweisung

    Eine Lese pro Tab-Domain, jeder Block gated auf seinem eigenen Recht und weggelassen anstatt abgelehnt, wenn unerreichbar.

  8. · SecurityService

    Übersicht über die Personalübersicht

    Ein MANAGE_TIMECARDS-gated Call kompositiert den Dienstplan und Manager-Cue Relais mit der lokalen Ausnahme, Beschäftigung und Pay-Periode Reihen.

  9. · kamo-marketing

    Lokalisieren Sie die Hub-Karten und stoppen Sie die Bündelung der englischen Datensätze

    Die vier Nabenseiten gerenderten Client-Komponenten, die die Sammlung importierten Module direkt und nahm keine Requisiten, so dass jede Karte - Industrienamen, Integration Taglines, Glossar-Definitionen, Zusammenfassungen der Wettbewerber - war in allen 22 englisch Orte, obwohl die umgebende Chrom übersetzt wurde. Es bedeutete auch die vollständige englische Datensätze, die im Client-Bundle ausgeliefert werden. Der Server lokalisiert und übergibt nur die Felder, die jeder Hub tatsächlich ausgibt, damit der Kunde die strukturellen Konstanten behält (Kategorie-Etiketten, Display-Bestellung) und lässt die Datenmodule fallen. Verkäufer und Konkurrenten bleiben unübersetzt aber sind immer noch übergeben, da die Karten drucken sie. Die ItemList/DefinedTermSet JSON-LD auf diesen Seiten auch hartcodiert /- URLs für jede Locale; sie folgen jetzt der Seite eigenen Ort.

  10. · kamo-shared-library

    Zusammenfassungsabfragen zur HR Übersicht

    Status-Histogramme, überfällige Scheiben und pro-Mitglieder-Rollups für legale und Schulungen, plus Vorlage/Kursstatus zählt. Keine Entitätsänderung.

  11. · kamo-internal

    Glow rot, wenn von der Uhr, grün, wenn auf, und lassen Sie die Kugel

    Aus der Uhr, während der Arbeit ist der Staat, der jemand Geld kostet, und es war der eine Staat nichts angekündigt: der Indikator war einfach abwesend, und ein Abwesenheit ist kein Signal. Die Steuerung trägt jetzt ein atmendes rotes Leuchten, wann immer das Mitglied ist getaktet. Ein atmendes Glühen auf einem 1,8s Zyklus anstatt ein hartes Blinzeln. Das ist gut unter der Drei-Blitze-pro-Sekunde-Spinsichtigkeit Schwelle, und ein Stroboskop in der Ecke von jedem Bildschirm wäre unerträglich für die acht Stunden pro Tag soll es sichtbar. Unter bevorzugt-reduziert-Bewegung wird der Schein statt entfernt - im Gegensatz zum Pflichtring daneben, ist die Bewegung hier nicht überflüssig mit einer Abzeichen oder einer Zählung, so dass das Entfernen des einzigen Signals entfernt würde. Das Leuchten erscheint erst, wenn der Staat tatsächlich WISSEN ist. Malerei es während der erste holen, oder Mitte-Punch, während die optimistische Klinken beruhigt, würde eine ankündigen Problem, das vielleicht nicht existieren, und eine Warnung, die Wolf auf jeder Seite laden weint ist einer Menschen lernen, nicht mehr zu sehen. Der getaktete Punkt ist grün statt --Akzent-Menschen. Das Token ist die HRS Die Bernstein-Identitätsnoten des Moduls (#c47d1a), die sich als Warnung liest, die neben ein roter Schein - auf der Uhr ist der gute Zustand und muss so aussehen. Die Kugel ist weg. Es trug keine Informationen der Punkt nicht bereits tragen, und es dauerte die .tabular !wichtige Arbeit mit ihm. Überlauf wird sichtbar auf der Taste gepinnt, anstatt vererbt: der Schein sitzt an ein negatives Einsetzen, so dass ein Clipping ButtonBase würde es ganz schlucken und die Kontrolle würde nur unstyled aussehen, anstatt gebrochen - die härteste Art von visueller Fehler zu bemerken.

  12. · kamo-internal

    Ein Einschreiben Registerkarte, und verstecken Sie die Mitglied Timecard-Registerkarte, wenn nicht eingeschrieben

    Es gab keine Möglichkeit, Zeitkarten für irgendjemanden einzuschalten. Jede Lesefläche existierte und jeder von ihnen richtig zeigte nichts, weil keine Einschreibung sein konnte erstellt - so ************ sagte "derzeit nicht verfolgt" mit nichts irgendwo im Produkt in der Lage, das zu ändern. EnrollmentSubTab ist diese Steuerung, auf /hr/Begleitung, bei der HR die Arbeitskräfte. Es verwendet das kanonische MemberPickerDialog in multi-select, und schreibt sich ein ein Mitglied pro Anruf und nicht als Charge: jede Einschreibung schreibt eine Beschäftigung Reihe UND eine effektiv datierte Aufgabe, so dass ein teilweiser Ausfall muss die Menschen verlassen denen es gelungen, sich anzumelden, anstatt alle zurückzudrehen. Der Bildschirm sagt, warum es nicht auf Rollen und Berechtigungen, denn das ist die erste Frage, die jeder haben wird: Sicherheitsrechte werden entfernt, wenn eine Mitgliedschaft aufhört Aktiv sein, was genau im Moment die Timecard von jemandem ausschalten würde ihre Gehaltsaufzeichnungen müssen ihre Beschäftigung überleben. Nicht-freibefreit ist die Standardeinstellung und der Dialog sagt, warum klassifizieren jemand ausgenommen wer nicht ist, ist der teuerste Fehler im Lohnrecht, und es wird durch Berufsbezeichnung gemacht viel häufiger als bei jedem echten Test. Die Registerkarte Mitglied Timecard ist jetzt vollständig versteckt, es sei denn, dieses Mitglied ist tatsächlich eingeschrieben. Es zuvor für jedermann in einem HRS org gemacht und dann angekündigt, es hatte nichts zu zeigen, was eine Sackgasse ist: nichts auf dieser Seite könnte es einschalten. Einschreibung bleibt "undefined", bis bekannt, anstatt in Verzug zu falsch, so dass die

  13. · SecurityService

    Relay-Einschreibung

    MANAGE_TIMECARDS zu lesen oder zu ändern, wer auf Zeitkarten ist - Einschreibung entscheidet, wer wird von diesem System bezahlt, so wird es an den HR-Administrator rechts gehalten als auf die eigene Berichtslinie eines Managers.

  14. · kamo-marketing

    Übersetzen Sie die Sammlungsseiten, anstatt sie zu verstecken

    Die 2.400 noindexierten Detailseiten waren noindexed, weil ihre Körperkopie keine hat Übersetzung: Wettbewerber, Branchen, Integrationen und Glossar behalten ihre Prosa in app/lib/**/*.ts, die das Wörterbuch nie gesehen hat, also /fr/solutions/real-estate Französische Überschriften rund um englische Absätze. scripts/extract-collections.ts zieht die 3.799 übersetzbaren Strings aus diesen heraus 120 Artikel in einen struktur-spiegelnden Baum, überspringen alles, was ein Übersetzer muss nicht berühren - Schnecken, Kategorie enums, Matrix-Status, Logo-Pfade, verwandte Begriffe Querverweise und Hersteller-/Produktnamen. Dieser Baum wird als die "Kollekten" namespace in kamo-marketing/de.json. Bei der Lesezeit verschmelzt der übersetzte Baum über das englische Objekt. Nur die in der Übersetzung enthaltenen Schlüssel werden ersetzt und ein Array, dessen Länge drifted aus der Quelle ist Großhandel fallen gelassen, anstatt eine Liste mit fehlende Einträge, also abgestandene Übersetzungen degradieren sich ins Englische, statt zu brechen die Seite. "Kosnektionen" wird von NextIntlClientProvider abgestreift: es ist 420 KB, die nur Server-Komponenten lesen, und next-intl serializes, was der Anbieter bekommt in die RSC-Nutzlast jeder Seite. Die pro-lokale Merge in i18n/request.ts ist jetzt aus dem gleichen Grund abmaehnt, ist es billig bei 150 KB und nicht bei 514 KB. SammlungRobots meldet noch Noindex, bis die Übersetzungen landen; Erweiterung COLLECTION_CONTENT_LOCALES ist das, was es hebt.

  15. · kamo-internal

    Die Registerkarten für Genehmigungen und Ausnahmen existieren jetzt

    Beide Backends früher ausgeliefert, aber keines der beiden Panel wurde jemals geschrieben, so /hr/attendance?sub=Genehmigungen und ?sub=Ausnahmen gemacht "diese Registerkarte wird gebaut" über funktionierende Endpunkte. ApprovalsSubTab ist die Warteschlange des Managers. Eine Zeitkarte trägt zwei Bescheinigungen - die Mitarbeiter ist auf Vorlage und der Manager ist hier - so die einzige Aktion ohne Grund beigefügt ist eine klare Genehmigung einer Karte der Mitarbeiter selbst eingereicht, wo ihre eigene Bescheinigung ist der Rekord. Eine Karte zurückschicken und im Namen genehmigen beide nehmen einen obligatorischen Grund, weil das Senden von jemandes Timecard zurück, ohne sagen, warum ist, wie ein Mitarbeiter verliert einen Tag und nie herausfindet, welche. Eine Karte mit Sperrung Ausnahmen hat seine genehmigte Taste DISABLED statt gelassen zu scheitern: der Server weigert sich trotzdem, und eine Schaltfläche, die immer Fehler ist schlimmer als eine, die sichtbar nicht verfügbar ist. Der blockierende Chip navigiert zur Ausnahmen Tab, das ist, wo die Arbeit tatsächlich ist. AusnahmenSubTab zeigt zwei bewusst unterschiedliche Zahlen - alles offen, und die Untermenge, dass BLOCKS ein close. isBlocking wird genau so dargestellt, wie der Server gesendet es und nie wieder von der Art String abgeleitet. Verzicht wird als das dargestellt, was es ist: nichts wurde behoben, eine Person wählt trotzdem zu gehen, und der Grund ist, was macht diese Entscheidung überleben, über später gefragt. Der Platzhalter Fallback bleibt in der Seite, obwohl alle sieben Indizes sind jetzt kabeln - Anhängen einer Sub-Tab-ID ohne Panel sollte so sagen, anstatt zu machen ein leerer Bildschirm.

  16. · SecurityService

    Staffel der Ausnahme-Warteschlange

    MANAGE_TIMECARDS, um die Warteschlange zu lesen und zu verzichten, denn die Warteschlange nennt jeden Mitglied mit einem Problem und Verzicht ändert, was das finalize Gate liest. Die pro-Mitglied re-detect geht durch resolveRole, so dass ein Manager kann die Erkennung neu laufen auf ihrem eigenen Bericht ohne org-widerrecht.

  17. · InitializerService

    Die Teilindizes, die eine doppelte Zahlung und eine Code-Kollision stoppen

    ************ ist die Zähne hinter dem Exportservice Weigerung, neu aufgelegt zu werden. Eine zweite gebundene Datei für eine Gehaltsperiode doppelt bezahlt ein ganzes Unternehmen, und die Service-Layer-Check allein verliert an zwei Betreiber Klicken Sie im selben Moment. Eine Korrektur trägt reverses_batch_id und ist daher aus dem Prädikat ausgeschlossen, das ist der ganze Grund, warum dies nicht sein kann eine eindeutige Beschränkung auf das Unternehmen - und der Test behauptet, dass Ausschluss, weil ohne sie eine Korrektur überhaupt nie ausgestellt werden könnte. ux_tclabor_code_active scopes Arbeits-Konto-Code Einzigartigkeit der ACTIVE-Reihen. Eine pensionierte Abteilung unter seinem alten Code neu erstellt ist gewöhnliche Buchhaltung Haushaltsführung; eine pauschale Einschränkung würde die Org zwingen, "SALES-2" zu erfinden, während die pensionierte Reihe muss noch für historische Segmente existieren, um darauf hinzuweisen. Die Die pauschalen Beschränkungen des Unternehmens wurden zugunsten dieses Unternehmens fallen gelassen. EXPORT_REVOKE widerruft DELETE aber absichtlich NICHT UPDATE: eine Charge legitim übergänge DRY_RUN -- KOMMITTED -- REVERSED, und der Rückruf von UPDATE würde einfrieren Trockenlauf, bevor es jemals begangen werden könnte. Der Test pins diese Unterscheidung.

  18. · kamo-internal

    Der period-close screen für ein Org mit 400 Personen

    Re-tektieren Ausnahmen, recomme jederverdienst, genehmigen alles die Anrufer kann - jeder Bericht PER MEMBER mit dem Grund, dass es abgelehnt. "312 von 400 gelungen" ist unbliebbar: die Person, die es jetzt betreibt, muss die Achtundachtzig von Hand, das ist genau die Arbeit, die die Massenoperation sollte zu sparen. Die Ablehnung Tabelle trägt die nachgelagerte Satz wörtlich, so "diese Zeitkarte hat 2 Sperrung Ausnahmen" sagt dem Bewilligten, was zu tun ist, anstatt ihnen sagen, dass sie ein Ticket öffnen sollen. Der Zustimmungsdialog sagt deutlich, dass der Grund auf jeder Karte aufgezeichnet wird, und dass jede Karte immer noch die gleichen Kontrollen durchläuft. Beide sind wahr und beide sind der Punkt: eine Massenzulassung IS eine Entscheidung galt für viele Datensätze, und Vortäuschenung anders durch die Forderung nach einem pro-Karte Kommentar würde vierhundert produzieren Kopien des Wortes "ok".

  19. · SecurityService

    Relay Bulk-Operationen und Teilnahme

    Die Hauptzulassungsrolle ist DERIVED hier aus den Rechten des Anrufers und angefügt der Weg - nie aus dem Körper zu lesen. Eine körpereigene Rolle ist eine körpereigene Aufgabe Förderung, und dieser Endpunkt genehmigt Hunderte von Lohnunterlagen auf einmal. Anwesenheitspunkte folgen der gleichen Identität-erste Regel wie alles andere über eine benannte Person: eigene Identität, jeder andere braucht MANAGE_TIMECARDS.

  20. · kamo-internal

    Compliance-Berichte, Pause Bescheinigung und eigene Aufzeichnungen

    A Reports sub-tab on /hr/attendance, das alle drei org-weiten Berichte überführt ein Fenster. Der Rundungsbericht zeigt das Urteil als Chip und den Befund als eine Warnung, weil "FAVOURS_EMPLOYER" ist eine Lohnbelastung und begraben sie in einem Zahl niemand liest besiegt den Punkt der Berechnung. BreakAttestationPanel ist der eigene Bericht des Mitarbeiters über ihre Pausen. Rest Zeiträume werden bezahlt und daher nie gelocht, so ist dies der einzige Beweis Rest Compliance wird jemals haben - eine Punch-only-Design-Berichte perfekte Compliance für jede Org für immer, die Beweise gegen den Mitarbeiter produziert, anstatt nur fehlt es. Nichts in ihm ist mit einer konformen Antwort vorgefüllt, und eine leere Ruhe zählen bleibt NULL, anstatt Null zu werden: Null ist eine Behauptung, dass keine Pausen gemacht wurden, was eine Verletzung ist, während Null "nicht beantwortet" ist, was nicht der Fall ist. MyRecordsPanel gibt einem Mitarbeiter ihre Urlaubsbilanzen und ihre eigenen Beweise Rudel. Der Download ist ohne Recht verfügbar, und es bleibt verfügbar nach der Beschäftigung endet, weil in mehreren Staaten das Recht auf diese Aufzeichnungen überlebt die Beschäftigung per Gesetz und die Menschen am ehesten brauchen sie sind die, die gerade gegangen sind.

  21. · SecurityService

    Relay der Compliance-Berichte, Evidenzpaket auf Identität

    Die org-weiten Berichte benötigen MANAGE_TIMECARDS. Die Beweise Packung nicht, wenn ein Mitglied zieht ihre eigenen - und das ist der Punkt. Das Pack ist, was ein Mitarbeiter muss einen Lohnanspruch einbringen, und es hinter einem HR-Recht zu gating würde bedeuten, dass Nur Menschen, die die Beweise vorlegen können, sind diejenigen, gegen die es verwendet werden würde. Ein Mitglied in der eingeschränkten Ebene hat keinerlei Rechte und ist genau wer braucht es.

  22. · kamo-internal

    Die Registerkarte für die Konfiguration von Echtzeitkarten

    Ersetzt den Platzhalter durch die Arbeitsfläche: Arbeitswochenbeginn, Arbeitstag Grenze, Open-Shift-Schwelle, Rundung, die Überprüfung Schalter, Break-Regel Aussaat und der Org-Standardplan. Das Rundfeld erklärt sich, anstatt eine nackte Zahl zu sein. Rundung ist rechtmäßig nur, wenn NEUTRAL im Laufe der Zeit (29 CFR 785.48(b)), Kalifornien hat effektiv beendete es für die Mahlzeiten (Donohue v. AMN) und zweifeln daran im Allgemeinen (Camp v. Home Depot) - ein Admin, der es einschaltet, sollte wissen, dass sie es haben Verpflichtung, nachzuweisen, in welche Richtung sie abdriften, und die Warnung erscheint in dem Moment, in dem der Wert über Null geht. Betestation sagt, warum es neben dem eigenen Schalter existiert: Ruhezeiten werden bezahlt und daher nie gestanzt, so dass die Bescheinigung ist der einzige Beweis Rest Compliance wird jemals haben. Ohne sie berichtet das System perfekte Compliance für immer, die ist schlimmer als nichts zu melden, weil es Beweise gegen die Mitarbeiter. Der Geofence-Schalter sagt "Flagge", niemals "verweigern". Weigerung, Arbeit, die Aufzeichnungen, dass wurde tatsächlich getan ist die genaue Verletzung dieses Systems existiert zu verhindern. Der Zeitplan Abschnitt stellt klar, dass ein Zeitplan nie zahlt niemanden. im Vergleich zu dem, was passiert ist, und wo die beiden nicht die tatsächliche Aufzeichnung regiert.

  23. · SecurityService

    Die Zeitkarten-Konfigurationsfläche verlagern

    MANAGE_TIMECARDS zum Lesen der Regeln der Org - die Workweek- und Rundungseinstellungen beschreiben, wie jeder in der org bezahlt wird und FINALIZE_PAY_PERIODS zu ändern sie, weil sie die Zahlen sind, die eine Periode einfriert, wenn sie sich schließt. Ein Mitglied kann seinen eigenen Zeitplan auf Identität lesen, ohne Recht. Ein Zeitplan ist das, was jemand erwartet wird, zu arbeiten, und nicht in der Lage zu sehen, ist nicht ein vertretbares Produkt.

  24. · DaemonService

    Planen Sie die nächtlichen Timecard Sweeps

    Cron lebt hier und nicht in TimecardService, weil dieser Einsatz ist RollingUpdate mit maxSurge: 1 - zwei Pods überlappen sich bei jedem Rollout und jedem @Scheduled Methode würde es zweimal feuern, die für einen Sweep, der schreibt Ausnahmen bedeuten doppelte Zeilen. Dieser Service ist Repliken: 1, Strategie: Nach erstellen, und ist der einzige Ort auf dieser Plattform, wo "einmal" bedeutet einmal. Läuft täglich um 02:20 Uhr: Nach Mitternacht hat also ein voller Arbeitstag geschlossen überall in den kontinentalen USA, und außerhalb der Stunde, so dass es nicht mit zu kämpfen jede andere Plattform Job. Briefmarken mlos.internal-auth-secret, nicht internal.auth.secret. DaemonService's eigene internal.auth.secret löst den Public-Chat-Wert und würde 403 jeden Anruf, die die Falle StewardEmailKennungen bereits Dokumente. Wenn das Geheimnis ist fehlt der Job weigert sich zu laufen und sagt so bei ERROR, anstatt eine falsche Protokollierung Erfolg - ein Sweep, der leise nie läuft, ist ununterscheidbar von einem, dass findet nichts, und der Unterschied ist ein Monat unentdeckt fehlender Schläge. Die drei Sweeps werden unabhängig voneinander versucht. Ein Break Sweep scheitert ist ein Compliance-Lücke, während eine Ausnahme Sweep-Pfroausfall ist ein unbezahlter Tag, und Kopplung Sie lassen den billigeren Ausfall den teuren herausnehmen.

  25. · kamo-shared-library

    Org Konfiguration, Urlaubskalender und Fahrpläne

    TimecardOrgConfig hält die Workweek, Arbeitstag Grenze, Rundung, Regel-Set Hinweise und die Überprüfung Schalter. Nichts in ihm ist zur Berechnungszeit gelesen jeder Wert wird auf eine Lohnperiode verschoben, wenn die Periode schließt und die engine liest den Schnappschuss, der es ist, was eine Org seine Regeln ändern lässt, ohne neu schreiben, was es bereits bezahlt hat. TimecardHoliday ist DATED, nicht ausgeschlossen. "Vierter Donnerstag im November" ist eine Regel und Regeln driften, so dass ein Kalender vor drei Jahren unter einem seitdem bearbeitet Regel würde stillschweigend mit dem, was tatsächlich bezahlt wurde widersprechen. Der bezahlte/bearbeitete Split ist der Grund, warum das Unternehmen überhaupt existiert: Urlaub ZAHLUNG ist Stunden nicht gearbeitet, so 778.218 schließt es vom regulären Tarif aus und es zählt nicht zu der Überstunden Schwelle, während Ferienzeiten ARBEIT sind gewöhnliche Stunden, die können tragen eine Prämie. Sie als eine Sache zu behandeln, übertreibt die reguläre Rate für Jeder, der den Tag frei nahm und Überstunden für alle, die nicht taten. TimecardSchedule ist eine Tabelle sowohl für die org-Standard- als auch für die Überschreibung eines Mitglieds, weil die Resolution ist "die Reihe des Mitglieds, wenn es eine, die org's sonst" und zwei Tabellen würden jede Spalte duplizieren und sie treiben lassen. Es ist effektiv-datiert, so dass eine Fahrplanänderung im Juni nicht rückwirkend März machen kann aussehen wie Fehlzeiten. Ein Zeitplan bezahlt niemandem. Es wird mit dem verglichen, was passiert ist und nie anstelle davon - das Bezahlen von einem Zeitplan ist das Auto abgezogen Mittagessen von Schichtplanung. Was es legitimerweise fährt, ist die Ausnahmeerkennung, Anwesenheit Punkte, Open-Shift-Warnungen und Prädiktive-Planungsprämien.

  26. · kamo-internal

    Der visuelle Editor, der Gehaltskalender, Lohnabrechnungsexport, eingeschränkte Ebene

    DayTimeline zieht einen Arbeitstag als 24-Stunden-Strecke mit einem schleppbaren Griff auf jeder Schlag. Eine Grafik statt einer Tabelle, weil ein falscher Schlag fast nie ist falsch in einer Weise, die eine Zahl verrät: Ein Clock-out um 17:00 sieht in einer Liste gut aus und ist offensichtlich falsch auf einer Strecke, wo die Schicht, bevor sie um 13:00 Uhr endete und Es folgt nichts. Form ist, was macht einen schlechten Tag sichtbar zu einem Rezensenten halten fünfzig Zeitkarten. Ziehen von PROPOSES. Es schreibt nie. Die Freigabe des Griffs öffnet die Pflicht Vernunft Dialog und der Vorschlag gehalten wird, bis der Grund geschrieben ist, weil Schieberegler, die bei der Freigabe gespeichert würde eine unerklärliche Lohnanpassung ein streunende setzen Grund zum Ziehen, anstatt eine Zeit zu tippen. Eine nicht geschlossene Verschiebung wird als offene Bar gezeichnet und nicht geschlossen bei "jetzt". Ein Ende zu raten ist genau das, was der Motor nicht tun soll, und das Bild muss keine Antwort darauf, dass die Berechnung nicht geben wird. Der neue Instant wird durch SHIFTING das Original abgeleitet, anstatt einen wieder aufzubauen lokale Wand-Uhrzeit, die es über eine DST-Grenze hinweg korrekt hält: "09:00 an diesem Datum in dieser Zone" ist zweimal im Jahr zweideutig und einfach falsch einmal. PayPeriodsSubTab macht beide Periodenregeln sichtbar - nur eine Periode in Arbeit zu einer Zeit, und Schließung friert die Regelversionen ein. PayrollExportSubTab führt mit der Trockenlauf: gleiche Zahlen, verpflichtet nichts, so dass die Varianz vorher gelesen werden kann Jeder wird bezahlt. Commit wird separat bestätigt und deaktiviert, sobald eine Periode hat eins, und eine Umkehrung wird anstelle einer Neuauflage angeboten. RestrictedMembershipGuard beschränkt ein Mitglied, dessen Beschäftigung beendet ist, auf eigene Datensätze über eine Präfix-Genehmigungsliste - eine zulässige Liste, so dass eine später hinzugefügte Seite ist standardmäßig geleugnet, wo eine Blockliste es stillschweigend zugeben würde. Es ist ein UX Grenze, nicht die Sicherheitsgrenze: Jeder Endpunkt dahinter ist unabhängig autorisiert in SecurityService, weil eine Client-Seite umgeleitet niemanden stoppt kann devtools öffnen. "chat" kartografiet jetzt canSendTextMessages in TOOL_CAPABILITY, der einen Etage Fähigkeit, die die eingeschränkte Ebene nimmt. Der Lohn- und Gehaltsabrechnungs-Proxy geht text/csv durch unberührte - Parsing wie JSON versagen Sie den Download als 500, während die Datei war völlig in Ordnung auf der anderen Seite.

  27. · SecurityService

    Relay der Herausgeber, autorisiert durch Identität vor Rechten

    Ein EMPLOYEE kann ihre eigene Aufzeichnung korrigieren - das ist der Punkt des Editors, und Verweigerung lässt der Mitarbeiter keine Möglichkeit zu sagen, die Uhr war falsch über eine Tag, sie sind der einzige Zeuge zu. Was sie nicht tun können, ist, es zählen zu lassen: Korrektur von Flächen als Anpassung auf einer Zeitkarte, die noch durcharbeiten muss die Genehmigungskette. Identität wird durch resolveRole, die das Thema VOR prüft gelöst Beratung eines jeden Rechts. Gott-Modus macht checkRight Rückkehr wahr für jedes Recht, so alles, das eine benannte Person beschreibt, muss diese Person auf Identität zugeben allein. Es muss auch für ein Mitglied in der eingeschränkten Ebene arbeiten, die keine hält Rechte überhaupt und hat immer noch einen gesetzlichen Anspruch auf ihre eigene Arbeitszeit.

  28. · kamo-shared-library

    Tragen Sie den Ausstellgrund auf dem Punch selbst

    Eine korrigierte oder eingefügte Zeit zeichnet jetzt auf, WARUM auf der Lohnbilanz anstatt nur im Audit-Log. Unter Anderson v. Mt. Clemens Pottery ein Arbeitgeber mit unzureichende Aufzeichnungen verliert den Nutzen des Zweifels auf Stunden, und ein Rekord, dass trägt seine eigene Rechtfertigung ist wesentlich stärkere Beweise als eine Notwendigkeit sich zu einer Prüfungstabelle anschließen, um sich zu erklären. Es lässt auch die Redakteurin zeigen, die Grund neben der Zeit ohne eine zweite Abfrage, das ist, was macht jedermann tatsächlich lesen.

  29. · SecurityService

    Melden Sie ehemalige Mitarbeiter in eine eingeschränkte Ebene, anstatt sie zu verweigern

    Ein Teammitglied, dessen Beschäftigung nicht ACTIVE ist, wurde an der Tür mit "Ihr Konto existiert, ist aber zu diesem Zeitpunkt nicht aktiv". Das war die falsche Form. Ein gekündigter Arbeitnehmer hat einen gesetzlichen Anspruch auf seine eigenen Lohnunterlagen California Labor Code 226(c) gibt 21 Tage und eine Strafe pro Verletzung nach dass - und ein Ex-Mitarbeiter, der nicht unterschreiben kann, hat keine Möglichkeit, es auszuüben. Ihre Compliance-Anerkennungen sind die gleiche Geschichte. Sie melden sich jetzt an und landen in MemberCapabilities.ektioniert: eine streng straffere Tier als nicht lizenziert und orthogonal zu ihm. Nicht lizenziert bedeutet, dass die Org nicht bezahlt für Sie; eingeschränkt bedeutet, dass es Sie nicht mehr beschäftigt. Was überlebt, ist, was sie haben das Recht, nach der Trennung zu erreichen - eigene Zeitkarten, eigene Compliance Rekord, eigenes Profil, eigene Abrechnung, Unterstützung. Chat ist die Ein-Flag-Fähigkeit Diese Stufe nimmt weg, weil ein ehemaliger Mitarbeiter hält eine Live-Linie in die Das interne Gespräch des Unternehmens ist ein anderes Problem als einer, der nicht senden kann eine E-Mail. canViewOwnTimecards und canViewOwnLegalCompliance werden niemals in einem vorbehalten tier: die Leute, die am ehesten ihre Gehaltsaufzeichnungen brauchen, sind diejenigen, die nur links. Die rekordaktive Überprüfung noch REFUSES. Ein weich-gelöschtes Mitglied ist kein ehemaliges Mitarbeiter, ist es ein Mitglied, das nicht mehr existiert. Drei Tore geöffnet, eines absichtlich geschlossen: - SecurityController Login verweigert jetzt nur noch auf record-active - SessionRefreshController tötet keine Off-Boarded-Sitzung mehr auf der nächsten Umfrage, die den Zugriff etwa eine Minute gehalten hätte - DeviceAuthController-Matches, damit ein gekündigter Mitarbeiter ihr Aufzeichnungen von dem Telefon, das sie bereits angemeldet hatten - EnterAs und Imitation sind unverändert: das sind Admin-Pfade mit ihren eigenen Semantik und Erweiterung ist nicht das, worum es geht eingeschränktIfNotEmployed scheitert OPEN, und es ist das einzige, was auf diesem Weg, dass tut. Jede andere Berechtigungsprüfung scheitert geschlossen, weil die Zulassung eines unbekannten Mitglied ist die gefährliche Richtung. Hier kehrt es um: Das läuft auf jedem Anspruch für jedes Mitglied gelesen, und ein Repository Blip würde Chat aus Streifen eine ganze Org von perfekt beschäftigten Menschen. Das Login-Gate upstream bereits entschieden, ob die Sitzung existiert. Auch PayrollRelayController - die Berechtigung Grenze für Lohnperioden, Lohnabrechnung Export, Pause Compliance, Urlaub und Jobkosten. FINALIZE_PAY_PERIODS Gates alles, was die Gehaltsabrechnung Datei berührt (Begnügung ein zahlt ein Unternehmen), MANAGE_TIMECARDS Gates die HR-Oberflächen, und die /me/** Endpunkte nehmen kein Mitglied id überhaupt, so dass sie strukturell unfähig sind, auf jemand anderen zu handeln, die Am wichtigsten ist für Pause Bescheinigung, eine Mitarbeiter-eigene Aussage über ihre eigene Tag, und für ein eingeschränktes Mitglied, das keinerlei Rechte hat.

  30. · kamo-shared-library

    Fügen Sie die Mahlzeit Startfrist auf die Pause Regel

    Kalifornien benötigt die erste Mahlzeit zu BEGIN vor dem Ende der fünften Stunde. Eine 30-minütige Mahlzeit, die in der siebten Stunde eingenommen wird, ist eine volle Verletzung, obwohl sie es war die richtige Länge, so dass die Frist eine eigene Spalte braucht - eine Längenprüfung kann nicht stehende sich ein, und BreakEvaluator testet MEAL_LATE bereits dagegen.

Euer Universum wartet.

Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.

Für immer kostenlos – keine Kreditkarte erforderlich