# COPR Ligenix's spec file for glpi-plugin-fields
#
# Copyright (c) 2023-2024 Jean-Marc Liger
#
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global pluginname fields
%global glpi_min   10.0.0
%global glpi_max   10.1.0

Name:           glpi-plugin-%{pluginname}
Version:        1.21.15
Release:        1%{?dist}
Summary:        GLPI Plugin to add custom fields
Summary(fr):    Extension GLPI pour ajouter des champs personnalisés

License:        GPLv2
URL:            https://github.com/pluginsGLPI/%{pluginname}

Source0:        https://github.com/pluginsGLPI/%{pluginname}/releases/download/%{version}/glpi-%{pluginname}-%{version}.tar.bz2

BuildArch:      noarch

%if 0%{?fedora} || 0%{?rhel} >= 8
Requires:      (glpi >= %{glpi_min} with glpi < %{glpi_max})
%else
Requires:       glpi >= %{glpi_min}
Requires:       glpi <  %{glpi_max}
%endif


%description
The fields plugin allows you to add custom fields on GLPI types : tickets, computers, users…

Addionnal data can be added :
- In object tab
- In main form of object (above save button)
- In form of a tab (Warning, this feature is experimental)

Possible fields type are :
- Header (title bloc)
- Text (single line)
- Text (multiple lines)
- Number
- Dropdown (always a tree dropdown)
- Yes / No
- Date
- Date / Hour
- Glpi User list


%description -l fr
Cette extension permet d’ajouter des champs personnalisés sur les différents objets gérés par GLPI :
tickets, ordinateurs, utilisateurs...

Les données supplémentaires peuvent être ajoutées :
- Dans un onglet de l'objet
- Dans le formulaire principal de l'objet (au dessus du bouton sauvegarder)
- Dans le formulaire d'un onglet existant (attention, cette fonctionnalité est expérimental)

Les types de champs possibles sont :
- Entête (bloc de titre)
- Texte (ligne simple)
- Texte (ligne multiples)
- Nombre
- Liste déroulante (intitulés, forcement un arbre)
- Oui / Non
- Date
- Date / Heure
- liste d'utilisateurs de GLPI


%prep
%setup -q -c

grep "define('PLUGIN_FIELDS_M.._GLPI" %{pluginname}/setup.php
 
# remove unused files
rm %{pluginname}/.php-cs-fixer.php
rm %{pluginname}/{.phpcs,plugin}.xml
rm %{pluginname}/phpstan.neon
rm %{pluginname}/composer.json

# move doc files
mkdir docs
mv %{pluginname}/docs docs/
mv %{pluginname}/*.md docs/

# Create link to LICENSE for standard doc folder
ln -s %{_datadir}/glpi/plugins/%{pluginname}/LICENSE LICENSE


%build
# empty build


%install
mkdir -p %{buildroot}%{_localstatedir}/lib/glpi/files/_plugins/%{pluginname}

mkdir -p %{buildroot}/%{_datadir}/glpi/plugins
cp -ar %{pluginname} %{buildroot}/%{_datadir}/glpi/plugins/%{pluginname}

for i in %{buildroot}/%{_datadir}/glpi/plugins/%{pluginname}/locales/*
do
  lang=$(basename $i)
  echo "%lang(${lang:0:2}) %{_datadir}/glpi/plugins/%{pluginname}/locales/${lang}"
done | tee %{name}.lang


%files -f %{name}.lang
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc docs/*
%dir %{_datadir}/glpi/plugins/%{pluginname}
%dir %{_datadir}/glpi/plugins/%{pluginname}/locales
# LICENSE file required by installation process
%{_datadir}/glpi/plugins/%{pluginname}/LICENSE
%{_datadir}/glpi/plugins/%{pluginname}/*.php
%{_datadir}/glpi/plugins/%{pluginname}/ajax
%{_datadir}/glpi/plugins/%{pluginname}/css
%{_datadir}/glpi/plugins/%{pluginname}/front
%{_datadir}/glpi/plugins/%{pluginname}/inc
%{_datadir}/glpi/plugins/%{pluginname}/js
%{_datadir}/glpi/plugins/%{pluginname}/lib
%{_datadir}/glpi/plugins/%{pluginname}/pics
%{_datadir}/glpi/plugins/%{pluginname}/templates
%{_datadir}/glpi/plugins/%{pluginname}/vendor
# data
%attr(750,apache,root) %{_localstatedir}/lib/glpi/files/_plugins/%{pluginname}


%changelog
* Mon Oct 14 2024 Jean-Marc Liger <ligenix@iscp.fr> - 1.21.15-1
- Version 1.21.15

* Mon Mar 18 2024 Jean-Marc Liger <ligenix@iscp.fr> - 1.21.8-1
- Version 1.21.8

* Fri Oct 20 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.21.6-1
- Version 1.21.6

* Mon Oct 09 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.21.5-1
- Version 1.21.5

* Fri Sep 22 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.21.4-1
- Version 1.21.4

* Tue Sep 05 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.21.1-1
- Version 1.21.1

* Thu Aug 10 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.21.0-1
- Version 1.21.0

* Fri Jul 21 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.20.7-1
- Version 1.20.7

* Fri May 26 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.20.6-1
- Version 1.20.6

* Wed May 03 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.20.5-1
- Version 1.20.5 for GLPI 10.0.x

* Wed May 03 2023 Jean-Marc Liger <ligenix@iscp.fr> - 1.13.1-1
- Version 1.13.1 for GLPI 9.5.x
- Initial RPM based on Remi Collet previous GLPI plugins spec files