Documentation ¶
Overview ¶
Ce package expose l'objet de contrôle abstrait, responsable du lancement, du chargement de la base, et du lien entre les interfaces. Il est destiné à ettayer une application graphique.
Index ¶
- Constants
- Variables
- func HasId(l rd.Table, id rd.IId) bool
- func JobCreeAide(aide rd.Aide) (rd.Aide, error)
- func LoadMiniatures(idDocs rd.Ids) (map[int64][]byte, error)
- func RemoveItem(l rd.Table, index int) rd.Table
- func ToIds(l rd.Table) rd.Ids
- type Aides
- func (c *Aides) CreeAide(aide rd.Aide)
- func (c *Aides) CreeStructureaide(strucAide rd.Structureaide) (dm.AccesStructureaide, bool)
- func (c *Aides) ExportAides() string
- func (c *Aides) GetStats() []Stat
- func (c Aides) Main() *MainController
- func (c *Aides) Reset()
- func (c *Aides) ResetRender()
- func (c *Aides) SelectAide(aide dm.AccesAide)
- func (c *Aides) SideButtons() ButtonsAides
- func (c *Aides) SupprimeAide(idAide int64)
- func (c *Aides) SupprimeAideCourante()
- func (c *Aides) SupprimeStructureaide(idStructure int64) bool
- func (c *Aides) UpdateAide(aide rd.Aide)
- func (c *Aides) UpdateStructureaide(structAide rd.Structureaide)
- type Background
- type ButtonsAides
- type ButtonsCamps
- type ButtonsDons
- type ButtonsEquipiers
- type ButtonsInscriptions
- type ButtonsPaiements
- type ButtonsPersonnes
- type ButtonsSuiviCamps
- type ButtonsSuiviDossiers
- type CacheGroupes
- type Camps
- func (c *Camps) ChangeCamp(idCamp int64)
- func (c *Camps) CheckListeAttentes() (inscrits, attentes []DiagnosticListeAttente)
- func (c *Camps) CreeParticipant(participant rd.Participant)
- func (c *Camps) CreeParticipantsimple(participant rd.Participantsimple)
- func (c *Camps) ExportParticipants(bus rd.Bus, triGroupe, showAttente bool) (filepath string)
- func (c *Camps) ExportSuiviFinancier(camp int64) string
- func (c *Camps) GetStats() (out []Stat)
- func (c Camps) Main() *MainController
- func (c *Camps) MoveToInscrits(id rd.IId)
- func (c *Camps) Reset()
- func (c *Camps) ResetRender()
- func (c *Camps) SelectCamp(camp int64)
- func (c *Camps) SelectParticipant(part dm.Inscrit)
- func (c *Camps) SideButtons() ButtonsCamps
- func (c *Camps) SupprimeParticipant(part dm.AccesParticipant, synchrone bool)
- func (c *Camps) SupprimeParticipantCourant()
- func (c *Camps) UpdateCamp(camp rd.Camp)
- func (c *Camps) UpdateParticipant(part rd.Participant) *dm.AccesParticipant
- func (c *Camps) UpdateParticipantsimple(part rd.Participantsimple) *dm.AccesParticipantsimple
- type ChoixEnvoi
- type CritereAttente
- type CritereRecherche
- type CriteresRechercheDonateur
- type CriteresRechercheParticipant
- type CriteresRecherchePersonne
- type DiagnosticListeAttente
- type DocumentCamp
- type Dons
- func (c *Dons) ChargeDonsHelloasso() DonsImported
- func (c *Dons) CreeDon(don apiserver.CreateDonIn)
- func (c *Dons) EditeRecusFiscaux(params dm.OptionsRecuFiscal) string
- func (c *Dons) ExporteListe(avecCoordonnees bool) string
- func (c *Dons) GetStats() []Stat
- func (c *Dons) IdentifieDonHelloasso(don apiserver.DonDonateur, target matching.IdentifieTarget)
- func (c Dons) Main() *MainController
- func (c *Dons) PossibleYears() []int
- func (c *Dons) Reset()
- func (c *Dons) ResetRender()
- func (c *Dons) SideButtons() ButtonsDons
- func (c *Dons) SupprimeDon()
- func (c *Dons) UpdateDon(don apiserver.CreateDonIn)
- type DonsImported
- type DossierError
- type DynamicDocument
- type Equipiers
- func (c *Equipiers) CreateEquipier(equipier rd.Equipier) bool
- func (c *Equipiers) ExportEquipiers() string
- func (c *Equipiers) GetStats() []Stat
- func (c *Equipiers) IdentifieTmp(target matching.IdentifieTarget)
- func (c Equipiers) Main() *MainController
- func (c *Equipiers) Reset()
- func (c *Equipiers) ResetRender()
- func (c *Equipiers) SideButtons() ButtonsEquipiers
- func (c *Equipiers) SupprimeEquipier()
- func (c *Equipiers) UpdateEquipier(equipier rd.Equipier)
- type EtatAides
- type EtatCamps
- type EtatDons
- type EtatEquipiers
- type EtatInscriptions
- type EtatPaiements
- type EtatPersonnes
- type EtatSideButton
- type EtatSuiviCamps
- type EtatSuiviDossiers
- type GUIMonitor
- type Inscriptions
- func (c *Inscriptions) AsAcces(id rd.IId) dm.Personne
- func (c *Inscriptions) CurrentInfo() string
- func (c *Inscriptions) GetStats() []Stat
- func (c *Inscriptions) Identifie(target matching.IdentifieTarget)
- func (c *Inscriptions) LoadLogInscriptions() rd.Inscriptions
- func (c Inscriptions) Main() *MainController
- func (c *Inscriptions) RejouerInscription(insc rd.Inscription) bool
- func (c *Inscriptions) Reset()
- func (c *Inscriptions) ResetRender()
- func (c *Inscriptions) SideButtons() ButtonsInscriptions
- func (c *Inscriptions) SupprimeInscription()
- func (c *Inscriptions) Valide()
- type Launcher
- type LoadMode
- type MainApp
- type MainController
- func (c MainController) CheckPassword(userId int64, password string) (*rd.Modules, error)
- func (c *MainController) CheckUpdate(monitor monFunc) (restartNeeded bool, err error)
- func (c *MainController) CreeUploadDocument(docPath string, doc rd.Document, target rd.TargetDocument, monitor func(uint8))
- func (c *MainController) DownloadDocument(idDoc int64, monitor func(uint8)) string
- func (m *MainController) GenereExportDocument(meta documents.DynamicDocument) string
- func (c *MainController) InitControllers(modules rd.Modules)
- func (c *MainController) LoadBaseFromDisk() error
- func (c *MainController) LoadBaseFromServer(progressMonitor func(i uint8))
- func (c *MainController) LoadPartialBaseFromServer(progressMonitor func(i uint8))
- func (c MainController) LogsJoomeo() logs.Joomeo
- func (c *MainController) NotifieDirecteur(to, html string)
- func (c *MainController) ResetAllControllers()
- func (c MainController) Restart() error
- func (c *MainController) SaveFile(doc []byte, filename string) string
- func (c *MainController) StartLoggin(l Launcher) (rd.Modules, LoadMode)
- func (c *MainController) SupprimeDocument(id int64)
- func (c *MainController) UpdateDocument(doc rd.Document) *rd.Document
- func (c *MainController) UploadDocument(docPath string, idDoc int64, monitor func(uint8)) *rd.Document
- type ModeExport
- type OngletAides
- type OngletCamps
- type OngletDons
- type OngletEquipiers
- type OngletInscriptions
- type OngletPaiements
- type OngletPersonnes
- type OngletSuiviCamps
- type OngletSuiviDossiers
- type Paiements
- func (c *Paiements) CreePaiement(paiement rd.Paiement)
- func (c *Paiements) ExportPaiements(ids []int64) string
- func (c *Paiements) IdentifieVirement(label int) (dm.AccesFacture, bool)
- func (c Paiements) Main() *MainController
- func (c *Paiements) Reset()
- func (c *Paiements) ResetRender()
- func (c *Paiements) SelectPaiement(id int64)
- func (c *Paiements) SideButtons() ButtonsPaiements
- func (c *Paiements) SupprimePaiement()
- func (c *Paiements) UpdatePaiement(paiement rd.Paiement)
- type ParamsNewDocument
- type Personnes
- func (c *Personnes) AjouteOrganismesToListe()
- func (c *Personnes) AjouteToListe(personnes rd.Table)
- func (c *Personnes) CreeOrganisme(org rd.Organisme)
- func (c *Personnes) CreePersonne(pers rd.Personne)
- func (c *Personnes) EffaceListe()
- func (c *Personnes) ExportAndSave(mode ModeExport, option dm.OptionExport) string
- func (c *Personnes) GetHistorique(idPersonne int64) rd.Table
- func (c *Personnes) GetParentsEnfants(id rd.IdPersonne) (parents []dm.AccesPersonne, enfants []dm.AccesPersonne)
- func (c *Personnes) GetStats() []Stat
- func (c Personnes) Main() *MainController
- func (c *Personnes) RechercheDonateursByCriteres(cd CriteresRechercheDonateur) []dm.AccesPersonne
- func (c *Personnes) RecherchePersonnesByCriteres(criteres CritereRecherche) rd.Table
- func (c *Personnes) Reset()
- func (c *Personnes) ResetRender()
- func (c *Personnes) SelectPersonne(item dm.PersonneOrganisme)
- func (c *Personnes) SideButtons() ButtonsPersonnes
- func (c *Personnes) SupprimeItem()
- func (c *Personnes) UpdateOrganisme(org rd.Organisme)
- func (c *Personnes) UpdatePersonne(pers rd.Personne)
- func (c *Personnes) ValideExport(mode ModeExport, option dm.OptionExport) (out rd.Table, invalides int)
- type PseudoMessage
- type QueryParams
- type RegisteredDocument
- type SendDocumentsSignals
- type SendMessagesSignals
- type SendSondagesSignals
- type SequentialBackground
- type ServerURL
- type Stat
- type SuiviCamps
- func (c *SuiviCamps) AjouteDirecteur(camp dm.AccesCamp, idDirecteur int64)
- func (c *SuiviCamps) AjouteDirecteurJoomeo(albums map[string]joomeo.Album)
- func (c *SuiviCamps) BilansFinanciers(camps []int64) map[int64]rd.Item
- func (c SuiviCamps) CalculeNuitees(camp dm.AccesCamp) (nbEnfants, nbAdultes int)
- func (c *SuiviCamps) CloseJoomeoApi()
- func (c *SuiviCamps) CreeCamp(params apiserver.CreateCampIn)
- func (c *SuiviCamps) ExportBilanCamps(bilan map[int64]rd.Item) string
- func (c *SuiviCamps) ExportSuiviFinancierParticipants(camp dm.AccesCamp) string
- func (c *SuiviCamps) GetAlbumsContactsJoomeo() ([]rd.ItemChilds, map[string]joomeo.Album, map[string]joomeo.Contact)
- func (c *SuiviCamps) ImportCampFrom() apiserver.CreateCampIn
- func (c *SuiviCamps) LienInscription(idCamp int64) string
- func (c SuiviCamps) Main() *MainController
- func (c *SuiviCamps) RemoveAlbumJoomeo()
- func (c *SuiviCamps) Reset()
- func (c *SuiviCamps) ResetRender()
- func (c *SuiviCamps) SelectFacturesByCamp(idCamp int64) rd.Ids
- func (c *SuiviCamps) SetupAlbumJoomeo(albumId string)
- func (c *SuiviCamps) SideButtons() ButtonsSuiviCamps
- func (c *SuiviCamps) SupprimeCamp()
- func (c *SuiviCamps) UpdateCamp(camp rd.Camp)
- func (s *SuiviCamps) UrlSondages() string
- type SuiviDossiers
- func (c *SuiviDossiers) AjouteAide(aide rd.Aide) *rd.Aide
- func (c *SuiviDossiers) AjoutePaiement(paiement rd.Paiement)
- func (c *SuiviDossiers) AjouteParticipant(participant dm.AccesParticipant) *dm.AccesParticipant
- func (c *SuiviDossiers) CreateMessageResponsable(content rd.String, idRespo int64, imported importmail.Mail)
- func (c *SuiviDossiers) CreeFacture(idResponsable int64, participants rd.Table)
- func (c *SuiviDossiers) EditMessageCentre(idMessages rd.Ids, contenu rd.String)
- func (c *SuiviDossiers) EnvoiAccuseReception(fac dm.AccesFacture)
- func (c *SuiviDossiers) EnvoiAttestationPresence(fac dm.AccesFacture)
- func (c *SuiviDossiers) EnvoiDocumentsCamp(campId int64, idsDossiers rd.Ids, monitor SendDocumentsSignals) (facErrors []DossierError, err error)
- func (c *SuiviDossiers) EnvoiFacture(fac dm.AccesFacture)
- func (c *SuiviDossiers) EnvoiFactureAcquittee(fac dm.AccesFacture)
- func (c *SuiviDossiers) EnvoiManyMessages(contenu rd.String, idsDossiers rd.Ids, monitor SendMessagesSignals) ([]DossierError, error)
- func (c *SuiviDossiers) EnvoiMessageCentre(fac dm.AccesFacture, contenu rd.String)
- func (c *SuiviDossiers) EnvoiPlaceLiberee(fac dm.AccesFacture, idParticipant int64, newStatut rd.StatutAttente)
- func (c *SuiviDossiers) EnvoiSondages(campId int64, idsDossiers rd.Ids, monitor SendSondagesSignals) (facErrors []DossierError, err error)
- func (c *SuiviDossiers) FusionneDossiers(params apiserver.FusionneFacturesIn)
- func (c *SuiviDossiers) HasNotifications() bool
- func (c *SuiviDossiers) ImportMail(source string) (importmail.Mail, rd.OptionnalId, error)
- func (c SuiviDossiers) Main() *MainController
- func (ct *SuiviDossiers) NewCacheGroupes() CacheGroupes
- func (c *SuiviDossiers) Notifications() ([]dm.AccesAide, []dm.AccesFacture)
- func (c *SuiviDossiers) OnSuccesNotifieDocuments(out apiserver.NotifieDocumentsOut)
- func (c *SuiviDossiers) OnSuccesNotifieMessage(out apiserver.NotifieManyOut)
- func (c *SuiviDossiers) OnSuccesNotifieSondages(out apiserver.NotifieSondagesOut)
- func (c *SuiviDossiers) RenderAttestation() string
- func (c *SuiviDossiers) Reset()
- func (c *SuiviDossiers) ResetRender()
- func (c *SuiviDossiers) RetireParticipant(participant dm.AccesParticipant, supprime bool)
- func (c *SuiviDossiers) SelectFacture(fac dm.AccesFacture)
- func (c *SuiviDossiers) SelectionneFacturesDocuments(idCamp int64, resend bool) rd.Ids
- func (c *SuiviDossiers) SideButtons() ButtonsSuiviDossiers
- func (c *SuiviDossiers) SupprimeAide(aide int64)
- func (c *SuiviDossiers) SupprimeFacture()
- func (c *SuiviDossiers) SupprimeMessages(idMessages rd.Ids)
- func (c *SuiviDossiers) ToggleMessageVu(idMessage int64, vu bool)
- func (c *SuiviDossiers) UpdateAide(aide rd.Aide)
- func (c *SuiviDossiers) UpdateFacture(fac rd.Facture) *rd.Facture
- func (c *SuiviDossiers) UpdateParticipant(participant rd.Participant)
Constants ¶
const ( DonsCourants = "courants" DonsTous = "tous" DonsAnnee = "annee" )
const ( HistoriqueCamp rd.Field = iota HistoriqueAnnee HistoriqueRole )
const ( RoleEquipe = "_E" RoleInscrit = "_I" RoleAttente = "_A" LienResposEtParticipants = "part_resp" // participants + respos LienRespos = "resp" // respos uniquement )
const ( // Relative path to local folder. May be used for temporary documents. LocalFolder = "local/" LogginSettingsPath = LocalFolder + "init.json" BasePath = LocalFolder + "DB.json" )
const ( ButtonActivated = EtatSideButton(2) ButtonPresent = EtatSideButton(1) )
const (
EndpointInscription = "/inscription/"
)
Variables ¶
var ( HeadersPUBLIPOSTAGE = []rd.Header{ {Label: "Num Client"}, {Field: dm.PersonneSexe, Label: "Civilité"}, {Field: dm.PersonneNom, Label: "nom"}, {Field: dm.PersonnePrenom, Label: "Prénom"}, {Label: "Société"}, {Field: publiAdresse, Label: "Adresse 1"}, {Field: publiAdresse + 1, Label: "Adresse 2"}, {Field: publiAdresse + 2, Label: "Adresse 3"}, {Field: dm.PersonneCodePostal, Label: "Code postal"}, {Field: dm.PersonneVille, Label: "Ville"}, {Field: publiNbExemplaires, Label: "Nombre d'exemplaires"}, {Field: dm.PersonnePays, Label: "Pays"}, {Label: "Message 1"}, {Label: "Message 2"}, } HeadersMAILCHIMP = rd.HeadersMails HeadersMAILS = []rd.Header{ {}, } HeadersPORTABLES = []rd.Header{ {}, } HeadersCOTISATIONS = []rd.Header{ {Field: 1, Label: "Personne"}, {Field: 2, Label: "Membre ?"}, } )
var HeaderDonImported = []rd.Header{ {Field: dm.DonDonateur, Label: "Donateur"}, {Field: dm.DonDateReception, Label: "Effectué le"}, {Field: dm.DonValeur, Label: "Montant"}, {Field: dm.LastField + 1, Label: "ID HelloAsso"}, }
var (
HeadersBilanFinancier = []rd.Header{
{Field: bfNom, Label: "Camp"},
{Field: bfDirecteur, Label: "Directeur"},
{Field: bfLieu, Label: "Lieu"},
{Field: bfDuree, Label: "Durée (jours)"},
{Field: bfAnimation, Label: "Animateurs"},
{Field: bfTechnique, Label: "Equipe technique"},
{Field: bfInscrits, Label: "Inscrits"},
{Field: bfPrixBase, Label: "Prix (sans option)"},
{Field: bfRemisesSpeciales, Label: "Réductions spéciales"},
{Field: bfRemisesPourcent, Label: "Réductions équipiers / enfants"},
{Field: bfTotalAides, Label: "Aides extérieures (CAFs, CE, etc...)"},
{Field: bfTotalDemande, Label: "Montant demandé"},
{Field: bfTotal, Label: "Budget total"},
}
)
var HeadersResponsables = []rd.Header{ {Field: dm.ParticipantRespoNom, Label: "Nom"}, {Field: dm.ParticipantRespoPrenom, Label: "Prénom"}, {Field: dm.ParticipantRespoMail, Label: "Mail"}, {Field: dm.ParticipantRespoTelsLines, Label: "Téléphones"}, {Field: dm.ParticipantRespoAdresse, Label: "Adresse"}, {Field: dm.ParticipantRespoCodePostal, Label: "Code postal"}, {Field: dm.ParticipantRespoVille, Label: "Ville"}, }
Functions ¶
func JobCreeAide ¶
JobCreeAide demande au serveur l'ajout de l'aide. Peut être utilisé de manière synchrone. Sinon, préférer `CreeAide`
func LoadMiniatures ¶
LoadMiniatures demande au serveur les miniatures associés aux ids fournis. Devrait être utilisée dans une goroutine.
Types ¶
type Aides ¶
type Aides struct { Onglet OngletAides Liste rd.Table Header []rd.Header Base *dm.BaseLocale Etat EtatAides EditRight bool // Droit d'édition/ajout/suppression // contains filtered or unexported fields }
func NewAides ¶
func NewAides(main *MainController, permission int) *Aides
func (*Aides) CreeStructureaide ¶
func (c *Aides) CreeStructureaide(strucAide rd.Structureaide) (dm.AccesStructureaide, bool)
CreeStructureaide crée une nouvelle structure sur le serveur, SYNCHRONE
func (*Aides) ExportAides ¶
func (*Aides) Reset ¶
func (c *Aides) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*Aides) ResetRender ¶
func (c *Aides) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*Aides) SelectAide ¶
SelectAide sélectionne l'aide donnée, en remettant à zéro la recherche si nécessaire.
func (*Aides) SideButtons ¶
func (c *Aides) SideButtons() ButtonsAides
func (*Aides) SupprimeAide ¶
SupprimeAide supprime l'aide de manière asynchrone, sans confirmation
func (*Aides) SupprimeAideCourante ¶
func (c *Aides) SupprimeAideCourante()
SupprimeAideCourante supprime l'aide courante, après confirmation
func (*Aides) SupprimeStructureaide ¶
SupprimeStructureaide supprime la structure, après confirmation
func (*Aides) UpdateAide ¶
UpdateAide met à jour de manière synchrone l'aide transmise sur le serveur
func (*Aides) UpdateStructureaide ¶
func (c *Aides) UpdateStructureaide(structAide rd.Structureaide)
UpdateStructureaide met à jour la structure transmise sur le serveur
type Background ¶
type Background interface {
Run(job func() (interface{}, error), onSuccess func(_out interface{}))
}
Background offre un thread d'éxécution en arrière plan. `Run` doit afficher un message d'erreur si une tâche est déjà en cours. `job` est effectué dans un thread séparé, `onSuccess` dans le thread principal. Si `job` renvoie une erreur non nil, elle est affichée. Sinon, la valeur de retour de `job` est passée en argument à `onSuccess`
type ButtonsAides ¶
type ButtonsAides struct {
Creer, AfficherStructures, Supprimer, Documents, Exporter EtatSideButton
}
type ButtonsCamps ¶
type ButtonsCamps struct {
CreerParticipant, SupprimerParticipant, ChangerParticipant, VerifieAttente, ExporterParticipants EtatSideButton
}
type ButtonsDons ¶
type ButtonsDons struct {
Creer, Supprimer, EditerRecus, ExporterListe, ImportHelloasso EtatSideButton
}
type ButtonsEquipiers ¶
type ButtonsEquipiers struct {
Creer, Supprimer, Exporter EtatSideButton
}
type ButtonsInscriptions ¶
type ButtonsInscriptions struct {
Supprimer, Valider, LoadLog EtatSideButton
}
type ButtonsPaiements ¶
type ButtonsPaiements struct {
Cree, Supprimer, ExportBordereau EtatSideButton
}
type ButtonsPersonnes ¶
type ButtonsPersonnes struct {
Creer, AfficherCriteres, AfficherDocuments, Supprimer EtatSideButton
}
type ButtonsSuiviCamps ¶
type ButtonsSuiviCamps struct {
Creer, Supprimer, AfficherJoomeo, BilanFinancier, LienSondages EtatSideButton
}
type ButtonsSuiviDossiers ¶
type ButtonsSuiviDossiers struct {
Creer, Supprimer, EnvoiDocuments, Alertes EtatSideButton
}
type CacheGroupes ¶
func (CacheGroupes) PromoteMessages ¶
func (c CacheGroupes) PromoteMessages(messages []dm.PseudoMessage) []PseudoMessage
type Camps ¶
type Camps struct { Onglet OngletCamps ListeCamps rd.Table ListeInscrits rd.Table ListeAttente rd.Table HeaderInscrits []rd.Header HeaderAttente []rd.Header Base *dm.BaseLocale Etat EtatCamps // Droit d'édition/ajout participant, // Droit de modification partielle des infos du camp ParticipantsRight, CampsRight bool // contains filtered or unexported fields }
func NewCamps ¶
func NewCamps(main *MainController, permission int) *Camps
func (*Camps) ChangeCamp ¶
ChangeCamp effectue les vérifications puis change le participant courant de camp, de manière SYNCHRONE.
func (*Camps) CheckListeAttentes ¶
func (c *Camps) CheckListeAttentes() (inscrits, attentes []DiagnosticListeAttente)
CheckListeAttentes compare les listes d'attentes réelles avec celles calculées automatiquement et émet un diagnostic en camp de différence :
- optionnel, pour les participants déjà en liste principal
- impératif, pour les participants encore en liste d'attente
func (*Camps) CreeParticipant ¶
func (c *Camps) CreeParticipant(participant rd.Participant)
CreeParticipant ajoute le participant donné, après vérification
func (*Camps) CreeParticipantsimple ¶
func (c *Camps) CreeParticipantsimple(participant rd.Participantsimple)
CreeParticipantsimple ajoute un participant au camp donné.
func (*Camps) ExportParticipants ¶
func (*Camps) ExportSuiviFinancier ¶
func (*Camps) MoveToInscrits ¶
MoveToInscrits effectue les vérifications, puis demande propose d'envoyer un mail de notification. La rotation `_attente` -> `_attente_reponse` -> `_campeur` est appliquée. Si `notifie` vaut `false` ou si le participant n'a pas de dossier, le rôle `_attente_reponse` est sauté. La participant peut être placé manuellement en `_attente_reponse` sans envoyer de mail en modifiant son rôle directement.
func (*Camps) Reset ¶
func (c *Camps) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*Camps) ResetRender ¶
func (c *Camps) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*Camps) SelectCamp ¶
SelectCamp sélectionne le camp donné
func (*Camps) SelectParticipant ¶
SelectParticipant sélectionne le participant donné, en changeant le camp courant si nécessaire.
func (*Camps) SideButtons ¶
func (c *Camps) SideButtons() ButtonsCamps
func (*Camps) SupprimeParticipant ¶
func (c *Camps) SupprimeParticipant(part dm.AccesParticipant, synchrone bool)
SupprimeParticipant demande la suppression au serveur, après avoir averti l'utilisateur. Effectue un reset général.
func (*Camps) SupprimeParticipantCourant ¶
func (c *Camps) SupprimeParticipantCourant()
func (*Camps) UpdateCamp ¶
UpdateCamp met à jour le profil transmis sur le serveur
func (*Camps) UpdateParticipant ¶
func (c *Camps) UpdateParticipant(part rd.Participant) *dm.AccesParticipant
UpdateParticipant met à jour de profil transmis sur le serveur, de manière SYNCHRONE. Gère l'erreur et la modification de la base locale.
func (*Camps) UpdateParticipantsimple ¶
func (c *Camps) UpdateParticipantsimple(part rd.Participantsimple) *dm.AccesParticipantsimple
UpdateParticipantsimple met à jour de profil transmis sur le serveur, de manière SYNCHRONE. Gère l'erreur et la modification de la base locale.
type CritereAttente ¶
type CritereAttente string
const ( Indifferent CritereAttente = "" // n'affiche pas les dossiers uniquement composé d'inscrits MasquerNoAttente CritereAttente = "need_attente" // n'affiche pas les dossiers uniquement composé d'attentes MasquerOnlyAttente CritereAttente = "need_inscrit" )
type CritereRecherche ¶
type CritereRecherche struct { Personne CriteresRecherchePersonne Participant CriteresRechercheParticipant }
type CriteresRechercheDonateur ¶
type CriteresRechercheDonateur struct { AnneeDon int IsRemercie rd.OptionnalBool }
type CriteresRecherchePersonne ¶
type CriteresRecherchePersonne struct { Age *[2]int // min max Departement rd.Departement MembreAsso rd.RangMembreAsso EchoRocher rd.OptionnalBool Eonews rd.OptionnalBool PubEte rd.OptionnalBool PubHiver rd.OptionnalBool VersionPapier rd.OptionnalBool HasDocument rd.BuiltinContrainte }
CriteresRecherchePersonne représente une recherche détaillée Un critère zero est ignoré
type DiagnosticListeAttente ¶
type DiagnosticListeAttente struct { Participant dm.AccesParticipant Hint rd.StatutAttente }
type DocumentCamp ¶
type DocumentCamp interface { FileName() string // contains filtered or unexported methods }
DocumentCamp est soit `DynamicDocument` soit `RegisteredDocument`
func GetDocuments ¶
func GetDocuments(ac dm.AccesCamp) (out []DocumentCamp)
GetDocuments renvoie les metas de chaque document disponible. Si plusieurs lettres sont présentes dans la base, elles sont toutes renvoyées. Renvois systématiquement les pièces jointes additionnelles. L'attribut `Locked` est ignoré
type Dons ¶
type Dons struct { Onglet OngletDons Liste rd.Table Header []rd.Header Base *dm.BaseLocale Etat EtatDons EditRight bool // Droit d'ajout/edition/suppression // contains filtered or unexported fields }
func NewDons ¶
func NewDons(main *MainController, permission int) *Dons
func (*Dons) ChargeDonsHelloasso ¶
func (c *Dons) ChargeDonsHelloasso() DonsImported
ChargeDonsHelloasso charge et renvoie les dons de l'API HelloAsso.
func (*Dons) CreeDon ¶
func (c *Dons) CreeDon(don apiserver.CreateDonIn)
CreeDon enregistre le nouveau don sur le serveur
func (*Dons) EditeRecusFiscaux ¶
func (c *Dons) EditeRecusFiscaux(params dm.OptionsRecuFiscal) string
EditeRecusFiscaux lance l'édition des reçus fiscaux et des étiquettes, de manière SYNCHRONE.
func (*Dons) ExporteListe ¶
ExporteListe enregistre la liste courante des dons au format Excel, et renvoie le chemin du document.
func (*Dons) GetStats ¶
GetStats renvoi le total des dons, pour les personnes et pour les organismes pour le critère courant.
func (*Dons) IdentifieDonHelloasso ¶
func (c *Dons) IdentifieDonHelloasso(don apiserver.DonDonateur, target matching.IdentifieTarget)
IdentifieDonHelloasso crée un nouveau don et identifie son donateur, en créant si demandé un nouveau profil, de manière asynchrone.
func (*Dons) PossibleYears ¶
func (*Dons) Reset ¶
func (c *Dons) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*Dons) ResetRender ¶
func (c *Dons) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*Dons) SideButtons ¶
func (c *Dons) SideButtons() ButtonsDons
func (*Dons) SupprimeDon ¶
func (c *Dons) SupprimeDon()
SupprimeDon supprime le don courant, sans demander de confirmation
func (*Dons) UpdateDon ¶
func (c *Dons) UpdateDon(don apiserver.CreateDonIn)
UpdateDon met à jour les profils transmis sur le serveur
type DonsImported ¶
type DonsImported []apiserver.DonDonateur
func (DonsImported) Table ¶
func (ds DonsImported) Table() rd.Table
type DossierError ¶
type DossierError struct {
Fac, Err string
}
DossierError résume l'erreur rencontrée pendant l'envoi de messages
type DynamicDocument ¶
type DynamicDocument struct {
documents.DynamicDocument
}
type Equipiers ¶
type Equipiers struct { Onglet OngletEquipiers Liste rd.Table Header []rd.Header Base *dm.BaseLocale Etat EtatEquipiers EditRight bool // Droit de modification et de validation // contains filtered or unexported fields }
Equipiers permet de valider les équipiers temporaires, et d'accéder aux renseignements administratifs. Les documents sont accessibles via l'Onglet Personnes. Les documents temporaires ne sont pas accessibles directement.
func NewEquipiers ¶
func NewEquipiers(main *MainController, permission int) *Equipiers
func (*Equipiers) CreateEquipier ¶
CreateEquipier crée un nouvel `equipier`, ayant des champs idPersonne et idCamp valides Renvoie `true` si la modification a été lancée
func (*Equipiers) ExportEquipiers ¶
ExportEquipiers génère la liste des équpiers courant au format excel et renvoi le chemin du fichier créé.
func (*Equipiers) IdentifieTmp ¶
func (c *Equipiers) IdentifieTmp(target matching.IdentifieTarget)
IdentifieTmp identifie l'équipier courant avec la personne fournie. Si `cree` vaut `true`, la personne est créée.
func (Equipiers) Main ¶
func (c Equipiers) Main() *MainController
Main expose le controller principal
func (*Equipiers) Reset ¶
func (c *Equipiers) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*Equipiers) ResetRender ¶
func (c *Equipiers) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*Equipiers) SideButtons ¶
func (c *Equipiers) SideButtons() ButtonsEquipiers
func (*Equipiers) SupprimeEquipier ¶
func (c *Equipiers) SupprimeEquipier()
SupprimePersonne supprime l'équipier courant. S'il est temporaire, la personne et les documents liés sont aussi supprimés.
func (*Equipiers) UpdateEquipier ¶
UpdateEquipier met à jour le profil transmis sur le serveur. La modification des champs de la personne se fait via l'onglet "Personnes"
type EtatAides ¶
type EtatAides struct { AideCurrent rd.IId Recherche string CritereCamp rd.OptionnalId CritereValide rd.OptionnalBool }
type EtatDons ¶
type EtatDons struct { DonCurrent rd.IId Recherche string CritereEmis rd.OptionnalBool CritereAnnee int // Sélection du donateur // Oui: uniquement organismes, Non: uniquement personne, Indiff: tous CritereOrganismes rd.OptionnalBool }
type EtatEquipiers ¶
type EtatInscriptions ¶
type EtatPaiements ¶
type EtatPaiements struct { PaiementCurrent rd.IId CriterePaiementValide rd.OptionnalBool CriterePaiementBordereau rd.Time CriterePaiementFacture rd.OptionnalId CritereFactureCamp rd.IId CritereFactureAcquittee rd.OptionnalBool }
type EtatPersonnes ¶
type EtatPersonnes struct { ItemCurrent rd.IId // personne ou organisme Recherche string CriteresTri dm.CriteresTri CritereShowTemporaire rd.Bool CritereShowOrganismes rd.OptionnalBool // oui = orga seul, non = personnes seul, indif = tous }
type EtatSideButton ¶
type EtatSideButton int
EtatSideButton vaut 0 pour absent, 1 pour désactivé, 2 pour activé
type EtatSuiviCamps ¶
type EtatSuiviCamps struct { CampCurrent rd.IId CritereIgnoreClosed bool // seulement camps ouverts CritereTerminated rd.OptionnalBool // non terminés, les deux, terminés) }
type EtatSuiviDossiers ¶
type EtatSuiviDossiers struct { FactureCurrent rd.IId // uniquement dossier MessageCurrent rd.OptionnalId // message affiché Recherche string CriteresTri dm.CriteresTri CritereCamp rd.OptionnalId CritereAcquite rd.Completion CritereAttente CritereAttente }
type GUIMonitor ¶
type Inscriptions ¶
type Inscriptions struct { Onglet OngletInscriptions Liste []rd.ItemChilds Header []rd.Header Base *dm.BaseLocale Etat EtatInscriptions EditRight bool // Droit de modification et de validation, droit de "dé-validation" // contains filtered or unexported fields }
Inscriptions permet de valider les nouvelles inscriptions.
func NewInscriptions ¶
func NewInscriptions(main *MainController, permission int) *Inscriptions
func (*Inscriptions) AsAcces ¶
func (c *Inscriptions) AsAcces(id rd.IId) dm.Personne
AsAcces construit un accès à partir de `id` (participant, participantsimple ou facture)
func (*Inscriptions) CurrentInfo ¶
func (c *Inscriptions) CurrentInfo() string
CurrentInfo renvoie le message (éventuel) de l'inscription courante
func (*Inscriptions) GetStats ¶
func (c *Inscriptions) GetStats() []Stat
GetStats renvoi les statistiques courantes
func (*Inscriptions) Identifie ¶
func (c *Inscriptions) Identifie(target matching.IdentifieTarget)
Identifie identifie l'inscription courante contre la personne donnée.
func (*Inscriptions) LoadLogInscriptions ¶
func (c *Inscriptions) LoadLogInscriptions() rd.Inscriptions
func (Inscriptions) Main ¶
func (c Inscriptions) Main() *MainController
Main expose le controller principal
func (*Inscriptions) RejouerInscription ¶
func (c *Inscriptions) RejouerInscription(insc rd.Inscription) bool
RejouerInscription envoie une requête sur l'url d'inscription publique La base locale doit être raffraichie pour prendre en compte le résultat
func (*Inscriptions) Reset ¶
func (c *Inscriptions) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*Inscriptions) ResetRender ¶
func (c *Inscriptions) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*Inscriptions) SideButtons ¶
func (c *Inscriptions) SideButtons() ButtonsInscriptions
func (*Inscriptions) SupprimeInscription ¶
func (c *Inscriptions) SupprimeInscription()
SupprimeInscription supprime le groupe d'inscription courante après confirmation
func (*Inscriptions) Valide ¶
func (c *Inscriptions) Valide()
Valide valide le groupe d'inscription courant, de manière synchrone, puis propose l'envoi d'un accusé de réception.
type Launcher ¶
type Launcher interface { ShowError(err error) InitRessources() ShowUpdate(controller *MainController) LoadMode ShowChangelog() InitLoggin(controller *MainController) ShowLogginError(cause string) (loadLocal bool) // empty keep means quit SetUsersAndChoose([]rd.ClientUser, map[int64]string) (userId int64, password string, mods *rd.Modules, keep LoadMode) }
type MainApp ¶
type MainApp interface {
MonitorLoadDB(c *MainController)
}
type MainController ¶
type MainController struct { Controllers controllerPool Base *dm.BaseLocale ShowError func(err error) // Has to be thread safe ShowStandard func(msg string, wait bool) Background Background // contains filtered or unexported fields }
func (MainController) CheckPassword ¶
CheckPassword renvoie true si le mot de passe est bon. Le cas échéant, la partie graphique peut se lancer, puis charger la base de données.
func (*MainController) CheckUpdate ¶
func (c *MainController) CheckUpdate(monitor monFunc) (restartNeeded bool, err error)
CheckUpdate implémente un système d'auto-update
func (*MainController) CreeUploadDocument ¶
func (c *MainController) CreeUploadDocument(docPath string, doc rd.Document, target rd.TargetDocument, monitor func(uint8))
func (*MainController) DownloadDocument ¶
func (c *MainController) DownloadDocument(idDoc int64, monitor func(uint8)) string
DownloadDocument télécharge un document depuis la base de données, l'enregistre dans le dossier "local" et renvoie le chemin.
func (*MainController) GenereExportDocument ¶
func (m *MainController) GenereExportDocument(meta documents.DynamicDocument) string
GenereExportDocument génère la facture au format .pdf, l'enregistre dans local, et renvoie le chemin. Les aides et paiements invalides ne sont pas affichés.
func (*MainController) InitControllers ¶
func (c *MainController) InitControllers(modules rd.Modules)
func (*MainController) LoadBaseFromDisk ¶
func (c *MainController) LoadBaseFromDisk() error
LoadBaseFromDisk charge et décode la sauvegarde du disque, au format .json Le pointer `Base` est mis à jour. En cas d'erreur, les dictionnaires de la base sont quand même initialisés.
func (*MainController) LoadBaseFromServer ¶
func (c *MainController) LoadBaseFromServer(progressMonitor func(i uint8))
LoadBaseFromServer requiert la base local sur le serveur, au format .json.gz La réponse est décompressée et décodée. Met à jour les controllers et enregistre sur le disque en cas de succès.
func (*MainController) LoadPartialBaseFromServer ¶
func (c *MainController) LoadPartialBaseFromServer(progressMonitor func(i uint8))
LoadPartialBaseFromServer demande le hash de la base au serveur, le compare avec la base courante, et télécharge les différences, Met à jour les controllers et enregistre sur le disque en cas de succès.
func (MainController) LogsJoomeo ¶
func (c MainController) LogsJoomeo() logs.Joomeo
func (*MainController) NotifieDirecteur ¶
func (c *MainController) NotifieDirecteur(to, html string)
NotifieDirecteur envoie un mail (asynchrone)
func (*MainController) ResetAllControllers ¶
func (c *MainController) ResetAllControllers()
func (MainController) Restart ¶
func (c MainController) Restart() error
Restart start a new program. The main function should be quit as soon as possible. An error is returned if the launch wasn't successful
func (*MainController) SaveFile ¶
func (c *MainController) SaveFile(doc []byte, filename string) string
SaveFile enregistre un document dans le dossier "local" et renvoie le chemin. S'occupe de gérer une potentielle erreur
func (*MainController) StartLoggin ¶
func (c *MainController) StartLoggin(l Launcher) (rd.Modules, LoadMode)
StartLoggin se charge des opérations d'identification et chargement des données
func (*MainController) SupprimeDocument ¶
func (c *MainController) SupprimeDocument(id int64)
SupprimeDocument supprime le document de manière synchrone
func (*MainController) UpdateDocument ¶
func (c *MainController) UpdateDocument(doc rd.Document) *rd.Document
func (*MainController) UploadDocument ¶
type ModeExport ¶
type ModeExport int
const ( ExportDEFAULT ModeExport = iota ExportPUBLIPOSTAGE ExportMAILCHIMP ExportMAILS ExportPORTABLES ExportCOTISATIONS )
func (ModeExport) Description ¶
func (m ModeExport) Description() string
Description renvoie une explication détaillée.
type OngletAides ¶
type OngletCamps ¶
type OngletDons ¶
type OngletEquipiers ¶
type OngletInscriptions ¶
type OngletInscriptions interface { ConfirmeSupprimeDossier(facture dm.AccesFacture) bool ConfirmeValideMailInvalide(msg string) bool DemandeEnvoiAccuseReception(respo rd.Personne) ChoixEnvoi // contains filtered or unexported methods }
type OngletPaiements ¶
type OngletPersonnes ¶
type OngletPersonnes interface { ConfirmeSupprimePersonne(pers dm.AccesPersonne) bool ConfirmeSupprimeOrganisme(org dm.AccesOrganisme) bool // contains filtered or unexported methods }
type OngletSuiviCamps ¶
type OngletSuiviCamps interface { ConfirmeAjoutDirecteurJoomeo(msg string) rd.OptionnalBool // 0 : annule, Non : Confirme, Oui: Confirme + mail ConfirmeSetupAlbumJoomeo(alreadyLinked []string) bool ConfirmeSupprimeCamp(camp dm.AccesCamp) bool ProposePasswordDirecteur(camp dm.AccesCamp, password string) bool // contains filtered or unexported methods }
type OngletSuiviDossiers ¶
type OngletSuiviDossiers interface { ShowPreviewFacture(fac dm.AccesFacture) ConfirmeSupprimeFacture(html string) bool // PrevisualiseMail(mail mails.MailRenderer, pjs []mails.PieceJointe, to string) (mailHtml string) ConfirmeMail(fac dm.AccesFacture, messageKind rd.MessageKind) bool ConfirmeSupprimeMessages(nb int) bool // contains filtered or unexported methods }
type Paiements ¶
type Paiements struct { Onglet OngletPaiements ListePaiements rd.Table ListeFactures rd.Table HeaderPaiements []rd.Header HeaderFactures []rd.Header Base *dm.BaseLocale Etat EtatPaiements // Droit d'édition/ajout/suppression de paiements // Droit d'invalidation d'un paiement EditRight, InvalideRight bool // contains filtered or unexported fields }
func NewPaiements ¶
func NewPaiements(main *MainController, permission int) *Paiements
func (*Paiements) CreePaiement ¶
CreePaiement crée un nouveau paiement sur le serveur, de manière SYNCHRONE.
func (*Paiements) ExportPaiements ¶
ExportPaiements demande confirmation, puis génère une liste des paiements transmis. Lance éventuellement en arrière plan le marquage en bordereau. Renvoie le chemin du fichier créé.
func (*Paiements) IdentifieVirement ¶
func (c *Paiements) IdentifieVirement(label int) (dm.AccesFacture, bool)
IdentifieVirement décode le label donné et renvoie le dossier correspondant.
func (Paiements) Main ¶
func (c Paiements) Main() *MainController
Main expose le controller principal
func (*Paiements) Reset ¶
func (c *Paiements) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*Paiements) ResetRender ¶
func (c *Paiements) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*Paiements) SelectPaiement ¶
SelectPaiement sélectionne le paiement donné, en remettant à zéro les filtres si nécessaire.
func (*Paiements) SideButtons ¶
func (c *Paiements) SideButtons() ButtonsPaiements
func (*Paiements) SupprimePaiement ¶
func (c *Paiements) SupprimePaiement()
SupprimePaiement supprime le paiement courant, après confirmation
func (*Paiements) UpdatePaiement ¶
UpdatePaiement met à jour les paiement transmis sur le serveur
type ParamsNewDocument ¶
type ParamsNewDocument struct { Meta apiserver.CreateDocumentIn // contains filtered or unexported fields }
type Personnes ¶
type Personnes struct { Onglet OngletPersonnes Liste rd.Table Header []rd.Header Base *dm.BaseLocale Etat EtatPersonnes DeleteRight, EditRight bool // Droit de suppression, droit d'ajout/edition // contains filtered or unexported fields }
func NewPersonnes ¶
func NewPersonnes(main *MainController, permission int) *Personnes
func (*Personnes) AjouteOrganismesToListe ¶
func (c *Personnes) AjouteOrganismesToListe()
func (*Personnes) AjouteToListe ¶
AjouteToListe remet à zéro l'état et ajoute les personnes données à la liste courante.
func (*Personnes) CreeOrganisme ¶
CreeOrganisme crée un nouveau profil sur le serveur
func (*Personnes) CreePersonne ¶
CreePersonne crée un nouveau profil sur le serveur
func (*Personnes) EffaceListe ¶
func (c *Personnes) EffaceListe()
EffaceListe remet à zéro l'état et enlève toutes les personnes de la liste courante.
func (*Personnes) ExportAndSave ¶
func (c *Personnes) ExportAndSave(mode ModeExport, option dm.OptionExport) string
SaveExport enregistre l'export et renvoie le chemin.
func (*Personnes) GetHistorique ¶
GetHistorique renvoie l'historique (comme participant et équipier) de la personne donnée
func (*Personnes) GetParentsEnfants ¶
func (c *Personnes) GetParentsEnfants(id rd.IdPersonne) (parents []dm.AccesPersonne, enfants []dm.AccesPersonne)
GetParentsEnfants renvoie les liens familliaux de la personne `id`, au sens des dossiers (responsable/participants)
func (Personnes) Main ¶
func (c Personnes) Main() *MainController
Main expose le controller principal
func (*Personnes) RechercheDonateursByCriteres ¶
func (c *Personnes) RechercheDonateursByCriteres(cd CriteresRechercheDonateur) []dm.AccesPersonne
func (*Personnes) RecherchePersonnesByCriteres ¶
func (c *Personnes) RecherchePersonnesByCriteres(criteres CritereRecherche) rd.Table
RecherchePersonnesByCriteres cherche d'abord dans les participants, puis dans les respos correspondants. Si demandé, les organismes sont aussi ajoutés.
func (*Personnes) Reset ¶
func (c *Personnes) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*Personnes) ResetRender ¶
func (c *Personnes) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*Personnes) SelectPersonne ¶
func (c *Personnes) SelectPersonne(item dm.PersonneOrganisme)
SelectPersonne sélectionne la personne donnée, en remettant à zéro la recherche si nécessaire.
func (*Personnes) SideButtons ¶
func (c *Personnes) SideButtons() ButtonsPersonnes
func (*Personnes) SupprimeItem ¶
func (c *Personnes) SupprimeItem()
SupprimeItem supprime l'item courant, après vérification
func (*Personnes) UpdateOrganisme ¶
UpdateOrganisme met à jour le profil transmis sur le serveur, de manière asynchrone.
func (*Personnes) UpdatePersonne ¶
UpdatePersonne met à jour le profil transmis sur le serveur
func (*Personnes) ValideExport ¶
func (c *Personnes) ValideExport(mode ModeExport, option dm.OptionExport) (out rd.Table, invalides int)
ValideExport vérifie et nettoie la liste actuelle et la renvoie. Les organismes sont résolus, en utilisant leur contact le cas échéant. Renvoie aussi le nombre de lignes invalides.
type PseudoMessage ¶
type PseudoMessage struct { dm.PseudoMessage // Ids des messages envoyé en même temps // (ex: documents, message groupés, sondages) Groupe rd.Ids }
type QueryParams ¶
QueryParams est envoyé via l'url et non encodé en JSON
func IdAsParams ¶
func IdAsParams(id int64) QueryParams
type RegisteredDocument ¶
func (RegisteredDocument) FileName ¶
func (doc RegisteredDocument) FileName() string
type SendDocumentsSignals ¶
type SendDocumentsSignals struct { OnError func(index int, err string) OnSuccess func(index int, out apiserver.NotifieDocumentsOut) }
type SendMessagesSignals ¶
type SendMessagesSignals struct { OnError func(index int, err string) OnSuccess func(index int, out apiserver.NotifieManyOut) }
SendMessagesSignals groupe deux fonctions qui doivent émetter un signal, depuis le thread secondaire (worker) vers le thread principal.
type SendSondagesSignals ¶
type SendSondagesSignals struct { OnError func(index int, err string) OnSuccess func(index int, out apiserver.NotifieSondagesOut) }
type SequentialBackground ¶
type SequentialBackground struct {
OnError func(err error)
}
func (SequentialBackground) Run ¶
func (s SequentialBackground) Run(job func() (interface{}, error), onSuccess func(_out interface{}))
type ServerURL ¶
type ServerURL struct {
// contains filtered or unexported fields
}
func (ServerURL) EndpointURL ¶
type SuiviCamps ¶
type SuiviCamps struct { Onglet OngletSuiviCamps Liste rd.Table Header []rd.Header Base *dm.BaseLocale Etat EtatSuiviCamps EditRight bool // Droit d'édition/ajout/suppression de camps // contains filtered or unexported fields }
SuiviCamps implémente une gestion des camps comme administrateur.
func NewSuiviCamps ¶
func NewSuiviCamps(main *MainController, permission int) *SuiviCamps
func (*SuiviCamps) AjouteDirecteur ¶
func (c *SuiviCamps) AjouteDirecteur(camp dm.AccesCamp, idDirecteur int64)
AjouteDirecteur inscrit une personne avec le rôle de directeur
func (*SuiviCamps) AjouteDirecteurJoomeo ¶
func (c *SuiviCamps) AjouteDirecteurJoomeo(albums map[string]joomeo.Album)
AjouteDirecteurJoomeo ajoute le directeur du camp courant comme contact Joomeo
func (*SuiviCamps) BilansFinanciers ¶
func (c *SuiviCamps) BilansFinanciers(camps []int64) map[int64]rd.Item
func (SuiviCamps) CalculeNuitees ¶
func (c SuiviCamps) CalculeNuitees(camp dm.AccesCamp) (nbEnfants, nbAdultes int)
CalculeNuitees renvoie le nombre de nuitées pour le séjour donné, en séparant les adultes des enfants. Un séjour proposant une option journée renvoie `0` enfants
func (*SuiviCamps) CloseJoomeoApi ¶
func (c *SuiviCamps) CloseJoomeoApi()
CloseJoomeoApi termine la connexion.
func (*SuiviCamps) CreeCamp ¶
func (c *SuiviCamps) CreeCamp(params apiserver.CreateCampIn)
CreeCamp ajoute le camp sur le serveur. Le champ complément de la liste de vêtements est pré-rempli.
func (*SuiviCamps) ExportBilanCamps ¶
func (c *SuiviCamps) ExportBilanCamps(bilan map[int64]rd.Item) string
func (*SuiviCamps) ExportSuiviFinancierParticipants ¶
func (c *SuiviCamps) ExportSuiviFinancierParticipants(camp dm.AccesCamp) string
ExportSuiviFinancierParticipants génère et enregistre une liste des participants / état facture
func (*SuiviCamps) GetAlbumsContactsJoomeo ¶
func (c *SuiviCamps) GetAlbumsContactsJoomeo() ([]rd.ItemChilds, map[string]joomeo.Album, map[string]joomeo.Contact)
GetAlbumsContactsJoomeo renvoie les albums et contacts Joomeo
func (*SuiviCamps) ImportCampFrom ¶
func (c *SuiviCamps) ImportCampFrom() apiserver.CreateCampIn
ImportCamp copie les champs pertinents pour un nouveau camp, à partir du camp courant
func (*SuiviCamps) LienInscription ¶
func (c *SuiviCamps) LienInscription(idCamp int64) string
LienInscription renvoie un lien pré-selectionnant le camp sur le formulaire d'inscription.
func (SuiviCamps) Main ¶
func (c SuiviCamps) Main() *MainController
Main expose le controller principal
func (*SuiviCamps) RemoveAlbumJoomeo ¶
func (c *SuiviCamps) RemoveAlbumJoomeo()
func (*SuiviCamps) Reset ¶
func (c *SuiviCamps) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*SuiviCamps) ResetRender ¶
func (c *SuiviCamps) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*SuiviCamps) SelectFacturesByCamp ¶
func (c *SuiviCamps) SelectFacturesByCamp(idCamp int64) rd.Ids
func (*SuiviCamps) SetupAlbumJoomeo ¶
func (c *SuiviCamps) SetupAlbumJoomeo(albumId string)
SetupAlbumJoomeo attribue l'album donné au camp courant, après vérification. Synchrone
func (*SuiviCamps) SideButtons ¶
func (c *SuiviCamps) SideButtons() ButtonsSuiviCamps
func (*SuiviCamps) SupprimeCamp ¶
func (c *SuiviCamps) SupprimeCamp()
SupprimeCamp vérifie que le camp courant n'est pas utilisé et le supprime.
func (*SuiviCamps) UpdateCamp ¶
func (c *SuiviCamps) UpdateCamp(camp rd.Camp)
func (*SuiviCamps) UrlSondages ¶
func (s *SuiviCamps) UrlSondages() string
type SuiviDossiers ¶
type SuiviDossiers struct { Onglet OngletSuiviDossiers Base *dm.BaseLocale Etat EtatSuiviDossiers EditRight bool // Droit de suppression/ajout/edition Liste rd.Table Header []rd.Header // contains filtered or unexported fields }
SuiviDossiers implémentes des fonctionnalités de communication avec les familles.
func NewSuiviDossiers ¶
func NewSuiviDossiers(main *MainController, permission int) *SuiviDossiers
func (*SuiviDossiers) AjouteAide ¶
func (c *SuiviDossiers) AjouteAide(aide rd.Aide) *rd.Aide
AjouteAide est synchrone. Gère l'erreur et renvoi nil.
func (*SuiviDossiers) AjoutePaiement ¶
func (c *SuiviDossiers) AjoutePaiement(paiement rd.Paiement)
AjoutePaiement ajoute le paiement au dossier courant.
func (*SuiviDossiers) AjouteParticipant ¶
func (c *SuiviDossiers) AjouteParticipant(participant dm.AccesParticipant) *dm.AccesParticipant
AjouteParticipant ajoute le participant à la facture courante.
func (*SuiviDossiers) CreateMessageResponsable ¶
func (c *SuiviDossiers) CreateMessageResponsable(content rd.String, idRespo int64, imported importmail.Mail)
func (*SuiviDossiers) CreeFacture ¶
func (c *SuiviDossiers) CreeFacture(idResponsable int64, participants rd.Table)
func (*SuiviDossiers) EditMessageCentre ¶
func (c *SuiviDossiers) EditMessageCentre(idMessages rd.Ids, contenu rd.String)
func (*SuiviDossiers) EnvoiAccuseReception ¶
func (c *SuiviDossiers) EnvoiAccuseReception(fac dm.AccesFacture)
EnvoiAccuseReception envoie un mail de notification de manière ASYNCHRONE
func (*SuiviDossiers) EnvoiAttestationPresence ¶
func (c *SuiviDossiers) EnvoiAttestationPresence(fac dm.AccesFacture)
func (*SuiviDossiers) EnvoiDocumentsCamp ¶
func (c *SuiviDossiers) EnvoiDocumentsCamp(campId int64, idsDossiers rd.Ids, monitor SendDocumentsSignals) (facErrors []DossierError, err error)
EnvoiDocumentsCamp envois les documents du camp donné aux factures données. `onError` et `onSuccess` sont exécutées dans le même thread à la fin de chaque envoi effectué sur le serveur.
func (*SuiviDossiers) EnvoiFacture ¶
func (c *SuiviDossiers) EnvoiFacture(fac dm.AccesFacture)
func (*SuiviDossiers) EnvoiFactureAcquittee ¶
func (c *SuiviDossiers) EnvoiFactureAcquittee(fac dm.AccesFacture)
func (*SuiviDossiers) EnvoiManyMessages ¶
func (c *SuiviDossiers) EnvoiManyMessages(contenu rd.String, idsDossiers rd.Ids, monitor SendMessagesSignals) ([]DossierError, error)
EnvoiManyMessages (monitor est créé dans le thread principal)
func (*SuiviDossiers) EnvoiMessageCentre ¶
func (c *SuiviDossiers) EnvoiMessageCentre(fac dm.AccesFacture, contenu rd.String)
func (*SuiviDossiers) EnvoiPlaceLiberee ¶
func (c *SuiviDossiers) EnvoiPlaceLiberee(fac dm.AccesFacture, idParticipant int64, newStatut rd.StatutAttente)
EnvoiPlaceLiberee envoie un mail et modifie le rôle
func (*SuiviDossiers) EnvoiSondages ¶
func (c *SuiviDossiers) EnvoiSondages(campId int64, idsDossiers rd.Ids, monitor SendSondagesSignals) (facErrors []DossierError, err error)
EnvoiSondages envois les sondages du camp donné aux factures données. `onError` et `onSuccess` sont exécutées dans le même thread à la fin de chaque envoi effectué sur le serveur.
func (*SuiviDossiers) FusionneDossiers ¶
func (c *SuiviDossiers) FusionneDossiers(params apiserver.FusionneFacturesIn)
func (*SuiviDossiers) HasNotifications ¶
func (c *SuiviDossiers) HasNotifications() bool
func (*SuiviDossiers) ImportMail ¶
func (c *SuiviDossiers) ImportMail(source string) (importmail.Mail, rd.OptionnalId, error)
ImportMail extrait de la source du mail un Message L'expéditeur détermine le dossier
func (SuiviDossiers) Main ¶
func (c SuiviDossiers) Main() *MainController
Main expose le controller principal
func (*SuiviDossiers) NewCacheGroupes ¶
func (ct *SuiviDossiers) NewCacheGroupes() CacheGroupes
func (*SuiviDossiers) Notifications ¶
func (c *SuiviDossiers) Notifications() ([]dm.AccesAide, []dm.AccesFacture)
Notifications renvoie les messages non lus et les aides déclarées sur les espaces persos.
func (*SuiviDossiers) OnSuccesNotifieDocuments ¶
func (c *SuiviDossiers) OnSuccesNotifieDocuments(out apiserver.NotifieDocumentsOut)
func (*SuiviDossiers) OnSuccesNotifieMessage ¶
func (c *SuiviDossiers) OnSuccesNotifieMessage(out apiserver.NotifieManyOut)
func (*SuiviDossiers) OnSuccesNotifieSondages ¶
func (c *SuiviDossiers) OnSuccesNotifieSondages(out apiserver.NotifieSondagesOut)
func (*SuiviDossiers) RenderAttestation ¶
func (c *SuiviDossiers) RenderAttestation() string
func (*SuiviDossiers) Reset ¶
func (c *SuiviDossiers) Reset()
Reset met à jour les données internes en s'appuyant sur l'état, puis appelle Onglet.render pour synchroniser l'affichage graphique
func (*SuiviDossiers) ResetRender ¶
func (c *SuiviDossiers) ResetRender()
ResetRender rafraichit l'affichage, sans rafraichir les données internes
func (*SuiviDossiers) RetireParticipant ¶
func (c *SuiviDossiers) RetireParticipant(participant dm.AccesParticipant, supprime bool)
RetireParticipant enlève le participant donné de la facture courante, de manière SYNCHRONE. Si `supprime` vaut true, le participant est supprimé.
func (*SuiviDossiers) SelectFacture ¶
func (c *SuiviDossiers) SelectFacture(fac dm.AccesFacture)
SelectFacture sélectionne la facture donnée. Si nécessaire, remet à zéro les critères.
func (*SuiviDossiers) SelectionneFacturesDocuments ¶
func (c *SuiviDossiers) SelectionneFacturesDocuments(idCamp int64, resend bool) rd.Ids
SelectionneFacturesDocuments sélectionne automatiquement les dossiers concernés.
func (*SuiviDossiers) SideButtons ¶
func (c *SuiviDossiers) SideButtons() ButtonsSuiviDossiers
func (*SuiviDossiers) SupprimeAide ¶
func (c *SuiviDossiers) SupprimeAide(aide int64)
SupprimeAide est asynchrone
func (*SuiviDossiers) SupprimeFacture ¶
func (c *SuiviDossiers) SupprimeFacture()
SupprimeFacture supprime la facture courante sur le serveur, après confirmation.
func (*SuiviDossiers) SupprimeMessages ¶
func (c *SuiviDossiers) SupprimeMessages(idMessages rd.Ids)
func (*SuiviDossiers) ToggleMessageVu ¶
func (c *SuiviDossiers) ToggleMessageVu(idMessage int64, vu bool)
func (*SuiviDossiers) UpdateAide ¶
func (c *SuiviDossiers) UpdateAide(aide rd.Aide)
UpdateAide est synchrone
func (*SuiviDossiers) UpdateFacture ¶
func (c *SuiviDossiers) UpdateFacture(fac rd.Facture) *rd.Facture
UpdateFacture met à jour de manière synchrone la facture donnée.
func (*SuiviDossiers) UpdateParticipant ¶
func (c *SuiviDossiers) UpdateParticipant(participant rd.Participant)
UpdateParticipant est synchrone
Source Files ¶
- cont_aides.go
- cont_camps.go
- cont_dons.go
- cont_equipiers.go
- cont_inscriptions.go
- cont_paiements.go
- cont_personnes.go
- cont_personnes_export.go
- cont_suivi_camps.go
- cont_suivi_dossiers.go
- cont_suivi_dossiers_taches.go
- main.go
- main_documents.go
- main_loggin.go
- main_update.go
- requests.go
- resets.go
- shared.go
- threads.go