Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-internal
Vue d'ensemble des clients récapitulatifs et des règles qu'ils rendent
· kamo-shared-library
Tentence/requêtes saisies/récentes pour un ensemble live d'org-assoc
HrResourceSummaryService matérialisait l'ensemble de l'ensemble d'un org sans se lord Img collection en mémoire pour calculer un compte, un octet sum et un 5 rangs de tranches récentes. Ajout de comptes/somme/paged-récents requêtes donc un résumé Il n'est jamais nécessaire de charger la collecte pour répondre à trois numéros.
· DocsService
Résumé juridique, de la formation et des ressources pour l'aperçu général des droits de l'homme
Une lecture par domaine d'onglet, chaque bloc est râpé en son propre chef et omis plutôt que de refuser quand il est hors de portée.
· SecurityService
Résumé des participants à l'aperçu des droits de l'homme
Un appel MANAGE-TIMECARDS - contenant la liste et le gestionnaire-queue relais avec l'exception locale, les rangées d'emplois et de périodes de paie.
· kamo-marketing
Localiser les cartes-guides et arrêter de regrouper les ensembles de données en anglais
Les quatre pages centrales ont rendu les composants clients qui ont importé la collection modules directement et ne prenaient pas d'accessoires, de sorte que tous les noms de cartes et d'industrie, intégration taglines, définitions des glossaires, résumés des concurrents - étaient en anglais dans les 22 même si le chrome environnant a été traduit. Il s'agissait aussi de la des ensembles de données complets en anglais expédiés dans le groupe de clients. Le serveur localise et passe maintenant uniquement les champs que chaque concentrateur rend effectivement, de sorte que le client conserve les constantes structurelles (étiquettes de catégorie, ordre d'affichage) et abandonne les modules de données. Les marques des fournisseurs et des concurrents restent non traduites mais sont toujours dépassées, puisque les cartes les impriment. La liste d'articles/DefinedTermSet JSON-LD sur ces pages également encodé en caractères dur/en URL pour chaque local; ils suivent maintenant la propre place de la page.
· kamo-shared-library
Résumé des questions concernant l'aperçu des droits de l'homme
Histogrammes de statut, tranches en retard et rollup par membre pour les questions juridiques formation, plus le comptage de l'état des modèles/cours. Aucun changement d'entité.
· kamo-internal
Glow rouge quand hors de l'horloge, vert allumé, et lâcher la balle
Etre hors de l'horloge au travail est l'état qui coûte à quelqu'un d'argent, et il était-ce que l'un des États n'a rien annoncé: l'indicateur était simplement absent, et un l'absence n'est pas un signal. Le contrôle porte maintenant une lueur rouge respirante chaque fois que l'organe est cadencé. Une respiration brille sur un cycle de 1,8 au lieu d'un clin d'œil. C'est bien sous le seuil de photosensibilité de trois éclairs par seconde, et un stroboscopique dans le coin de chaque écran serait intolérable pendant les huit heures par jour, il est censé être visible. Sous préfère-sil-démotion-réduction, la lueur est maintenue STEADY plutôt que À la différence de l'anneau d'obligation à côté, le mouvement ici n'est pas redondant avec un badge ou un compte, de sorte qu'il supprimerait le seul signal. La lueur n'apparaît qu'une fois que l'état est en fait CONSurri. Peintrer pendant le d'abord chercher, ou mid-punch alors que la bascule optimiste s'installe, annoncerait un problème qui peut ne pas exister, et un avertissement qui crie le loup à chaque page load est Un peuple apprend à arrêter de voir. Le point cadenré est vert au lieu de -- accent-peuplement. Ce jeton est le HRS la teinte d'identité ambrée du module (c47d1a), qui se lit comme une position d'avertissement à côté de une lueur rouge - sur l'horloge est le bon état et doit ressembler à ça. La balle traînante a disparu. Il ne contenait aucune information que le point n'avait pas déjà été porter, et il a pris le contournement .tabulaire et important avec lui. le tropr de route est placé visible sur le bouton plutôt que sur hérité: la lueur se trouve à un inclinaison négative, donc un bouton d'écrêtage l'avalerait complètement et le le contrôle aurait l'air simplement non sécrété plutôt que cassé - la sorte la plus dure de bogue visuel à remarquer.
· kamo-internal
Un onglet d'inscription et cacher l'onglet de la carte temporelle lorsqu'il n'est pas inscrit
Il n'y avait aucun moyen d'activer les cartes de temps pour qui que ce soit. Chaque surface lu existait et Chacun d'entre eux a correctement montré rien, parce qu'aucun inscription ne pourrait être créé, et donc, dit "n'est pas en train d'être en train d'être Tracé" avec rien de n'importe où dans le produit capable de changer cela. L'inscription SubTab est ce contrôle, sur /hr/pendance lorsque le HR gère le main-d'œuvre. Il utilise le canonique MemberPickerDialog en multi-select, et s'inscrit un membre par appel plutôt que par lot: chaque inscription écrit un emploi et une mission à terme, de sorte qu'un échec partiel doit laisser les personnes qui a réussi s'est inscrit au lieu de faire reculer tout le monde. L'écran dit pourquoi il n'est pas sur les rôles et les permissions, parce que c'est le premier Question de quiconque aura: les sûretés sont supprimées lorsqu'une adhésion cesse être actif, ce qui changerait la carte de temps de quelqu'un exactement le moment leurs états de paie doivent surendetter leur emploi. Non-exempte est la valeur par défaut et le dialogue indique pourquoi - classer quelqu'un exempté qui n'est pas l'erreur la plus coûteuse en droit salarial, et elle est faite par le titre d'emploi bien plus souvent que par n'importe quel test réel. L'onglet Timecard du membre est maintenant entièrement caché à moins que ce membre ne soit réellement inscrits. Il a précédemment été rendu pour n'importe qui dans une organisation HRS, puis l'a annoncé. Il n'avait rien à montrer, qui est une impasse: rien sur cette page ne pouvait l'allumer. L'inscription reste «non définie» jusqu'à ce que le fait de ne pas être faux au lieu de ne pas le faire, de sorte que
· SecurityService
Inscriptions de relais
MANAGE ET TEMPS À lire ou à changer qui est sur les cartes de temps et les inscriptions décident qui est payé par ce système, de sorte qu'il est tenu à l'administrateur des ressources humaines, au contraire que dans la ligne hiérarchique d'un administrateur.
· kamo-marketing
Traduire les pages de collection au lieu de les cacher
Les 2 400 pages sans indexation n'ont pas été indexées parce que leur copie corporelle n'a pas traduction: les concurrents, les industries, les intégrations et le glossaire gardent leur prose dans app/lib/-/-/-ts, que le dictionnaire n'a jamais vu, donc /fr/solutions/réel-estate rendues en français autour des paragraphes anglais. scripts/extract-collections.ts tire les 3 799 cordes traduisibles de ceux 120 objets dans un arbre cisaillant, sautlant tout ce qu'un traducteur doit non tactile et limaces, catégorie enums, statuts matriciels, chemins de logo, termes related les références croisées et les noms de vendeur/produit. Les navires arbo-navires comme les collections. espace de nominatif dans kamo-marketing/en.json. À l'époque de lisiser Item, localiser l'arbre traduit sur l'objet anglais. Seules les clés présentes dans la traduction sont remplacées, et un tableau dont la longueur dériver de la source est supprimée en gros plutôt que de rendre une liste avec entrées manquantes, donc les traductions périmées se dégradent en anglais au lieu de casser la page. «collections» est déshabillée de NextIntlClientProvider: c'est 420 KB que seulement les composants du serveur lisent, et le suivant-intl sérialise quel que soit le fournisseur la charge utile RSC de chaque page. La fusion par local dans i18n/request.ts est maintenant mémoire pour la même raison - il était bon marché à 150 KB et n'est pas à 514 KB. collectRobots ne signale toujours aucun index jusqu'à ce que les traductions soient terrestres; COLLECTION-CONTENT-LOCALES est ce qui le soulève.
· kamo-internal
Les onglets d'approbation et d'exception existent en fait maintenant
Les deux backends expédiés plus tôt mais aucun des deux panneaux n'a jamais été écrit, donc /hr/assisance?sub-approbations et sous-exceptions rendues "ce c'est l'angle construits" sur les critères de travail. Le sous-titre SubTab est la file d'attente des gestionnaires. Une carte de temps comporte deux attestations: l'employé est sur soumission et le gérant ici - donc la seule action sans raison est l'approbation d'une carte que l'employé a présentée lui-même, lorsque leur propre attestation est le procès-verbal. Envoi d'une carte et approbation au nom les deux prennent une raison obligatoire, parce que l'envoi de la carte de temps de quelqu'un sans Pourquoi un employé perd un jour et ne découvre jamais lequel. Une carte avec des exceptions de blocage a son bouton d'approbation DISABLED plutôt que autorisé à échouer: le serveur refuse de toute façon, et un bouton qui est toujours des erreurs pire que celui qui est visiblement indisponible. La puce de blocage navigue vers le Onglet des exceptions, qui est l'endroit où se trouve réellement le travail. Exceptions SubTab montre deux nombres délibérément différents - tout ouvert, et le sous-ensemble que BLOCKS a close. isBlocking est rendu exactement au fur et à mesure que le serveur a envoyé Il ne s'agite jamais de la chaîne de type. La renaissance est présentée comme suit: Rien n'a été fixé, une personne choisit de procéder de toute façon, et la raison est de savoir ce que Rendre cette décision sur laquelle on s'interroge plus tard. Le repli sur place reste dans la page même si les sept indices sont maintenant câblé - appréciant une sous-reponte sans panneau devrait le dire plutôt que rendre un écran blanc.
· SecurityService
Relayer la file d'attente d'exception
MANAGE-TIMECARDS pour lire la file d'attente et renoncer, car la file d'attente nomme tous membre ayant un problème et renoncer à modifier ce que la porte de finalisation lit. Le par-ment de prise de vue par redétection par resolveRLE, de sorte qu'un gestionnaire peut re-dérouler la détection sur leur propre rapport sans droit à l'échelle de l'angle.
· InitializerService
Les indices partiels qui arrêtent un double paiement et une collision de code
est la denture du service d'exportation le refus de remettre à nouveau en question. Un deuxième dossier engagé pour une période de paie double-quart. l'ensemble de l'entreprise, et le contrôle de la couche de service à lui seul perd au profit de deux opérateurs en cliquant au même moment. Une correction porte inverses-batch-id et est donc exclu du prédicat, qui est la totalité de la raison pour laquelle il ne peut pas être une contrainte unique sur l'entité - et le critère affirme que l'exclusion, parce que sans elle une correction ne pourrait jamais être délivrée du tout. Le code actif permet au code du compte de travail de manière unique par rapport aux lignes ACTIVEs. Un département à la retraite recréé sous son ancien code est comptable ordinaire. ménage; une contrainte générale forcerait l'organisme à inventer "SALES-2" tandis que la ligne retraitée doit encore exister pour les segments historiques. Le La contrainte générale de l'entité a été abandonnée en faveur de cela. EXPORT-REVOKE révoque DÉLETE mais délibérément NE PAS MISE À JOUR: un lot légitimement Une RSORTIE - COMMUTATÉ - RÉVERSÉ, et la suppression de la MISE À JOUR, le gel d'un s'enfoncer à sec avant qu'il ne puisse jamais être commis. Les broches d'essai qui font la distinction.
· kamo-internal
Écran de période fermé pour un org de 400 personnes
Redétecter les exceptions, recalculer les revenus de chacun, approuver tout le l'appelant peut, chaque rapport par membre, la raison pour laquelle il a refusé. "312 sur 400 réussis" est inutilisable: la personne qui le dirige doit maintenant trouver le quatre-vingt-huit à la main, qui est exactement le travail que l'opération en vrac était supposée à épargner. Le tableau de refus porte mot pour mot pour mot la phrase en aval, donc "cela timecard a 2 exceptions de blocage" indique à l'ordonnateur ce qu'il doit faire au lieu de leur dire d'ouvrir un billet. Le dialogue d'approbation indique clairement que la raison est enregistrée sur chaque carte, et que chaque carte passe toujours par les mêmes contrôles. Les deux sont vrais et les deux sont le point: une homologation en vrac IS une décision s'applique à de nombreux enregistrements, et faire semblant autrement en exigeant un commentaire par carte produirait quatre cents Copie du mot "ok".
· SecurityService
Opérations groupées et présence en vrac
Le rôle d'approbation en grande partie est donné ici à partir des droits de l'appelant et annexé à le chemin - ne jamais lire du corps. Un rôle fourni par le corps est fourni par le corps la promotion, et ce point de pourcentage approuve des centaines de salaires à la fois. Les points de présence suivent la même règle d'identité d'abord que tout le reste concernant une personne nommée: propre sur l'identité, les besoins de n'importe qui d'autre
· kamo-internal
Rapports de conformité, attestation de rupture et vos propres dossiers
Un sous-tabulaire de rapport /h/attendance qui porte les trois rapports à l'échelle de l'orgge une fenêtre. Le rapport d'arrondi montre le verdict en tant que jeton et la conclusion comme une alerte, parce que "FAVOURS-EMPLOYER" est une exposition salariale et l'enterre dans un Le nombre que personne ne lit vaincu le point de le calcul. BreakAttestationPanel est le compte de l'employé pour ses pauses. Repos les périodes sont payées et ne sont donc jamais perforées, donc c'est la seule preuve la conformité aura un jour - un tableau de bord seulement rapporte une parfaite conformité pour chaque org pour toujours, qui fabrique des éléments de preuve contre l'employé plutôt que qui n'en a pas fait l'affaire. Rien n'y est pré-rempli avec une réponse conforme, et un nombre de repos vide reste NULL plutôt que de devenir zéro: zéro est une affirmation selon laquelle aucun repos n'a été pris, qui est une violation, alors que nul n'est pas répondu, ce qui n'est pas le cas. MyRecordsPanel donne à un employé ses soldes de congé et ses propres éléments de preuve boîte. Le téléchargement est disponible sans raison, et il reste disponible après l'emploi prend fin, car dans plusieurs États le droit à ces registres dépasse l'emploi par la loi et les personnes les plus susceptibles d'en avoir besoin sont Ceux qui viennent de partir.
· SecurityService
Releignez les rapports de conformité, le dossier de preuve sur l'identité
Les rapports à l'échelle de l'organisation doivent être fournis et MOYENS. La poche de preuve n'est pas, lorsqu'un Un membre tire les leurs - et c'est le but. Le paquet est ce qu'un employé doit apporter une créance salariale, et la faire passer derrière un droit des droits de la main-d'œuvre signifierait que Seules les personnes qui peuvent produire les preuves sont celles contre lesquelles elles seraient utilisées. Un membre du niveau restreint n'a aucun droit et est exactement qui il en a besoin.
· kamo-internal
L'onglet de configuration de la carte en temps réel
Remplace l'espace réservé par la surface de travail: la semaine de travail, journée de travail limite, seuil de changement d'ouverture, arrondi, interrupteurs de révision, règle de rupture le schéma posologique par défaut de l'organisme. Le champ d'arrondi s'explique plutôt que d'être un nombre nu. L'arrondi est licitement au niveau fédéral uniquement lorsque NEUTRAL au fil du temps (29 CFR 785.48 b)), la Californie a y sont effectivement terminées pour les périodes de repas (Donohue v. AMN) et jeter le doute sur elle d'une manière générale (Camp v. Home Depot) - un administrateur qui l'allume devrait savoir qu'ils ont pris en charge de l'obligation de prouver quelle direction il dérive, et l'avertissement apparaît au moment où la valeur passe au-dessus de zéro. L'attestation dit pourquoi elle existe à côté de son propre changement: les périodes de repos sont payées et Donc, l'attestation n'est jamais perforée, donc l'attestation est la seule preuve de respect nous l'aura jamais jamais eu. Sans lui, le système fait état d'une parfaite conformité pour toujours, qui est pire que de ne signaler rien parce qu'il fabrique des preuves contre employé. L'interrupteur de la barrière de géo-contrôle dit "flage", ne "refusez-vous". Refus d'enregistrement des travaux qui a été effectivement fait, c'est la violation exacte que ce système existe pour prévenir. La section du calendrier indique clairement qu'un calendrier ne paie jamais personne - c'est comparé à ce qui s'est passé, et où les deux ne sont pas d'accord sur le bilan réel régit.
· SecurityService
Relier la surface de configuration de la carte temporelle
MANAGE ET TEMPS pour lire les règles de l'ordonnance - la semaine de travail et les paramètres d'arrondi décrire comment tout le monde dans l'ordonnance est payée - et FINALIE-PAY-PERIODS pour changer parce qu'ils sont les nombres par période de gel lorsqu'il ferme. Un membre peut lire son emploi du temps sur l'identité, sans aucun droit. Un calendrier est ce que quelqu'un est censé travailler, et être incapable de voir que ce n'est pas un Produit défensable.
· DaemonService
Planifiez les balayages nocturnes de la carte de temps
Cron vit ici plutôt que dans TimecardService parce que ce déploiement est RollingUpdate avec maxSurge: 1 x deux gousses se chevauchent à chaque déploiement et à chaque phase «Méthode programmée là-bas flambeait deux fois, qui pour un balayage qui écrit exceptions, désigne les lignes dupliquées. Ce service est réplique: 1, stratégie: Recréer, et est le seul endroit sur cette plate-forme où "une fois" signifie une fois. Cours à 02:20 jours: après minuit, donc un jour ouvrable complet a fermé partout dans le continent américain, et en dehors de l'heure donc il ne fait pas face à tous les autres emplois de plate-forme. Timbres mlos.internal-auth-secret, non interne.auth.secret. DaemonService est le sien interne.auth.secret se résout la valeur du chat public et devrait répondre à la valeur de la bourse et devrait répondre à l'appel, qui est le piège StewardEmailClient déjà documenté. Quand le secret est Manquement du travail refuse de courir et le dit à ERROR plutôt que d'enregistrer un faux le succès - un balayage qui, tranquillement, ne court jamais est indiscernable de celui qui ne trouve rien, et la différence est un mois de coups manquants non détectés. Les trois balayages sont tentés de manière indépendante. Un échec de la rupture est un l'écart de conformité pendant qu'une erreur de balayage d'exception est une journée non rémunérée, et couplage Ils laissent l'échec le moins cher retirer le plus cher.
· kamo-shared-library
Configuration de l'ordonnance, calendriers et horaires des vacances
TimecardOrgConfig tient la semaine de travail, la frontière de la journée de travail, les arrondis, l'ensemble des règles les pointeurs et les changements de révision. Rien de tel n'est lu au moment du calcul. chaque valeur est prise en compte sur une période de paie lorsque la période ferme et le moteur lit le cliché, qui est ce qui permet à un org de changer ses règles sans réécrire ce qu'il a déjà payé. TimecardLa fête est la disation, et non décidée. "Quatrième jeudi en novembre" est une règle et les règles dérivent, donc un calendrier généré il y a trois ans sous une édité depuis Une règle serait silencieusement en désaccord avec ce qui est réellement payé. La scission rémunérée/travaillée est la raison pour laquelle l'entité existe: la durée de validité des jours fériés n'est pas travaillée, donc 778.218 l'exclut du taux normal et il ne compte pas pour le taux normal. seuil d'heures supplémentaires, tandis que les heures de vacances sont des heures normales sont soumis à une prime. Les traiter comme une chose surestature le taux normal pour Tous ceux qui ont pris la journée de congé et sous-estimaient les heures supplémentaires pour tous ceux qui ne l'ont pas fait. TimecardSchedule est un tableau pour la fois l'ordonnance par défaut et l'annulation d'un membre, parce que la résolution est "la rangée du membre s'il y a une, l'ordre sinon" et deux tables doubleraient chaque colonne et les laisseraient dériver. Il est d'effet, de sorte qu'un changement de calendrier en juin ne peut pas faire rétroactivement le mois de mars Ressemble à l'absentéisme. Un horaire NE PRES PRES PRESCRIPTION. Il est comparé à ce qui s'est passé et jamais utilisé à la place de celui-ci - le paiement à partir d'un horaire est le déjeuner autodéplique de planification des changements de poste. Ce qu'il conduit légitimement, c'est la détection des exceptions, la fréquentation points, alertes à changement d'heure et primes de programmation prédictive.
· kamo-internal
L'éditeur visuel, le calendrier de rémunération, l'exportation des états de paie, le niveau restreint
DayTimeline dessine une journée de travail comme une piste de 24 heures avec une poignée de traînable chaque coup de poing. Un graphique plutôt qu'un tableau parce qu'un mauvais coup de poing n'est presque jamais incorrect d'une certaine manière un nombre révèle: un calock-out à 17:00 semble très bien dans une liste et est évidemment erronée sur une piste où le déplacement avant qu'il ne se termine à 13h00 et Rien ne suit. La forme est ce qui rend une mauvaise journée visible pour un critique tenant cinquante cartes de temps. Les propositions de faire glisser. Il n'écrit jamais. La libération de la poignée ouvre l'obligation le dialogue de la raison et la proposition est maintenue jusqu'à ce que la raison en soit écrite, parce qu'une Un dicteur qui épargnerait lors de la libération mettrait un ajustement de salaire inexpliqué la raison de traîner plutôt que de taper un temps. Un déplacement non fermé est tracé comme une barre ouverte plutôt que fermée à "maintenant". Deviner une fin est exactement ce que le moteur refuse de faire, et l'image doit ne pas impliquer une réponse que le calcul ne donnera pas. Le nouvel instant est dérivé en vant en vant le début plutôt que de reconstruire un temps d'horloge murale locale, qui est ce qui le maintient correct à travers une limite DST: "09:00 à cette date dans cette zone" est ambigu deux fois par an et tout simplement faux une fois. PayPeriodsSubTab rend les deux règles de période visibles - une seule période en cours à la fois, et la fermeture gèle les versions des règles. PayrollExportSubTapab en tête avec la course à sec: mêmes nombres, ne commet rien, donc la variance peut être lue avant toute personne est payée. Le fait d'engager est confirmé séparément et handicapé une fois qu'une période a été versée. l'une, et une inversion est proposée au lieu d'une nouvelle question. Le Gardien de l'État limite l'emploi dont l'emploi a pris fin les effets de propriété de la liste d'autorisations, une liste d'autorisations, de sorte qu'une page ajoutée plus tard est refusé par défaut, lorsqu'une blocklist l'admettrait silencieusement. C'est un UX frontière, pas la sûreté: chaque point de terminaison qui le sous-tend est indépendant autorisé dans SecurityService, parce qu'une redirection côté client n'arrête personne qui peut ouvrir des devtools. Les cartes de l'OETATAT-CAPABILITÉ, un étage la capacité que le niveau restreint enlève. Le mandataire de la paie transmet le texte/csv par l'intermédiaire de l'élément non modifié et de l'analyse en l'anclement comme JSON échouer le téléchargement en 500 alors que le fichier était parfaitement efficace sur l'autre face.
· SecurityService
Relais de l'éditeur, autorisé par identité avant les droits
Un EMPLOYEE peut corriger son propre dossier - c'est le point de l'éditeur, et refuser qu'il laisse à l'employé sans aucun moyen de dire que l'horloge était erronée à propos d'un Le jour, ils sont le seul témoin. Ce qu'ils ne peuvent pas faire, c'est le faire compter: correction de terres en tant qu'ajustement sur une carte de temps qui doit encore passer la chaîne d'homologation. L'identité est résolue par le règlementRôle, qui vérifie le sujet AVANT la consultation de tout droit. Le mode Dieu rend le droiture vrai pour chaque droit, donc Tout ce qui décrit une personne nommé doit admettre cette personne sur l'identité seul. Elle doit également travailler pour un membre du niveau restreint, qui ne détient pas de les droits du tout et ont toujours droit à leur propre heure d'ouverture.
· kamo-shared-library
Porter la raison d'ajustement sur le poinçon lui-même
Un temps corrigé ou inséré indique maintenant POURQUOI sur le bilan des salaires plutôt que uniquement dans le relevé d'audit. Sous Anderson c. Mt. Clemens Pottery, employeur avec l'insuffisance des registres perd le bénéfice du doute en heures, et un bilan qui porte sa propre justification est matériellement plus solide que celle dont on a besoin une participation à un tableau d'audit pour s'expliquer. Il permet également à l'éditeur de montrer le raison à côté du temps sans une deuxième requête, ce qui fait de n'importe qui Lire-le en fait.
· SecurityService
Signer d'anciens employés à un niveau restreint au lieu de les refuser
Un membre de l'équipe dont l'emploi n'est pas ACTIVE a été refusé à la porte avec "Votre compte existe mais n'est pas actif à l'heure actuelle." C'était la mauvaise forme. Un employé licencié a le droit légal à ses propres états de paie. Le Code du travail de Californie 226(c) donne 21 jours et une peine de droit de vote après Ce - et un ex-employé qui ne peut signer en n'a aucun moyen de l'exercer. Leurs les reconnaissances de conformité sont la même. Ils se connectent et atterrissent dans MemberCapabilities. restrestricted: un strict plus strict niveau que non licence et orthogonal. Moyens sans licence, l'organisme n'a pas payé pour vous; limité signifie qu'il ne vous emploie plus. Ce qui survit, c'est ce qui ils ont le droit d'y parvenir après la séparation et les cartes de temps, de se conformer à leurs propres résultats. enregistrer, profil propre, facturation propre, soutien. Chat est la capacité d'un étage ce niveau enlève, parce qu'un ancien employé tient une ligne vivante dans le La conversation interne de l'entreprise est un problème différent de celui qui ne peut pas envoyer un courriel. canViewOwnTimecards et canViewOwnLegalCompliance ne sont jamais retenus tier: les personnes les plus susceptibles d'avoir besoin de leurs états de paie sont celles qui à gauche. Le contrôle record toujours REFUSE. Un membre à décoluche souple n'est pas un ancien membre employé, c'est un membre qui n'existe plus. Trois portes ouvertes, l'une fermée délibérément fermée: - Le responsable de la sécurité refuse désormais de se rendre compte uniquement de la situation - SessionRefreshLe contrôleur ne tue plus une séance émanidée sur la prochaine le scrutin, qui aurait fait l'accès en dernier environ une minute - DeviceAuthContrôleurs correspond, de sorte qu'un employé licencié peut atteindre son les enregistrements du téléphone qu'ils avaient déjà signé - EnterAs et Impersonation sont inchangés: ce sont des chemins d'administration avec leurs propres chemins d'administration la sémantique et les élargir n'est pas ce dont il s'agit limitIfNotEmployed échoe à OPEN, et c'est la seule chose sur cette voie qui le fait. Tous les autres contrôles d'admissibilité échouent parce qu'il admettant un inconnu Un membre est la direction dangereuse. Ici il s'inverse: ça court sur chaque l'accès est lu pour chaque membre, et un blip de dépôt de chat de partir entière d'un gisement de personnes parfaitement employées. La porte de connexion en amont déjà a décidé si la session existe. Ajout également de PayrollRelayCtroller - la limite d'autorisation pour les périodes de paie, l'exportation des salaires, la mise en conformité, les congés et le coût de l'emploi. FINALISATION-PAY-PERIODS porte tout ce qui touche le dossier de paie (en engageant un fichier payant une entreprise), MANAGE-TIMECARDS Porte les surfaces HR, et les critères d'évaluation /me/- ne prennent aucun membre id du tout de sorte qu'ils sont structurellement incapables d'agir sur quelqu'un d'autre - qui importance pour l'attestation de pause, la déclaration d'un employé sur sa propre jour, et pour un membre restreint qui n'a aucun droit.
· kamo-shared-library
Ajouter la date limite de début du repas à la règle de rupture
La Californie a besoin du premier repas à BEGIN avant la fin de la cinquième heure. Un repas de 30 minutes pris à l'heure sept est une violation totale même si c'était la bonne longueur, donc le délai nécessite sa propre colonne - un contrôle de longueur ne peut pas stand-y pour, et BreakEvaluator teste déjà MÉLACONTER PER.
· kamo-shared-library
Périodes de paie, pauses, primes, comptes de main-d'œuvre, droits d'émission, exportation
Bats le reste du schéma salarial et de l'heure en un changement partagé, de sorte que un domaine entier atterrit dans un seul KamoInitializer fonctionne plutôt qu'une migration par phase. Entités: périodes de paie avec colonnes gelées de la règle, lignes gagnantes, rupture les règles et les violations, les comptes du travail et les segments de travail, les politiques de la comptabilité d'exercice, les soldes et le grand livre, les caisses de congé, les lots d'exportation, les cas de fréquentation scolaire. Quatre moteurs purs, 51 essais: BreakEvaluator - ne déduise jamais un déjeuner, parce qu'un repas autodéplique livre une demi-heure non rémunérée que l'employeur ne peut prouver qu'elle était en franchise de droits. Primes sont des WAGES (Naranjo), de sorte qu'ils affluent dans les revenus plutôt qu'un rapport. Un prime par CATÉGORIE par jour (UPS v. Cour supérieure : deux repas manqués doivent l'un, un repas manqué plus un repos manqué doit deux. Une renonciation aux repas n'est honorée que lorsque la loi l'autorise, un employé ne peut pas donner son consentement en dehors de celui-ci. Repos sont inaptes, de sorte que le silence sur l'attestation n'est jamais considéré comme une violation. RaryRateCalculator - heures supplémentaires est due au taux NGULAIRE, et non à la base taux. 778 115 moyennes pondérées, 778,209 heures supplémentaires rétroactives les primes non discrétionnaires, les exclusions 778.216/218 et la prime à la mi-temps: le temps normal est déjà dans le total, donc les heures supplémentaires additionnent 0,5x, pas 1,5x. AccerentimentEngine - un plafond stopme l'accumulation sans suppression du solde, le report est plafonnée séparément du plafond, et une déduction qui porterait atteinte au plancher Il lance plutôt que d'approuver silencieusement une demi-journée. PayPeriodCalendar - généré, non entré à la main, et vérifierOfoues de bureau une lacune (travaux ne faisant pas partie, sans délai, jamais payé) ou un chevauchement (rémunéré deux fois).
· kamo-shared-library
Modèle et détecteur d'exception
Rend le blocageExceptions gate real. Jusqu'à présent, le tableau de transition lire un compter que rien n'écrivait, donc chaque fois que la carte à temps avait l'air propre et "un punch manquant est Jamais payé comme zéro' était un commentaire plutôt qu'un contrôle. La distinction BLOCKING est l'ensemble de la taxonomie: un changement d'ouverture, un un coup de poing irrésistible et un arrêt de frappe provisoire non attesté, parce que se refermer sur eux affirme que rien ne peut se tenir derrière. Une erreur de géobeauté et une skew de l'horlogerie est VISANT et ne bloque jamais -- refusant d'enregistrer ou de finaliser le temps C'est en fait que c'est l'infraction salariale exacte que ce système empêche. Le détecteur fait état et ne répare jamais. Chaque façon de deviner un changement de vitesse non fermé est faux: le laisser ouvert revient des heures absurdes, des sous-déclarations de fermeture automatique, un plafond invente une figure dont personne n'a été témoin. Il devient donc plutôt une exception. Idémpotent par construction via la contrainte unique (membre, date, type) -- les doublons gonfleraient le nombre et rendraient une carte temporelle infinanisible pour une raison Personne ne pouvait trouver.
· kamo-internal
Confirmer avant l'arrêt d'un paiement récurrent
Les deux annulent les actions - siège d'un membre et le plan d'un gestionnaire de groupe - maintenant demander premièrement, en nommant la couverture de date à et, pour un groupe, combien de personnes gardent leur sièges jusqu'alors. Délibérément, pas le Dialogue de confirmation partagé. Celui-ci nécessite de taper DESTROY, DELETE, REMOVE ou ERASE avant que son bouton ne soit activé, ce qui convient à les suppressions irréversibles pour lesquelles il a été construit. L'annulation n'est ni irréversible ni destructrices: aucune donnée n'est perdue, l'accès se poursuit jusqu'à la fin de la période payée, et vous pouvez vous abonner à nouveau quand vous voulez. Un gauntlet de type-mot devant l'arrêt d'un paiement est une friction sur la seule action qu'un client est sans équivoque Le droit de s'en prendre facilement. Aucun de ces boutons ne dit "Annuler". Dans un dialogue sur l'annulation, ce mot signifie à la fois "abandonner ce dialogue" et "annuler mon abonnement" et ne peut pas être lus de manière fiable comme soit, donc les deux boutons nomment leur résultat: "Tenez mon plan" et "Arrêtez l'avenir paiements".
· BillingService
Acérer la date de renouvellement sur la couverture et les charges utiles de groupe
Les deux surfaces signalent maintenant currentPeriodEnd et annulantAtPeriodEnd. La date est ce qui suit : une confirmation d'annulation doit en fait dire - "Vous gardez votre siège jusqu'à la fin de la période" est rassurant dans l'abstrait, "vous gardez votre place jusqu'au 14 mars" est rassuré sur lequel quelqu'un peut agir.

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise