datamodel

package
v0.0.0-...-02a8c05 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2021 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

Ce package ajoute de l'intelligence aux données:

  • résolutions des liens entre tables
  • fonctions de recherches
  • implémentation des interfaces

DO NOT EDIT -- auto-generated from rawadata.go

DO NOT EDIT -- auto-generated from rawadata.go

Index

Constants

View Source
const (
	CouleurAgeInvalide       = rd.HexColor("#80ea0000")
	CouleurAttenteReponse    = rd.HexColor("#90e0d616")
	CouleurListeAttente      = rd.HexColor("#90FF610F")
	CouleurAnniversaire      = rd.HexColor("#826a1b")
	CouleurPaiementInvalide  = rd.HexColor("#90e0552a")
	CouleurPaiementBordereau = rd.HexColor("#9062872b")
	CouleurResponsable       = rd.HexColor("#4a086d11")
)
View Source
const (

	// partagé avec les organismes
	PersonneNom rd.Field
	PersonnePrenom
	PersonneSexe
	PersonneAge
	PersonneDateNaissance
	PersonneRangMembreAsso
	PersonneCotisation

	PersonneTels // concrete type rd.Tels
	PersonneMail
	PersonneAdresse
	PersonneCodePostal
	PersonneVille
	PersonnePays

	PersonneCommune // codepostal + ville

	PersonneNomPrenom
	PersonneTelsLines
	PersonneVersionPapier
	PersonnePubHiver
	PersonnePubEte
	PersonneEchoRocher
	PersonneQuotientFamilial
	PersonneVilleNaissance
	PersonneDepartementNaissance
	PersonneNomJeuneFille
	PersonneProfession
	PersonneEtudiant
	PersonneFonctionnaire
	PersonneSecuriteSociale
	PersonneEonews
	PersonnePertinence
	PersonneIdentifie

	CampLieu
	CampNom
	CampPrix
	CampNbPlaces
	CampPassword
	CampOuvert
	CampNbPlacesReservees
	CampIdJs
	CampAnnee
	CampDateDebut
	CampDateFin
	CampPeriode
	CampRemplissage
	CampLabel
	CampJoomeoAlbumId

	GroupeLabel

	AideValeur
	AideValide
	AideMontant
	AideNbJoursMax
	AideStructure
	AideCamp
	AideAnnee
	AideNomPrenom

	StructureaideNom
	StructureaideImmatriculation
	StructureaideAdresse
	StructureaideCodePostal
	StructureaideVille
	StructureaideTelephone
	StructureaideInfo

	DonValeur
	DonModePaiement
	DonDateReception
	DonRemercie
	DonRecuEmis
	DonDetails
	DonAffectation
	DonDonateur
	// coordonnées du donateur
	DonDonateurTels
	DonDonateurMail
	DonDonateurAdresse
	DonDonateurCodePostal
	DonDonateurVille
	DonDonateurPays

	DocumentCategorie
	DocumentTaille
	DocumentNomClient
	DocumentDescription
	DocumentDateHeureModif
	DocumentNomPrenom

	PaiementIsAcompte
	PaiementIsRemboursement
	PaiementLabelPayeur
	PaiementNomBanque
	PaiementModePaiement
	PaiementNumero
	PaiementValeur
	PaiementDateReglement
	PaiementDetails
	PaiementInBordereau

	FactureCamps
	FactureParticipants

	ParticipantCamp
	ParticipantGroupe
	ParticipantAnimateur
	ParticipantBus
	ParticipantMaterielSki
	ParticipantMaterielSkiType
	ParticipantAgeDebutCamp
	ParticipantRaisonAttente
	ParticipantRespoNom
	ParticipantRespoPrenom
	ParticipantRespoNomPrenom
	ParticipantRespoMail
	ParticipantRespoTels
	ParticipantRespoTelsLines
	ParticipantRespoAdresse
	ParticipantRespoCodePostal
	ParticipantRespoVille
	ParticipantRespoCommune // Ville + Code postal
	ParticipantRespoPays
	ParticipantEtat
	ParticipantOptionPrix // requis par les directeurs

	EquipierCamp
	EquipierRoles
	EquipierPresence
	EquipierDiplome
	EquipierAppro

	InscriptionDateHeure

	LastField
)
View Source
const (
	FinancesPNomPrenom rd.Field = iota
	FinancesPPrixBase
	FinancesPPrixNet
	FinancesPTotalAides
	FinancesPEtatPaiement
)

Variables

View Source
var (
	CouleurGarcon         = rd.RGBA{R: 19, G: 139, B: 215, A: 50}
	CouleurFille          = rd.RGBA{R: 199, G: 10, B: 126, A: 50}
	CouleurParticipantTmp = rd.RGBA{R: 230, G: 157, B: 51, A: 130}
)

Functions

func DocumentsPersonnesToAcces

func DocumentsPersonnesToAcces(in []AccesDocumentPersonne) rd.Table

func MarshalBaseLocale

func MarshalBaseLocale(b *BaseLocale, out io.Writer) error

MarshalBaseLocale dumps la base en JSON, avec indentation

func RechercheDetaillee

func RechercheDetaillee(in rd.Table, pattern string, entete []rd.Header) rd.Table

func RechercheDetailleeChilds

func RechercheDetailleeChilds(in []rd.ItemChilds, pattern string, entete []rd.Header) (out []rd.ItemChilds)

RechercheDetailleeChilds renvoie la liste filtrée, avec les champs Bold mis à jour `in` peut aussi être modifiée et devrait être ignorée après l'appel

func Sort

func Sort(liste rd.Table, headers []rd.Header, section int, reverse bool)

Sort modifie sur place `liste`

func SortBy

func SortBy(t rd.Table, field rd.Field, rev bool)

SortBy sorts `t` in place, accordind to field.

func SortCriteres

func SortCriteres(liste []rd.Item, criteres CriteresTri)

SortCriteres modifie sur place `liste` Le premier critère de `field` est le plus important.

func SortCriteresChilds

func SortCriteresChilds(liste []rd.ItemChilds, criteres CriteresTri)

SortCriteresChilds modifie sur place `liste` Le premier critère de `field` est le plus important.

func SortStableBy

func SortStableBy(t rd.Table, field rd.Field, rev bool)

SortStableBy sorts `t` in place.

func TriParticipants

func TriParticipants(l []AccesParticipant, triGroupe bool)

TriParticipants trie `l` sur place par ordre alphabétique, et par groupe si demandé.

func TriParticipantsItems

func TriParticipantsItems(parts rd.Table, triGroupe bool)

TriParticipantsItems trie `l` sur place par ordre alphabétique, et par groupe si demandé.

Types

type AccesAide

type AccesAide struct {
	Base *BaseLocale
	Id   int64
}

AccesAide est un pointeur sur l'objet Aide d'id donné.

func (AccesAide) AsAideParticipantCamp

func (ac AccesAide) AsAideParticipantCamp() composites.AideParticipantCamp

func (AccesAide) AsItem

func (ac AccesAide) AsItem() rd.Item

func (AccesAide) Description

func (ac AccesAide) Description() string

func (AccesAide) GetDocuments

func (ac AccesAide) GetDocuments() rd.Table

GetDocuments renvoie la liste des pièces justificatives associées à l'aide.

func (AccesAide) GetParticipant

func (ac AccesAide) GetParticipant() AccesParticipant

func (AccesAide) GetStructureaide

func (ac AccesAide) GetStructureaide() AccesStructureaide

func (AccesAide) Label

func (ac AccesAide) Label() string

func (AccesAide) RawData

func (ac AccesAide) RawData() rd.Aide

RawData renvoi les données sous-jacentes à l'accès.

func (AccesAide) ValeurEffective

func (ac AccesAide) ValeurEffective(withRemise bool) rd.Euros

ValeurEffective renvoie :

  • le montant dans le cas d'une aide absolue
  • le montant fois le nombre de jours (en prenant en compte une éventuelle limite) sinon

Si `withRemise` vaut true les remises (%) sont appliquées.

func (AccesAide) WithStructure

func (ac AccesAide) WithStructure() composites.AideStructureaide

type AccesCamp

type AccesCamp struct {
	Base *BaseLocale
	Id   int64
}

AccesCamp est un pointeur sur l'objet Camp d'id donné.

func (AccesCamp) AsItem

La couleur de fond dépend de la période du séjour

func (AccesCamp) GetAttente

func (ac AccesCamp) GetAttente(cache LiensCampParticipants) []AccesParticipant

Si `cache` est nil, parcourt la table des participants.

func (AccesCamp) GetDirecteur

func (ac AccesCamp) GetDirecteur() (AccesPersonne, bool)

func (AccesCamp) GetDirecteurEquipier

func (ac AccesCamp) GetDirecteurEquipier() (AccesEquipier, bool)

func (AccesCamp) GetEquipe

func (ac AccesCamp) GetEquipe(cache LiensCampEquipiers) []AccesEquipier

Si `cache` est nil, parcourt la table des equipier.

func (AccesCamp) GetGroupes

func (ac AccesCamp) GetGroupes() []rd.Groupe

func (AccesCamp) GetInscrits

func (ac AccesCamp) GetInscrits(cache LiensCampParticipants) []AccesParticipant

Si `cache` est nil, parcourt la table des participants.

func (AccesCamp) GetListes

func (ac AccesCamp) GetListes(triGroupe bool, critereBus rd.Bus, hideNonValidated, selectPartageOK bool) (inscrits rd.Table, attente rd.Table)

GetListes renvoi la liste des inscrits et la liste d'attente. Si `critereBus` est non nul, ne renvoi que les participants matchant ce critère. Pour un camp simple, ces critères sont ignorés.

func (AccesCamp) GetNbInscrits

func (ac AccesCamp) GetNbInscrits(cache1 LiensCampParticipants, cache2 LiensCampParticipantsimples) int

GetNbInscrits renvoie le nombre de participant effectif (sans liste d'attente)

func (AccesCamp) GetParticipantsimples

func (ac AccesCamp) GetParticipantsimples(cache LiensCampParticipantsimples) []AccesParticipantsimple

func (AccesCamp) GetRegisteredDocuments

func (ac AccesCamp) GetRegisteredDocuments(withLettre, withPiecesJointes bool) (out []rd.Document)

GetRegisteredDocuments renvoie les documents (enregistrés sur la base) liés au camp. Si `withLettre` vaut false, seules les pièces jointes additionnelles sont renvoyés. Si `withPiecesJointes` vaut false, seules les lettres sont renvoyés.

func (AccesCamp) GetStats

StatsCamp renvoie un détails du nombre de personnes par catégorie.

func (AccesCamp) HintsAttente

func (ac AccesCamp) HintsAttente(idPersonne int64, isCurrrentInscrit bool) rd.HintsAttente

HintsAttente renvoie le statut conseillé pour le "participant" donné par `idPersonne`. Pour un participant déjà créé, voir `AccesParticipant.HintsAttente`

func (AccesCamp) RawData

func (ac AccesCamp) RawData() rd.Camp

RawData renvoi les données sous-jacentes à l'accès.

func (AccesCamp) Remplissage

Remplissage renvoi le ratio en % de remplissage du camp Si `cache` est nil, parcourt la table des participants.

func (AccesCamp) TrouveGroupe

func (ac AccesCamp) TrouveGroupe(dateNaissance rd.Date) (rd.Groupe, bool)

TrouveGroupe cherche parmis les groupes possibles celui qui pourrait convenir. Normalement, les groupes respectent un invariant de continuité sur les plages, imposé par le frontend. Si plusieurs peuvent convenir, un seul est renvoyé, de façon arbitraire.

type AccesContrainte

type AccesContrainte struct {
	Base *BaseLocale
	Id   int64
}

AccesContrainte est un pointeur sur l'objet Contrainte d'id donné.

func (AccesContrainte) RawData

func (ac AccesContrainte) RawData() rd.Contrainte

RawData renvoi les données sous-jacentes à l'accès.

type AccesDocument

type AccesDocument struct {
	Base *BaseLocale
	Id   int64
}

AccesDocument est un pointeur sur l'objet Document d'id donné.

func (AccesDocument) RawData

func (ac AccesDocument) RawData() rd.Document

RawData renvoi les données sous-jacentes à l'accès.

type AccesDocumentAide

type AccesDocumentAide struct {
	AccesDocument
}

func (AccesDocumentAide) AsItem

func (ac AccesDocumentAide) AsItem() rd.Item

func (AccesDocumentAide) GetAide

func (ac AccesDocumentAide) GetAide() AccesAide

type AccesDocumentPersonne

type AccesDocumentPersonne struct {
	AccesDocument
}

func (AccesDocumentPersonne) AsItem

func (ac AccesDocumentPersonne) AsItem() rd.Item

func (AccesDocumentPersonne) GetContrainte

func (ac AccesDocumentPersonne) GetContrainte() rd.Contrainte

GetContrainte renvoie la contrainte pour un document attaché à une personne

func (AccesDocumentPersonne) GetProprietaire

func (ac AccesDocumentPersonne) GetProprietaire() AccesPersonne

type AccesDon

type AccesDon struct {
	Base *BaseLocale
	Id   int64
}

AccesDon est un pointeur sur l'objet Don d'id donné.

func (AccesDon) AsItem

func (ac AccesDon) AsItem() rd.Item

func (AccesDon) GetDonateur

func (ac AccesDon) GetDonateur() PersonneOrganisme

GetDonateur renvoie le donateur, possiblement nil

func (AccesDon) RawData

func (ac AccesDon) RawData() rd.Don

RawData renvoi les données sous-jacentes à l'accès.

type AccesEquipier

type AccesEquipier struct {
	Base *BaseLocale
	Id   int64
}

AccesEquipier est un pointeur sur l'objet Equipier d'id donné.

func (AccesEquipier) AgeDebutCamp

func (ac AccesEquipier) AgeDebutCamp() rd.AgeDate

AgeDebutCamp renvoie l'âge qu'aura le participant au premier jour du camp

func (AccesEquipier) AsItem

func (ac AccesEquipier) AsItem() rd.Item

func (AccesEquipier) GetCamp

func (ac AccesEquipier) GetCamp() AccesCamp

func (AccesEquipier) GetContraintes

func (ac AccesEquipier) GetContraintes() rd.EquipierContraintes

func (AccesEquipier) GetPersonne

func (ac AccesEquipier) GetPersonne() AccesPersonne

func (AccesEquipier) GetPresence

func (ac AccesEquipier) GetPresence() rd.Plage

GetPresence renvoie la date d'arrivée et départ du participant Elles sont déterminés par le champ `Présence` (puis par défaut les dates du camp)

func (AccesEquipier) HasAnniversaire

func (ac AccesEquipier) HasAnniversaire() bool

HasAnniversaire renvoie `true` si le participant a son anniversaire pendant le camp.

func (AccesEquipier) RawData

func (ac AccesEquipier) RawData() rd.Equipier

RawData renvoi les données sous-jacentes à l'accès.

type AccesFacture

type AccesFacture struct {
	Base *BaseLocale
	Id   int64
}

AccesFacture est un pointeur sur l'objet Facture d'id donné.

func (AccesFacture) AsFacturePersonne

func (ac AccesFacture) AsFacturePersonne() composites.FacturePersonne

func (AccesFacture) AsItem

func (AccesFacture) AsItemChilds

func (AccesFacture) Camps

func (ac AccesFacture) Camps(cache LiensFactureParticipants) (map[int64]bool, string)

Camps renvois les camps concernés par la facture, ainsi qu'une description

func (AccesFacture) ChoixDestinataires

func (ac AccesFacture) ChoixDestinataires() rd.DestinatairesOptionnels

ChoixDestinataires renvoie les destinataires possibles, y compris le responsable, qui est garantit d'être en première position

func (AccesFacture) Description

func (ac AccesFacture) Description() string

Description renvoie un tableau Html résumant les participants et les paiements associés à la facture. Les paiements et aides invalides sont affichés.

func (AccesFacture) EtatFinancier

func (ac AccesFacture) EtatFinancier(cache CacheEtatFinancier, withInvalides bool) BilanFacture

EtatFinancier additionne le prix pour chaque participant et décompte les paiements effectués. Seuls les participants inscrits (en liste principale) sont pris en compte. Les participants en liste d'attente sont ignorés. `withInvalides` contrôle si les aides et paiements invalides sont affichés ou non. Les maps de `cache` sont générés si `nil`

func (AccesFacture) GetDossiers

func (ac AccesFacture) GetDossiers(cache LiensFactureParticipants) []AccesParticipant

GetDossiers renvoie les dossiers associés à la facture. Si l'attribut `cache` vaut nil, effectue un parcourt de la table des participants.

func (AccesFacture) GetEtat

GetEtat rassemble les données décrivant l'avancement du dossier (messages, paiements, ...)

func (AccesFacture) GetPaiements

func (ac AccesFacture) GetPaiements(cache LiensFacturePaiements, withInvalides bool) []AccesPaiement

GetPaiements renvoies les paiements liés à la facture. Si l'attribut `cache` vaut nil, effectue un parcourt de la table des paiements

func (AccesFacture) GetPersonne

func (ac AccesFacture) GetPersonne() AccesPersonne

func (AccesFacture) LabelVirement

func (ac AccesFacture) LabelVirement() string

LabelVirement renvoie le label (préfixé) permettant d'identifier le dossier lors d'un virement.

func (AccesFacture) NeedAcompte

func (ac AccesFacture) NeedAcompte() bool

NeedAcompte indique si un acompte est demandé sur l'un des camps du dossier.

func (AccesFacture) RawData

func (ac AccesFacture) RawData() rd.Facture

RawData renvoi les données sous-jacentes à l'accès.

type AccesGroupe

type AccesGroupe struct {
	Base *BaseLocale
	Id   int64
}

AccesGroupe est un pointeur sur l'objet Groupe d'id donné.

func (AccesGroupe) AsGroupeCamp

func (ac AccesGroupe) AsGroupeCamp() composites.GroupeCamp

func (AccesGroupe) AsItem

func (ac AccesGroupe) AsItem() rd.Item

func (AccesGroupe) GetCamp

func (ac AccesGroupe) GetCamp() AccesCamp

func (AccesGroupe) GetContraintes

func (ac AccesGroupe) GetContraintes() rd.GroupeContraintes

Renvoie les ids des contraintes imposées au groupe.

func (AccesGroupe) Label

func (ac AccesGroupe) Label() rd.String

Label inclut le nom du camp

func (AccesGroupe) RawData

func (ac AccesGroupe) RawData() rd.Groupe

RawData renvoi les données sous-jacentes à l'accès.

type AccesMessage

type AccesMessage struct {
	Base *BaseLocale
	Id   int64
}

AccesMessage est un pointeur sur l'objet Message d'id donné.

func (AccesMessage) RawData

func (ac AccesMessage) RawData() rd.Message

RawData renvoi les données sous-jacentes à l'accès.

func (AccesMessage) ToPseudo

func (ac AccesMessage) ToPseudo(pov PointOfView) PseudoMessage

type AccesOrganisme

type AccesOrganisme struct {
	Base *BaseLocale
	Id   int64
}

AccesOrganisme est un pointeur sur l'objet Organisme d'id donné.

func (AccesOrganisme) AsItem

func (ac AccesOrganisme) AsItem() rd.Item

func (AccesOrganisme) CoordonneesDons

func (ac AccesOrganisme) CoordonneesDons() rd.Coordonnees

CoordonneesDons choisit en priorité le contact spécifique aux dons, puis le contact normal (propre ou non).

func (AccesOrganisme) RawData

func (ac AccesOrganisme) RawData() rd.Organisme

RawData renvoi les données sous-jacentes à l'accès.

type AccesPaiement

type AccesPaiement struct {
	Base *BaseLocale
	Id   int64
}

AccesPaiement est un pointeur sur l'objet Paiement d'id donné.

func (AccesPaiement) AsItem

func (ac AccesPaiement) AsItem() rd.Item

func (AccesPaiement) GetFacture

func (ac AccesPaiement) GetFacture() AccesFacture

-------------------------------------------------------------------------- ------------------------------ Paiement ---------------------------------- --------------------------------------------------------------------------

func (AccesPaiement) RawData

func (ac AccesPaiement) RawData() rd.Paiement

RawData renvoi les données sous-jacentes à l'accès.

func (AccesPaiement) ToPseudo

func (ac AccesPaiement) ToPseudo(_ PointOfView) PseudoMessage

type AccesParticipant

type AccesParticipant struct {
	Base *BaseLocale
	Id   int64
}

AccesParticipant est un pointeur sur l'objet Participant d'id donné.

func (AccesParticipant) AgeDebutCamp

func (ac AccesParticipant) AgeDebutCamp() rd.AgeDate

AgeDebutCamp renvoie l'âge qu'aura le participant au premier jour du camp

func (AccesParticipant) AsItem

func (ac AccesParticipant) AsItem(cache rd.LiensCampParticipants) rd.Item

AsItem accède aussi aux champx d'un éventuel responsable

func (AccesParticipant) AsParticipantCamp

func (ac AccesParticipant) AsParticipantCamp() composites.ParticipantCamp

func (AccesParticipant) AsParticipantPersonne

func (ac AccesParticipant) AsParticipantPersonne() composites.ParticipantPersonne

func (AccesParticipant) EtatFinancier

func (ac AccesParticipant) EtatFinancier(cache LiensParticipantAides, withAidesInvalides bool) BilanPrixCamp

EtatFinancier calcule le prix du sejour pour le participant, en prenant en compte les options, les remises et les aides. Si `withAidesInvalides` vaut `false`, les aides non validées ne sont pas renvoyées.

func (AccesParticipant) GetAides

func (ac AccesParticipant) GetAides(cache LiensParticipantAides) []AccesAide

GetAides renvoies les aides liées au participant. Si `cache` vaut nil, parcourt la table des aides.

func (AccesParticipant) GetAnimateur

func (ac AccesParticipant) GetAnimateur() (composites.EquipierPersonne, bool)

func (AccesParticipant) GetCamp

func (ac AccesParticipant) GetCamp() AccesCamp

func (AccesParticipant) GetFacture

func (ac AccesParticipant) GetFacture() (AccesFacture, bool)

func (AccesParticipant) GetGroupe

func (ac AccesParticipant) GetGroupe() (rd.Groupe, bool)

func (AccesParticipant) GetId

func (ac AccesParticipant) GetId() rd.IId

func (AccesParticipant) GetPersonne

func (ac AccesParticipant) GetPersonne() AccesPersonne

func (AccesParticipant) GetPresence

func (ac AccesParticipant) GetPresence() rd.Plage

func (AccesParticipant) HasAnniversaire

func (ac AccesParticipant) HasAnniversaire() bool

HasAnniversaire renvoie `true` si le participant a son anniversaire pendant le camp.

func (AccesParticipant) HintsAttente

func (ac AccesParticipant) HintsAttente(cache rd.LiensCampParticipants) rd.HintsAttente

HintsAttente évalue si le participant devrait être placé en liste d'attente ou non. Certains critères ne sont pertinents que pour un participant actuellement en liste d'attente.

func (AccesParticipant) IsAgeValide

func (ac AccesParticipant) IsAgeValide() bool

func (AccesParticipant) IsFicheSanitaireUpToDate

func (ac AccesParticipant) IsFicheSanitaireUpToDate() rd.OptionnalBool

func (AccesParticipant) RawData

func (ac AccesParticipant) RawData() rd.Participant

RawData renvoi les données sous-jacentes à l'accès.

func (AccesParticipant) StatutPrix

func (ac AccesParticipant) StatutPrix() rd.PrixParStatut

StatutPrix renvoi la catégorie de prix du participant Une catégorie avec un Id vide équivaut à l'absence de catégorie

type AccesParticipantsimple

type AccesParticipantsimple struct {
	Base *BaseLocale
	Id   int64
}

AccesParticipantsimple est un pointeur sur l'objet Participantsimple d'id donné.

func (AccesParticipantsimple) AgeDebutCamp

func (ac AccesParticipantsimple) AgeDebutCamp() rd.AgeDate

AgeDebutCamp renvoie l'âge qu'aura le participant au premier jour du camp

func (AccesParticipantsimple) AsItem

func (ac AccesParticipantsimple) AsItem() rd.Item

func (AccesParticipantsimple) AsItemChilds

func (ac AccesParticipantsimple) AsItemChilds() rd.ItemChilds

AsItemChilds renvoie une stucture hierachique sans enfants

func (AccesParticipantsimple) GetCamp

func (ac AccesParticipantsimple) GetCamp() AccesCamp

func (AccesParticipantsimple) GetFacture

func (ac AccesParticipantsimple) GetFacture() (AccesFacture, bool)

func (AccesParticipantsimple) GetId

func (ac AccesParticipantsimple) GetId() rd.IId

func (AccesParticipantsimple) GetPersonne

func (ac AccesParticipantsimple) GetPersonne() AccesPersonne

func (AccesParticipantsimple) GetPresence

func (ac AccesParticipantsimple) GetPresence() rd.Plage

GetPresence renvoie la date d'arrivée et départ du participant

func (AccesParticipantsimple) HasAnniversaire

func (ac AccesParticipantsimple) HasAnniversaire() bool

HasAnniversaire renvoie `true` si le participant a son anniversaire pendant le camp.

func (AccesParticipantsimple) RawData

RawData renvoi les données sous-jacentes à l'accès.

type AccesPersonne

type AccesPersonne struct {
	Base *BaseLocale
	Id   int64
}

AccesPersonne est un pointeur sur l'objet Personne d'id donné.

func (AccesPersonne) AsItem

func (ac AccesPersonne) AsItem(pertinence float64) rd.Item

La couleur du text interpole de vert à rouge, en fonction de la `pertinence`.

func (AccesPersonne) CoordonneesDons

func (ac AccesPersonne) CoordonneesDons() rd.Coordonnees

CoordonneesDons renvoie les coordonnées de la personne

func (AccesPersonne) GetDocuments

func (AccesPersonne) HasDocument

func (ac AccesPersonne) HasDocument(cache LiensPersonneDocuments, categorie rd.BuiltinContrainte) bool

HasDocument renvoie `true` si la personne possède un document dans la catégorie donnée.

func (AccesPersonne) IsSB

IsSB renvoie `true` si la personne a un document dans la catégorie SB.

func (AccesPersonne) RawData

func (ac AccesPersonne) RawData() rd.Personne

RawData renvoi les données sous-jacentes à l'accès.

type AccesSondage

type AccesSondage struct {
	Base *BaseLocale
	Id   int64
}

AccesSondage est un pointeur sur l'objet Sondage d'id donné.

func (AccesSondage) RawData

func (ac AccesSondage) RawData() rd.Sondage

RawData renvoi les données sous-jacentes à l'accès.

type AccesStructureaide

type AccesStructureaide struct {
	Base *BaseLocale
	Id   int64
}

AccesStructureaide est un pointeur sur l'objet Structureaide d'id donné.

func (AccesStructureaide) AsItem

func (ac AccesStructureaide) AsItem() rd.Item

func (AccesStructureaide) RawData

func (ac AccesStructureaide) RawData() rd.Structureaide

RawData renvoi les données sous-jacentes à l'accès.

type BaseHash

type BaseHash map[string]map[int64]uint32

BaseHash stores, for each table (links included), a hash of each item (identified by id)

func NewBaseHash

func NewBaseHash(headerJSON []byte, compressed []byte) (BaseHash, error)

NewBaseHash décompresse les hashs, reçus au format renvoyé par `Compress`.

func (BaseHash) Compare

func (current BaseHash) Compare(incomming BaseHash) HashDiff

Compare compare le hash envoyé par le serveur à celui présent en local.

func (BaseHash) Compress

func (b BaseHash) Compress() (headerJSON []byte, bin []byte, err error)

Compress écrit les hash sous forme binaire, compact. Le header renvoyé est nécessaire pour décrypter les données binaires.

type BaseLocale

type BaseLocale struct {
	Personnes          rd.Personnes
	Camps              rd.Camps
	Groupes            rd.Groupes
	Sondages           rd.Sondages
	Participants       rd.Participants
	Equipiers          rd.Equipiers
	Participantsimples rd.Participantsimples
	Structureaides     rd.Structureaides
	Aides              rd.Aides
	Organismes         rd.Organismes
	Dons               rd.Dons
	Contraintes        rd.Contraintes
	Documents          rd.Documents
	Paiements          rd.Paiements
	Factures           rd.Factures
	Messages           rd.Messages

	rd.Links
}

BaseLocale stocke en mémoire vive toutes les informations nécessaires, sous forme brute.

func DecompressUnMarshalBaseLocale

func DecompressUnMarshalBaseLocale(in io.Reader) (BaseLocale, error)

func GetBase

func GetBase(dev bool) *BaseLocale

GetBase renvoie la base de developpement distante. Utile pour des tests

func GetLocalDBDev

func GetLocalDBDev() *BaseLocale

GetLocalDBDev renvoie la base locale. A utiliser depuis le dossier principal

func LoadRemoteBaseLocale

func LoadRemoteBaseLocale(db rd.DB) (base *BaseLocale, err error)

func LoadRemoteBaseLocalePartiel

func LoadRemoteBaseLocalePartiel(db rd.DB, items map[string][]int64) (base *BaseLocale, err error)

func NewBaseLocale

func NewBaseLocale() BaseLocale

NewBaseLocale initialise les maps.

func UnMarshalBaseLocale

func UnMarshalBaseLocale(in io.Reader) (BaseLocale, error)

func (*BaseLocale) ApplyCreateDon

func (b *BaseLocale) ApplyCreateDon(out apiserver.CreateDonIn)

func (*BaseLocale) ApplyCreateParticipant

func (b *BaseLocale) ApplyCreateParticipant(out apiserver.CreateParticipantOut)

func (*BaseLocale) ApplyEditMessage

func (b *BaseLocale) ApplyEditMessage(out apiserver.EditMessageOut)

func (*BaseLocale) ApplyFusionneFactures

func (b *BaseLocale) ApplyFusionneFactures(out apiserver.FusionneFacturesOut)

func (*BaseLocale) ApplyIdentifie

func (b *BaseLocale) ApplyIdentifie(out apiserver.IdentifiePersonneOut)

func (*BaseLocale) ApplyIdentifieDon

func (b *BaseLocale) ApplyIdentifieDon(out apiserver.IdentifieDonOut)

func (*BaseLocale) ChercheSimilaires

func (b *BaseLocale) ChercheSimilaires(in matching.PatternsSimilarite) rd.Table

ChercheSimilaires applique la recherche de similarité sur toutes la base

func (*BaseLocale) CleanupDocuments

func (b *BaseLocale) CleanupDocuments(ids rd.Ids)

CleanupDocuments enlève les documents et leurs liens

func (*BaseLocale) CleanupParticipant

func (b *BaseLocale) CleanupParticipant(out apiserver.DeleteParticipantOut)

func (*BaseLocale) DeleteFacture

func (b *BaseLocale) DeleteFacture(id int64)

DeleteFacture supprime aussi les messages associés

func (*BaseLocale) GetAllDocuments

func (b *BaseLocale) GetAllDocuments(forAide bool) rd.Table

func (*BaseLocale) GetCamps

func (b *BaseLocale) GetCamps(onlyOpen bool, isTerminated rd.OptionnalBool) (out []AccesCamp)

GetCamps renvoie une liste des camps. `is_terminated` vaut -1,0 ou 1 pour Non, Ignoré, Oui respectivement. Si `only_open` est true, les camps non ouverts aux inscriptions ne sont pas sélectionnés. Les camps sont triés par date de début.

func (*BaseLocale) GetFacturesSendDocuments

func (b *BaseLocale) GetFacturesSendDocuments(idCamp int64) rd.Set

GetFacturesSendDocuments renvoie les dossiers ayant déjà reçu un message 'Document' pour le séjour donné.

func (BaseLocale) GetPayeursBanques

func (b BaseLocale) GetPayeursBanques() (payeurs []string, banques []string)

func (*BaseLocale) GetRawPersonnes

func (b *BaseLocale) GetRawPersonnes() []rd.Personne

func (BaseLocale) Hash

func (base BaseLocale) Hash() (BaseHash, error)

func (*BaseLocale) IdAsFacture

func (b *BaseLocale) IdAsFacture(id rd.IId) (AccesFacture, bool)

GetFacture renvoie la facture associé au participant ou au dossier Renvoie `false` sinon

func (*BaseLocale) IsEquipierAlreadyHere

func (b *BaseLocale) IsEquipierAlreadyHere(equipier rd.Equipier) bool

IsEquipierAlreadyHere vérifie si le potentiel équipier n'est pas déjà présent dans le camp.

func (*BaseLocale) IsParticipantAlreadyHere

func (b *BaseLocale) IsParticipantAlreadyHere(idPersonne, idCamp int64) bool

IsParticipantAlreadyHere vérifie si le potentiel participant n'est pas déjà présent dans le camp.

func (*BaseLocale) IsParticipantsimpleAlreadyHere

func (b *BaseLocale) IsParticipantsimpleAlreadyHere(idPersonne, idCamp int64) bool

IsParticipantsimpleAlreadyHere vérifie si le potentiel participant n'est pas déjà présent dans le camp.

func (*BaseLocale) MarshalCompress

func (b *BaseLocale) MarshalCompress(out io.Writer) error

MarshalCompress marshal et compresse, sans indentation

func (*BaseLocale) MergeFrom

func (base *BaseLocale) MergeFrom(incomming BaseLocale, toDelete map[string][]int64)

func (*BaseLocale) NewAide

func (b *BaseLocale) NewAide(id int64) AccesAide

func (*BaseLocale) NewCacheEtatFinancier

func (b *BaseLocale) NewCacheEtatFinancier() CacheEtatFinancier

NewCacheEtatFinancier parcourts les tables des aides, paiements et participants

func (*BaseLocale) NewCamp

func (b *BaseLocale) NewCamp(id int64) AccesCamp

func (*BaseLocale) NewContrainte

func (b *BaseLocale) NewContrainte(id int64) AccesContrainte

func (*BaseLocale) NewDocument

func (b *BaseLocale) NewDocument(id int64) AccesDocument

func (*BaseLocale) NewDocumentPersonne

func (b *BaseLocale) NewDocumentPersonne(id int64) AccesDocumentPersonne

func (*BaseLocale) NewDon

func (b *BaseLocale) NewDon(id int64) AccesDon

func (*BaseLocale) NewEquipier

func (b *BaseLocale) NewEquipier(id int64) AccesEquipier

func (*BaseLocale) NewFacture

func (b *BaseLocale) NewFacture(id int64) AccesFacture

func (*BaseLocale) NewGroupe

func (b *BaseLocale) NewGroupe(id int64) AccesGroupe

func (*BaseLocale) NewMessage

func (b *BaseLocale) NewMessage(id int64) AccesMessage

func (*BaseLocale) NewOrganisme

func (b *BaseLocale) NewOrganisme(id int64) AccesOrganisme

func (*BaseLocale) NewPaiement

func (b *BaseLocale) NewPaiement(id int64) AccesPaiement

func (*BaseLocale) NewParticipant

func (b *BaseLocale) NewParticipant(id int64) AccesParticipant

func (*BaseLocale) NewParticipantsimple

func (b *BaseLocale) NewParticipantsimple(id int64) AccesParticipantsimple

func (*BaseLocale) NewPersonne

func (b *BaseLocale) NewPersonne(id int64) AccesPersonne

func (*BaseLocale) NewSondage

func (b *BaseLocale) NewSondage(id int64) AccesSondage

func (*BaseLocale) NewStructureaide

func (b *BaseLocale) NewStructureaide(id int64) AccesStructureaide
func (b *BaseLocale) ProcessRawLinks(rl RawLinks)

func (*BaseLocale) RechercheRapideAides

func (b *BaseLocale) RechercheRapideAides(pattern string) (out rd.Table)

func (*BaseLocale) RechercheRapideCamps

func (b *BaseLocale) RechercheRapideCamps(pattern string) (out rd.Table)

func (*BaseLocale) RechercheRapideFactures

func (b *BaseLocale) RechercheRapideFactures(pattern string) (out rd.Table)

func (*BaseLocale) RechercheRapideGroupes

func (b *BaseLocale) RechercheRapideGroupes(pattern string) (out rd.Table)

func (*BaseLocale) RechercheRapideParticipants

func (b *BaseLocale) RechercheRapideParticipants(pattern string) (out rd.Table)

RechercheRapideParticipants ignore les équipiers et les participants simples

func (*BaseLocale) RechercheRapidePersonnes

func (b *BaseLocale) RechercheRapidePersonnes(withOrganismes bool, pattern string) (out rd.Table)

func (*BaseLocale) RechercheRapideStructureaides

func (b *BaseLocale) RechercheRapideStructureaides(pattern string) rd.Table

func (*BaseLocale) ResoudAides

func (b *BaseLocale) ResoudAides() LiensParticipantAides

ResoudAides parcourt la table des aides et renvois les associations participant -> aides

func (*BaseLocale) ResoudDocumentsAides

func (b *BaseLocale) ResoudDocumentsAides() LiensAideDocuments

ResoudDocuments renvois les documents pour les personnes

func (*BaseLocale) ResoudDocumentsPersonnes

func (b *BaseLocale) ResoudDocumentsPersonnes() LiensPersonneDocuments

ResoudDocuments renvois les documents pour les personnes

func (*BaseLocale) ResoudEquipiers

func (b *BaseLocale) ResoudEquipiers() LiensCampEquipiers

ResoudEquipiers parcourt la table des equipiers et renvois les associations camp -> inscrits

func (*BaseLocale) ResoudMessages

func (b *BaseLocale) ResoudMessages() LiensFactureMessages

func (*BaseLocale) ResoudOrganismes

func (b *BaseLocale) ResoudOrganismes() CacheContacts

func (*BaseLocale) ResoudPaiements

func (b *BaseLocale) ResoudPaiements() LiensFacturePaiements

ResoudAides parcourt la table des paiements et renvois les associations facture -> paiements

func (*BaseLocale) ResoudParticipants

func (b *BaseLocale) ResoudParticipants() (LiensFactureParticipants, LiensCampParticipants)

ResoudParticipants parcourt la table des participants et renvois les associations facture -> participants, camp -> inscrits

func (*BaseLocale) ResoudParticipantsimples

func (b *BaseLocale) ResoudParticipantsimples() LiensCampParticipantsimples

ResoudParticipantsimples parcourt la table des participants simples et renvois les associations camp -> inscrits

func (*BaseLocale) SuiviFinancier

func (b *BaseLocale) SuiviFinancier(camp AccesCamp) (rd.Table, rd.Euros, rd.Euros)

SuiviFinancier renvoie une liste de participants avec les infos financières. Renvoie aussi le total demandé et le total des aides extérieures Les aides et paiements invalides sont ignorés.

type BilanFacture

type BilanFacture struct {
	Paiements    []rd.Paiement
	Participants []AccesParticipant
	Demande      rd.Euros // montant demandé final (après déduction des paiements déjà effectués)
	Recu         rd.Euros // somme des paiements reçus
}

BilanFacture résume l'état d'une facture. (il peut être utilisé pour éviter de répéter les mêmes calculs )

func (BilanFacture) ApresPaiement

func (b BilanFacture) ApresPaiement() rd.Euros

func (BilanFacture) IsAcquitte

func (b BilanFacture) IsAcquitte() bool

func (BilanFacture) IsExactAcquitte

func (b BilanFacture) IsExactAcquitte() bool

func (BilanFacture) StatutPaiement

func (b BilanFacture) StatutPaiement() rd.Completion

type BilanPrixCamp

type BilanPrixCamp = composites.BilanPrixCamp

type CacheContacts

type CacheContacts map[int64][]rd.Organisme // id personnes -> structures contacts

type CacheEtatFinancier

type CacheEtatFinancier struct {
	PAides        LiensParticipantAides
	FPaiements    LiensFacturePaiements
	FParticipants LiensFactureParticipants
}

type ContenuAttestation

type ContenuAttestation struct {
	Distribution rd.Distribution `json:"distribution"`
}

type ContenuDocument

type ContenuDocument rd.MessageDocument

type ContenuPerso

type ContenuPerso string

type ContenuPlaceLiberee

type ContenuPlaceLiberee rd.MessagePlacelibere

type ContenuSondage

type ContenuSondage rd.MessageSondage

type Critere

type Critere struct {
	Field   rd.Field
	Reverse bool
}

type CriteresTri

type CriteresTri struct {
	Fields []Critere
	// contains filtered or unexported fields
}

func (CriteresTri) AddCritere

func (c CriteresTri) AddCritere(field rd.Field, reverse bool) CriteresTri

AddCritere renvoie la valeur mise à jour

type EtatDossier

type EtatDossier struct {
	// contains filtered or unexported fields
}

EtatDossier stocke les informations nécessaires à l'etablissement de l'état d'un dossier

func (EtatDossier) Info

func (e EtatDossier) Info() string

Info aggrège les messages envoyés par le responsable

func (EtatDossier) InscriptionDateHeure

func (e EtatDossier) InscriptionDateHeure() rd.Time

func (EtatDossier) IsFactureRappel

func (e EtatDossier) IsFactureRappel(mFac PseudoMessage) bool

func (EtatDossier) LastModified

func (e EtatDossier) LastModified() rd.Time

LastModified renvoie le moment de la dernière action (visible) effectuée sur le dossier

func (EtatDossier) PseudoMessages

func (e EtatDossier) PseudoMessages(pov PointOfView) []PseudoMessage

PseudoMessages expose les actions du dossier, du plus ancien au plus récent.

type HashDiff

type HashDiff struct {
	Modified map[string][]int64
	Deleted  map[string][]int64
}

HashDiff stocke les éléments qui ont changé sur le serveur:

  • les éléments nouveaux ou modifiés
  • les éléments supprimés

func (HashDiff) Total

func (h HashDiff) Total() (int, int)

Total renvoie le nombre de modifications et de suppressions, cumulé sur toutes les tables.

type Inscrit

type Inscrit interface {
	Participant
	GetId() rd.IId
	GetFacture() (AccesFacture, bool)
}

type LiensAideDocuments

type LiensAideDocuments liens

type LiensCampEquipiers

type LiensCampEquipiers liens

type LiensCampParticipants

type LiensCampParticipants = rd.LiensCampParticipants

type LiensCampParticipantsimples

type LiensCampParticipantsimples liens

type LiensFactureMessages

type LiensFactureMessages liens

type LiensFacturePaiements

type LiensFacturePaiements liens

type LiensFactureParticipants

type LiensFactureParticipants = rd.LiensFactureParticipants

type LiensParticipantAides

type LiensParticipantAides liens

type LiensPersonneDocuments

type LiensPersonneDocuments liens

type MessageContenu

type MessageContenu interface {
	// contains filtered or unexported methods
}

MessageContenu spécialise le contenu d'un message

type OptionExport

type OptionExport int
const (
	PubEte OptionExport = iota
	PubHiver
	EchoRocher
)
const (
	MembresTriAlphabetique OptionExport = iota
	MembresTriCotisation
)

type OptionsRecuFiscal

type OptionsRecuFiscal struct {
	Annee  int
	ReEmet bool // accepte les dons déjà émis en reçu fiscaux
}

OptionsRecuFiscal implémente l'émission de reçus fiscaux, partagée entre le client et le serveur.

func (OptionsRecuFiscal) Select

func (o OptionsRecuFiscal) Select(dons rd.Dons, liens map[int64]rd.DonDonateur) (r RecusFiscaux)

Select aggrège les dons et renvoie aussi le nombre de dons annonymes, et de dons annonymes de type HelloAsso Les dons collectifs sont ignorés.

type Participant

type Participant interface {
	Personne
	GetCamp() AccesCamp
}

type Personne

type Personne interface {
	GetPersonne() AccesPersonne
}

type PersonneOrganisme

type PersonneOrganisme interface {
	// CoordonneesDons renvoie les coordonnées utilisées
	// pour un don.
	CoordonneesDons() rd.Coordonnees
}

PersonneOrganisme regroupe les éléments affichés dans la liste des personnes : personne ou organisme

type PointOfView

type PointOfView uint8
const (
	POVCentre PointOfView = iota
	POVResponsable
)

func (PointOfView) IsDeletable

func (p PointOfView) IsDeletable(kind rd.MessageKind) bool

func (PointOfView) IsEditable

func (p PointOfView) IsEditable(kind rd.MessageKind) bool

func (PointOfView) IsViewable

func (p PointOfView) IsViewable(kind rd.MessageKind) bool

func (PointOfView) MessageLabel

func (p PointOfView) MessageLabel(kind rd.MessageKind) string

MessageLabel précise le titre d'un message libre

type PseudoMessage

type PseudoMessage struct {
	Id        int64 `json:"id"` // message ou paiement
	IdFacture int64 `json:"id_facture"`

	Label       string      `json:"label"`
	Color       rd.HexColor `json:"color"`
	Created     rd.Time     `json:"created"`
	Modified    rd.Time     `json:"modified"`
	Vu          bool        `json:"vu"`
	IsViewable  bool        `json:"is_viewable"`
	IsEditable  bool        `json:"is_editable"`
	IsDeletable bool        `json:"is_deletable"`

	Kind    rd.MessageKind `json:"kind"`
	Contenu MessageContenu `json:"contenu"`
}

PseudoMessage expose un évènement (message ou paiement)

func NewPseudoMessage

func NewPseudoMessage(message rd.Message, pov PointOfView, contenu MessageContenu) PseudoMessage

NewPseudoMessage permet de construire un pseudo message sans base locale.

func (PseudoMessage) LastEvent

func (ps PseudoMessage) LastEvent() time.Time

LastEvent renvoie la dernière modification (au sens large)

type RawLinks struct {
	GroupeParticipants   rd.GroupeParticipants
	GroupeEquipiers      rd.GroupeEquipiers
	ParticipantEquipiers rd.ParticipantEquipiers
	DonDonateurs         rd.DonDonateurs
	EquipierContraintes  rd.EquipierContraintes
	CampContraintes      rd.CampContraintes
	GroupeContraintes    rd.GroupeContraintes
	DocumentCamps        rd.DocumentCamps
	DocumentPersonnes    rd.DocumentPersonnes
	DocumentAides        rd.DocumentAides
	MessageDocuments     rd.MessageDocuments
	MessageSondages      rd.MessageSondages
	MessagePlaceliberes  rd.MessagePlaceliberes
	MessageAttestations  rd.MessageAttestations
	MessageMessages      rd.MessageMessages
}

type RecuFiscal

type RecuFiscal struct {
	// Montant total
	Montant rd.Euros
	// Dans le cas de plusieurs dons, le mode est un des modes utilisés
	Mode rd.ModePaiment
	// Dans le cas de plusieurs dons, la date la plus récente est utilisée
	Date time.Time
}

type RecusFiscaux

type RecusFiscaux struct {
	Recus      map[int64]RecuFiscal
	IdsDons    rd.Ids
	NbAnnonyme int
}

type StatsCamp

type StatsCamp struct {
	Inscrits, Attente, Equipe, PlacesRestantes, PlacesReservees, Garcons, Filles int
}

StatsCamp décrit le nombre de personnes dans différentes catégories.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL