Merge branch 'dev' into 2752-entry_import_buys
gitea/salix/pipeline/head This commit looks good Details

This commit is contained in:
Joan Sanchez 2021-03-10 09:54:14 +00:00
commit b39ec70a2c
39 changed files with 1350 additions and 168 deletions

View File

@ -1,3 +1,4 @@
INSERT INTO `salix`.`ACL` (`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`)
VALUES
('StarredModule', '*', '*', 'ALLOW', 'ROLE', 'employee');
('StarredModule', '*', '*', 'ALLOW', 'ROLE', 'employee'),
('ItemBotanical', '*', 'WRITE', 'ALLOW', 'ROLE', 'logisticBoss');

View File

@ -0,0 +1 @@
Delete me

View File

@ -0,0 +1,4 @@
INSERT INTO `salix`.`ACL` (`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`)
VALUES
('Genus', '*', 'WRITE', 'ALLOW', 'ROLE', 'logisticBoss'),
('Specie', '*', 'WRITE', 'ALLOW', 'ROLE', 'logisticBoss');

View File

@ -1064,25 +1064,25 @@ INSERT INTO `vn`.`ticketCollection` (`ticketFk`, `collectionFk`, `level`)
VALUES
(1, 1, 1);
INSERT INTO `edi`.`genus`(`genus_id`, `latin_genus_name`, `entry_date`, `expiry_date`, `change_date_time`)
INSERT INTO `vn`.`genus`(`id`, `name`)
VALUES
(1, 'Abelia' , CURDATE(), NULL, CURDATE()),
(2, 'Abies', CURDATE(), NULL, CURDATE()),
(3, 'Abutilon', CURDATE(), NULL, CURDATE());
(1, 'Abelia'),
(2, 'Abies'),
(3, 'Abutilon');
INSERT INTO `edi`.`specie`(`specie_id`, `genus_id`, `latin_species_name`, `entry_date`, `expiry_date`, `change_date_time`)
INSERT INTO `vn`.`specie`(`id`, `name`)
VALUES
(1, 1, 'grandiflora', CURDATE(), NULL, CURDATE()),
(2, 2, 'procera', CURDATE(), NULL, CURDATE()),
(3, 3, 'decurrens', CURDATE(), NULL, CURDATE()),
(4, 3, 'dealbata', CURDATE(), NULL, CURDATE());
(1, 'grandiflora'),
(2, 'procera'),
(3, 'decurrens'),
(4, 'dealbata');
INSERT INTO `vn`.`itemBotanical`(`itemFk`, `botanical`, `genusFk`, `specieFk`)
INSERT INTO `vn`.`itemBotanical`(`itemFk`, `genusFk`, `specieFk`)
VALUES
(1, 'Hedera helix', 1, 1),
(2, NULL, 2, 2),
(3, 'Cycas revoluta', 2, NULL),
(4, 'Polygonum', NULL, NULL);
(1, 1, 1),
(2, 2, 2),
(3, 2, NULL),
(4, NULL, NULL);
INSERT INTO `vn`.`tag`(`id`, `code`, `name`, `isFree`, `isQuantitatif`, `sourceTable`, `unit`, `ediTypeFk`, `overwrite`)
VALUES
@ -1233,11 +1233,18 @@ INSERT INTO `vn`.`annualAverageInvoiced`(`clientFk`, `invoiced`)
(104, 500),
(105, 5000);
INSERT INTO `vn`.`supplier`(`id`, `name`, `nickname`,`account`,`countryFk`,`nif`,`isFarmer`,`commission`, `created`, `isActive`, `street`, `city`, `provinceFk`, `postCode`, `payMethodFk`, `payDemFk`, `payDay`, `taxTypeSageFk`, `withholdingSageFk`, `transactionTypeSageFk`, `workerFk`)
INSERT INTO `vn`.`supplierActivity`(`code`, `name`)
VALUES
(1, 'Plants SL', 'Plants nick', 4100000001, 1, '06089160W', 0, 0, CURDATE(), 1, 'supplier address 1', 'PONTEVEDRA', 1, 15214, 1, 1, 15, 4, 1, 1, 18),
(2, 'Farmer King', 'The farmer', 4000020002, 1, '87945234L', 1, 0, CURDATE(), 1, 'supplier address 2', 'SILLA', 2, 43022, 1, 2, 10, 93, 2, 8, 18),
(442, 'Verdnatura Levante SL', 'Verdnatura', 5115000442, 1, '06815934E', 0, 0, CURDATE(), 1, 'supplier address 3', 'SILLA', 1, 43022, 1, 2, 15, 6, 9, 3, 18);
('animals', 'Food and complements for pets'),
('complements', 'Other complements'),
('flowerPlants', 'Wholesale of flowers and plants'),
('vegetablesFruits', 'Fruit and vegetable trade');
INSERT INTO `vn`.`supplier`(`id`, `name`, `nickname`,`account`,`countryFk`,`nif`,`isFarmer`,`commission`, `created`, `isActive`, `street`, `city`, `provinceFk`, `postCode`, `payMethodFk`, `payDemFk`, `payDay`, `taxTypeSageFk`, `withholdingSageFk`, `transactionTypeSageFk`, `workerFk`, `supplierActivityFk`)
VALUES
(1, 'Plants SL', 'Plants nick', 4100000001, 1, '06089160W', 0, 0, CURDATE(), 1, 'supplier address 1', 'PONTEVEDRA', 1, 15214, 1, 1, 15, 4, 1, 1, 18, 'flowerPlants'),
(2, 'Farmer King', 'The farmer', 4000020002, 1, '87945234L', 1, 0, CURDATE(), 1, 'supplier address 2', 'SILLA', 2, 43022, 1, 2, 10, 93, 2, 8, 18, 'animals'),
(442, 'Verdnatura Levante SL', 'Verdnatura', 5115000442, 1, '06815934E', 0, 0, CURDATE(), 1, 'supplier address 3', 'SILLA', 1, 43022, 1, 2, 15, 6, 9, 3, 18, 'flowerPlants');
INSERT INTO `vn`.`supplierContact`(`id`, `supplierFk`, `phone`, `mobile`, `email`, `observation`, `name`)
VALUES

View File

@ -1,4 +1,4 @@
-- MariaDB dump 10.18 Distrib 10.5.8-MariaDB, for Linux (x86_64)
-- MariaDB dump 10.19 Distrib 10.5.9-MariaDB, for Linux (x86_64)
--
-- Host: test-db.verdnatura.es Database: account
-- ------------------------------------------------------
@ -7119,7 +7119,7 @@ CREATE TABLE `cache_calc` (
KEY `cache_id` (`cache_id`),
KEY `cacheName` (`cacheName`),
KEY `expires` (`expires`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
) ENGINE=InnoDBDEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@ -7133,7 +7133,7 @@ CREATE TABLE `cache_valid` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`valid` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
) ENGINE=MEMORYDEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@ -9243,6 +9243,7 @@ BEGIN
DECLARE vError VARCHAR(100) DEFAULT 'Orderregel niet meer teruggevonden op basis van de orderps';
DECLARE vVmpIdError INT DEFAULT 7;
DECLARE vVmpFk INT;
DECLARE vSupplyResponseNumberOfUnits INT;
SELECT sr.vmpID INTO vVmpFk
FROM edi.supplyResponse sr
@ -9258,6 +9259,17 @@ BEGIN
SET NEW.OrderStatus = 2;
END IF;
-- Error de disponible menor de lo solicitado
IF NEW.error LIKE 'error2602%' THEN
SELECT NumberOfUnits INTO vSupplyResponseNumberOfUnits
FROM edi.supplyResponse sr
WHERE sr.ID = NEW.supplyResponseID;
SET NEW.error = CONCAT('(',vSupplyResponseNumberOfUnits,') ', NEW.error);
END IF;
END */;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
@ -10063,9 +10075,9 @@ DELIMITER ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
/*!50003 SET character_set_client = utf8mb4 */ ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET character_set_client = utf8 */ ;
/*!50003 SET character_set_results = utf8 */ ;
/*!50003 SET collation_connection = utf8_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
@ -10080,6 +10092,7 @@ proc: BEGIN
DECLARE vIsAuctionDay BOOLEAN;
DECLARE vMaxNewItems INT DEFAULT 100000;
DECLARE vStartingTime DATETIME;
DECLARE vAalsmeerMarketPlaceID VARCHAR(13) DEFAULT '8713783439043';
DECLARE cur1 CURSOR FOR
SELECT id
@ -10123,10 +10136,11 @@ proc: BEGIN
FROM (
SELECT *
FROM edi.supplyOffer
ORDER BY NumberOfUnits DESC) t
ORDER BY (MarketPlaceID = vAalsmeerMarketPlaceID) DESC, NumberOfUnits DESC) t
JOIN edi.item_groupToOffer igo ON igo.group_code = t.group_id
LEFT JOIN edi.item_defaultType idt ON idt.item_id = t.Item_ArticleCode
GROUP BY Item_ArticleCode, s1, s2, s3, s4, s5, s6, company_name, Quality, NumberOfItemsPerCask, EmbalageCode, Price ;
GROUP BY Item_ArticleCode, s1, s2, s3, s4, s5, s6, company_name, Quality, NumberOfItemsPerCask, EmbalageCode, Price
;
-- -- select now(),'Antes de crear edi.offer';
DROP TEMPORARY TABLE IF EXISTS edi.offer;
@ -10368,6 +10382,423 @@ proc: BEGIN
WHERE vLanded IS NOT NULL;
-- Elimina la oferta obsoleta
UPDATE vn.buy b
JOIN vn.entry e ON e.id = b.entryFk
JOIN vn.travel tr ON tr.id = e.travelFk
JOIN vn.agencyMode am ON am.id = tr.agencyFk
JOIN vn.item i ON i.id = b.itemFk
JOIN edi.supplyResponse sr ON i.supplyResponseFk = sr.ID
LEFT JOIN edi.putOrder po ON b.deliveryFk = po.deliveryInformationID
LEFT JOIN edi.deliveryInformation di ON di.ID = b.deliveryFk
SET b.quantity = 0
WHERE (di.LatestOrderDateTime < NOW()
OR sr.ID IS NULL
OR sr.NumberOfUnits = 0)
AND am.name = 'LOGIFLORA'
AND e.isRaid;
-- Localiza las entradas de cada almacen
UPDATE edi.warehouseFloramondo
SET entryFk = vn.floramondo_getEntry(TIMESTAMPADD(DAY,travellingDays,vLanded), warehouseFk);
IF vLanded IS NOT NULL THEN
-- actualiza la oferta existente
UPDATE vn.buy b
JOIN edi.warehouseFloramondo wf ON wf.entryFk = b.entryFk
JOIN vn.item i ON i.id = b.itemFk
JOIN edi.offer o ON i.supplyResponseFk = o.`srId`
SET b.quantity = o.NumberOfUnits * o.NumberOfItemsPerCask,
b.buyingValue = o.price
WHERE (b.quantity <> o.NumberOfUnits * o.NumberOfItemsPerCask OR b.buyingValue <> o.price);
-- Se eliminan las ofertas ya incluidas en las entradas
DELETE o
FROM edi.offer o
JOIN vn.item i ON i.supplyResponseFk = o.srId
JOIN vn.buy b ON i.id = b.itemFk
JOIN edi.warehouseFloramondo wf ON wf.entryFk = b.entryFk;
-- Se inserta el resto
SET vLastInserted := NOW();
-- Inserta la oferta
INSERT INTO vn.buy(entryFk,
itemFk,
quantity,
buyingValue,
stickers,
packing,
`grouping`,
groupingMode,
packageFk,
deliveryFk)
SELECT wf.entryFk,
i.id,
o.NumberOfUnits * o.NumberOfItemsPerCask as quantity,
o.Price,
o.NumberOfUnits as etiquetas,
o.NumberOfItemsPerCask as packing,
GREATEST(1, IFNULL(o.MinimumQuantity,0)) * o.NumberOfItemsPerCask as `grouping`,
2, -- Obliga al Packing
o.embalageCode,
o.diId
FROM edi.offer o
JOIN vn.item i ON i.supplyResponseFk = o.srId
JOIN vn.itemType it ON it.id = i.typeFk
JOIN edi.warehouseFloramondo wf ON wf.isFV = it.isFV OR wf.isFV IS NULL
JOIN vn.packaging p ON p.id LIKE o.embalageCode; -- llevar esta linea i mirar de crear els packages a temps real
DROP TEMPORARY TABLE IF EXISTS tmp.buyRecalc;
CREATE TEMPORARY TABLE tmp.buyRecalc
SELECT b.id
FROM vn.buy b
JOIN edi.warehouseFloramondo wf ON wf.entryFk = b.entryFk
WHERE b.created >= vLastInserted;
CALL vn.buy_recalcPrices();
END IF;
DROP TEMPORARY TABLE
edi.offer,
itemToInsert;
DROP TABLE tmp.item;
COMMIT;
-- Esto habria que pasarlo a procesos programados o trabajar con tags y dejar las familias
UPDATE vn.item i
SET typeFk = 121
WHERE i.longName LIKE 'Rosa Garden %'
AND typeFk = 17;
UPDATE vn.item i
SET typeFk = 156
WHERE i.longName LIKE 'Rosa ec %'
AND typeFk = 17;
INSERT INTO edi.log(tableName, fieldName,fieldValue)
VALUES('floramondo_offerRefresh','Tiempo de proceso',TIMEDIFF(NOW(),vStartingTime));
END ;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
/*!50003 DROP PROCEDURE IF EXISTS `floramondo_offerRefresh__` */;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
/*!50003 SET character_set_client = utf8 */ ;
/*!50003 SET character_set_results = utf8 */ ;
/*!50003 SET collation_connection = utf8_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`%` PROCEDURE `floramondo_offerRefresh__`()
proc: BEGIN
DECLARE vLanded DATETIME;
DECLARE done INT DEFAULT FALSE;
DECLARE vFreeId INT;
DECLARE vSupplyResponseFk INT;
DECLARE vLastInserted DATETIME;
DECLARE vIsAuctionDay BOOLEAN;
DECLARE vMaxNewItems INT DEFAULT 100000;
DECLARE vStartingTime DATETIME;
DECLARE cur1 CURSOR FOR
SELECT id
FROM edi.item_free;
DECLARE cur2 CURSOR FOR
SELECT srId
FROM itemToInsert;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
DECLARE EXIT HANDLER FOR SQLSTATE '45000'
BEGIN
ROLLBACK;
RESIGNAL;
END;
SET vStartingTime = NOW();
-- CALL vn.clean_logiflora();
-- Refresca las fotos de los items existentes, con prioridad baja (0.7 seg)
INSERT IGNORE INTO vn.itemImageQueue(itemFk, url,priority)
SELECT i.id, sr.PictureReference , 100
FROM edi.supplyResponse sr
JOIN vn.item i ON i.supplyResponseFk = sr.ID
WHERE i.image != edi.imageName(sr.PictureReference)
AND sr.NumberOfUnits > 0;
DELETE itf.*
FROM edi.item_free itf
JOIN vn.item i ON i.id = itf.id;
-- -- select now(),'Tras borrar';
DROP TEMPORARY TABLE IF EXISTS tmp;
CREATE TEMPORARY TABLE tmp (INDEX (`Item_ArticleCode`)) ENGINE = MEMORY
SELECT t.*,
IFNULL(idt.itemTypeFk, igo.itemTypeFk) itemTypeFk,
igo.expenseFk ,
igo.intrastatFk ,
igo.originFk
FROM (
SELECT *
FROM edi.supplyOffer
ORDER BY NumberOfUnits DESC) t
JOIN edi.item_groupToOffer igo ON igo.group_code = t.group_id
LEFT JOIN edi.item_defaultType idt ON idt.item_id = t.Item_ArticleCode
GROUP BY Item_ArticleCode, s1, s2, s3, s4, s5, s6, company_name, Quality, NumberOfItemsPerCask, EmbalageCode, Price ;
-- -- select now(),'Antes de crear edi.offer';
DROP TEMPORARY TABLE IF EXISTS edi.offer;
CREATE TEMPORARY TABLE edi.offer (INDEX (`srID`), INDEX (`EmbalageCode`)) ENGINE = MEMORY
SELECT so.*, ev1.type_description s1Value, ev2.type_description s2Value, ev3.type_description s3Value,
ev4.type_description s4Value, ev5.type_description s5Value, ev6.type_description s6Value,
eif1.feature ef1, eif2.feature ef2, eif3.feature ef3, eif4.feature ef4, eif5.feature ef5, eif6.feature ef6
FROM tmp so
LEFT JOIN edi.item_feature eif1 ON eif1.item_id = so.Item_ArticleCode
AND eif1.presentation_order = 1 AND eif1.expiry_date IS NULL
LEFT JOIN edi.item_feature eif2 ON eif2.item_id = so.Item_ArticleCode
AND eif2.presentation_order = 2 AND eif2.expiry_date IS NULL
LEFT JOIN edi.item_feature eif3 ON eif3.item_id = so.Item_ArticleCode
AND eif3.presentation_order = 3 AND eif3.expiry_date IS NULL
LEFT JOIN edi.item_feature eif4 ON eif4.item_id = so.Item_ArticleCode
AND eif4.presentation_order = 4 AND eif4.expiry_date IS NULL
LEFT JOIN edi.item_feature eif5 ON eif5.item_id = so.Item_ArticleCode
AND eif5.presentation_order = 5 AND eif5.expiry_date IS NULL
LEFT JOIN edi.item_feature eif6 ON eif6.item_id = so.Item_ArticleCode
AND eif6.presentation_order = 6 AND eif6.expiry_date IS NULL
LEFT JOIN edi.`value` ev1 ON ev1.type_id = eif1.feature AND so.s1 = ev1.type_value
LEFT JOIN edi.`value` ev2 ON ev2.type_id = eif2.feature AND so.s2 = ev2.type_value
LEFT JOIN edi.`value` ev3 ON ev3.type_id = eif3.feature AND so.s3 = ev3.type_value
LEFT JOIN edi.`value` ev4 ON ev4.type_id = eif4.feature AND so.s4 = ev4.type_value
LEFT JOIN edi.`value` ev5 ON ev5.type_id = eif5.feature AND so.s5 = ev5.type_value
LEFT JOIN edi.`value` ev6 ON ev6.type_id = eif6.feature AND so.s6 = ev6.type_value
ORDER BY Price;
DROP TEMPORARY TABLE tmp;
START TRANSACTION;
-- Actualizamos el campo supplyResponseFk para aquellos articulos que ya estan creados y reutilizamos
UPDATE IGNORE edi.offer o
LEFT JOIN vn.item iExist ON iExist.supplyResponseFk = o.srID
JOIN vn.item i
ON i.name = o.product_name
AND i.subname <=> o.company_name
AND i.value5 <=> o.s1Value
AND i.value6 <=> o.s2Value
AND i.value7 <=> o.s3Value
AND i.value8 <=> o.s4Value
AND i.value9 <=> o.s5Value
AND i.value10 <=> o.s6Value
AND i.NumberOfItemsPerCask <=> o.NumberOfItemsPerCask
AND i.EmbalageCode <=> o.EmbalageCode
AND i.quality <=> o.Quality
LEFT JOIN deliveryInformation di ON di.supplyResponseID = i.supplyResponseFk
JOIN vn.itemType it ON it.id = i.typeFk
SET i.supplyResponseFk = o.srID
WHERE iExist.id IS NULL
AND (di.LatestOrderDateTime < NOW() OR di.ID IS NULL)
AND it.isInventory
;
-- select now(),'Antes de crear ITO';
DROP TEMPORARY TABLE IF EXISTS itemToInsert;
CREATE TEMPORARY TABLE itemToInsert ENGINE = MEMORY
SELECT o.*, CAST(NULL AS DECIMAL(6,0)) as itemFk
FROM edi.offer o
LEFT JOIN vn.item i ON i.supplyResponseFk = o.srId
WHERE i.id IS NULL
LIMIT vMaxNewItems;
-- Reciclado de nº de item
OPEN cur1;
OPEN cur2;
read_loop: LOOP
FETCH cur2 INTO vSupplyResponseFk;
FETCH cur1 INTO vFreeId;
IF done THEN
LEAVE read_loop;
END IF;
UPDATE itemToInsert
SET itemFk = vFreeId
WHERE srId = vSupplyResponseFk;
END LOOP;
CLOSE cur1;
CLOSE cur2;
-- Insertamos todos los items en Articles de la oferta
INSERT INTO vn.item( id,
`name`,
longName,
subName,
expenceFk,
typeFk,
intrastatFk,
originFk,
supplyResponseFk,
numberOfItemsPerCask,
embalageCode,
quality,
isFloramondo)
SELECT itemFk,
product_name,
product_name,
company_name,
expenseFk,
itemTypeFk,
intrastatFk,
originFk,
`srId`,
NumberOfItemsPerCask,
EmbalageCode,
Quality,
TRUE
FROM itemToInsert;
INSERT IGNORE INTO vn.itemImageQueue(itemFk, url)
SELECT i.id, PictureReference
FROM itemToInsert ii
JOIN vn.item i ON i.supplyResponseFk = ii.srId
WHERE PictureReference IS NOT NULL;
INSERT INTO edi.log(tableName, fieldName,fieldValue)
SELECT 'itemImageQueue','NumImagenesPtes', COUNT(*)
FROM vn.itemImageQueue
WHERE attempts = 0;
-- Inserta si se añadiesen tags nuevos
INSERT IGNORE INTO vn.tag (name, ediTypeFk)
SELECT description, type_id FROM edi.type;
-- Inserta los tags sólo en los articulos nuevos
-- desabilita el trigger para recalcular los tags al final
SET @isTriggerDisabled = TRUE;
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , ii.product_name, 1
FROM itemToInsert ii
JOIN vn.tag t ON t.`name` = 'Producto'
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`;
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , ii.Quality, 3
FROM itemToInsert ii
JOIN vn.tag t ON t.`name` = 'Calidad'
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`;
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , ii.company_name, 4
FROM itemToInsert ii
JOIN vn.tag t ON t.`name` = 'Productor'
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`;
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , s1Value, 5
FROM itemToInsert ii
JOIN vn.tag t ON t.ediTypeFk = ii.ef1
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`
WHERE s1Value != '';
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , s2Value, 6
FROM itemToInsert ii
JOIN vn.tag t ON t.ediTypeFk = ii.ef2
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`
WHERE s2Value != '';
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , s3Value, 7
FROM itemToInsert ii
JOIN vn.tag t ON t.ediTypeFk = ii.ef3
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`
WHERE s3Value != '';
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , s4Value, 8
FROM itemToInsert ii
JOIN vn.tag t ON t.ediTypeFk = ii.ef4
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`
WHERE s4Value != '';
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , s5Value, 9
FROM itemToInsert ii
JOIN vn.tag t ON t.ediTypeFk = ii.ef5
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`
WHERE s5Value != '';
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id , s6Value, 10
FROM itemToInsert ii
JOIN vn.tag t ON t.ediTypeFk = ii.ef6
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`
WHERE s6Value != '';
INSERT INTO vn.itemTag(itemFk, tagFk, value, priority)
SELECT i.id, t.id, ink.name, 11
FROM itemToInsert ii
JOIN vn.item i ON i.supplyResponseFk = ii.`srId`
JOIN vn.tag t ON t.`name` = 'Color'
JOIN edi.feature f ON f.item_id = ii.Item_ArticleCode
JOIN edi.`type` tp ON tp.type_id = f.feature_type_id AND tp.`description` = 'Hoofdkleur 1'
JOIN vn.ink ON ink.dutchCode = f.feature_value;
UPDATE vn.item i
JOIN itemToInsert ii ON i.supplyResponseFk = ii.`srId`
JOIN vn.packaging p ON p.id LIKE ii.EmbalageCode AND hasCompressionVariations
JOIN vn.itemTag diameter ON diameter.itemFk = i.id
JOIN vn.tag tDiameter ON tDiameter.overwrite = 'diameter' AND tDiameter.id = diameter.tagFk
JOIN vn.itemTag size ON size.itemFk = i.id
JOIN vn.tag tSize ON tSize.overwrite = 'size' AND tSize.id = size.tagFk
SET i.`compression` =
(PI() * POW(diameter.`value`/ 2, 2) * size.`value`)
/
((p.width * p.depth * p.height) / ii.NumberOfItemsPerCask);
DROP TABLE IF EXISTS tmp.item;
CREATE TABLE tmp.item
(PRIMARY KEY (id))
SELECT i.id FROM vn.item i
JOIN itemToInsert ii ON i.supplyResponseFk = ii.`srId`;
CALL vn.item_refreshTags();
SET @isTriggerDisabled = FALSE;
SELECT MIN(LatestDeliveryDateTime) INTO vLanded
FROM edi.supplyResponse sr
JOIN edi.deliveryInformation di ON di.supplyResponseID = sr.ID
JOIN edi.marketPlace mp ON mp.id = sr.MarketPlaceID
JOIN vn.floramondoConfig fc
WHERE mp.isLatestOrderDateTimeRelevant
AND di.LatestOrderDateTime > IF(fc.MaxLatestOrderHour > HOUR(NOW()), CURDATE(), TIMESTAMPADD(DAY,1,CURDATE()));
UPDATE vn.floramondoConfig
SET nextLanded = vLanded
WHERE vLanded IS NOT NULL;
-- Elimina la oferta obsoleta
UPDATE vn.buy b
JOIN vn.entry e ON e.id = b.entryFk
@ -10382,14 +10813,14 @@ proc: BEGIN
AND sr.ID IS NULL
AND am.name = 'LOGIFLORA'
AND e.isRaid;
/*
UPDATE vn.buy b
JOIN edi.warehouseFloramondo wf ON wf.entryFk = b.entryFk
JOIN vn.item i ON i.id = b.itemFk
LEFT JOIN edi.supplyResponse sr ON sr.ID = i.supplyResponseFk
SET b.quantity = 0
WHERE sr.ID IS NULL;
*/
-- Localiza las entradas de cada almacen
UPDATE edi.warehouseFloramondo
SET entryFk = vn.floramondo_getEntry(TIMESTAMPADD(DAY,travellingDays,vLanded), warehouseFk);
@ -20607,7 +21038,7 @@ BEGIN
mc.ImporteRetencion,
mc.SiglaNacion,
mc.EjercicioFactura,
mc.FechaOperacion,
x.FECHA,
mc.Exclusion347,
mc.MantenerAsiento,
mc.Metalico347,
@ -24444,7 +24875,8 @@ SET character_set_client = utf8;
`account` tinyint NOT NULL,
`accountingTypeFk` tinyint NOT NULL,
`entityFk` tinyint NOT NULL,
`isActive` tinyint NOT NULL
`isActive` tinyint NOT NULL,
`currencyFk` tinyint NOT NULL
) ENGINE=MyISAM */;
SET character_set_client = @saved_cs_client;
@ -26715,7 +27147,7 @@ CREATE TABLE `cmr_expeditionPallet` (
KEY `cmr_expeditionPallet_fk2_idx` (`expeditionPalletFk`),
CONSTRAINT `cmr_expeditionPallet_fk1` FOREIGN KEY (`cmrFk`) REFERENCES `cmr` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `cmr_expeditionPallet_fk2` FOREIGN KEY (`expeditionPalletFk`) REFERENCES `expeditionPallet` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDBDEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='relaciona los cmr con los pallets de expediciones';
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='relaciona los cmr con los pallets de expediciones';
/*!40101 SET character_set_client = @saved_cs_client */;
--
@ -28653,6 +29085,26 @@ CREATE TABLE `entryLog` (
) ENGINE=InnoDBDEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `entryObservation`
--
DROP TABLE IF EXISTS `entryObservation`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `entryObservation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`entryFk` int(11) NOT NULL,
`observationTypeFk` tinyint(3) unsigned DEFAULT NULL,
`description` text COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `entryFk_observationTypeFk_UNIQUE` (`entryFk`,`observationTypeFk`),
KEY `observationType_id_observationTypeFk` (`observationTypeFk`),
CONSTRAINT `entry_id_entryFk` FOREIGN KEY (`entryFk`) REFERENCES `entry` (`id`),
CONSTRAINT `observationType_id_observationTypeFk` FOREIGN KEY (`observationTypeFk`) REFERENCES `observationType` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `entryShelving__`
--
@ -30760,14 +31212,13 @@ DROP TABLE IF EXISTS `itemBotanical`;
CREATE TABLE `itemBotanical` (
`itemFk` int(11) NOT NULL,
`botanical` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`genusFk` int(11) DEFAULT NULL,
`genusFk` int(11) NOT NULL,
`specieFk` int(11) DEFAULT NULL,
PRIMARY KEY (`itemFk`),
KEY `genusFgn_idx` (`genusFk`),
KEY `specieFgn_idx` (`specieFk`),
CONSTRAINT `itemBotanicalItemFkFk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `itemBotanical_FK` FOREIGN KEY (`specieFk`) REFERENCES `specie` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `itemBotanical_fk2` FOREIGN KEY (`genusFk`) REFERENCES `genus` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
CONSTRAINT `itemBotanical_FK` FOREIGN KEY (`specieFk`) REFERENCES `specie` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Sustituye a antiguo NomBotanic de Articles';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
@ -33982,7 +34433,16 @@ DELIMITER ;;
BEFORE INSERT
ON receipt FOR EACH ROW
BEGIN
DECLARE vIsAutoConciliated BOOLEAN;
IF NEW.isConciliate = FALSE THEN
SELECT isAutoConciliated INTO vIsAutoConciliated
FROM accounting a
JOIN accountingType at2 ON at2.id = a.accountingTypeFk
WHERE a.id = NEW.bankFk;
SET NEW.isConciliate = vIsAutoConciliated;
END IF;
END */;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
@ -35776,6 +36236,8 @@ CREATE TABLE `supplier` (
`withholdingSageFk` smallint(6) DEFAULT NULL COMMENT 'Tipos de retención SAGE',
`transactionTypeSageFk` tinyint(4) DEFAULT NULL COMMENT 'Ti po de transacción SAGE',
`isTrucker` tinyint(1) NOT NULL DEFAULT 0,
`supplierActivityFk` varchar(45) NOT NULL DEFAULT 'flowersPlants',
`healthRegister` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `cuenta` (`account`),
UNIQUE KEY `NIF` (`nif`),
@ -35787,13 +36249,15 @@ CREATE TABLE `supplier` (
KEY `supplier_taxTypeFk_idx` (`taxTypeSageFk`),
KEY `supplier_withholdingFk_idx` (`withholdingSageFk`),
KEY `supplier_transactionFk_idx` (`transactionTypeSageFk`),
KEY `suppplier_supplierActivityFk` (`supplierActivityFk`),
CONSTRAINT `Id_Pais` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) ON UPDATE CASCADE,
CONSTRAINT `pay_dem_id` FOREIGN KEY (`payDemFk`) REFERENCES `payDem` (`id`) ON UPDATE CASCADE,
CONSTRAINT `pay_met_id` FOREIGN KEY (`payMethodFk`) REFERENCES `payMethod` (`id`) ON UPDATE CASCADE,
CONSTRAINT `province_id` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON UPDATE CASCADE,
CONSTRAINT `supplier_taxTypeFk` FOREIGN KEY (`taxTypeSageFk`) REFERENCES `sage`.`TiposIva` (`CodigoIva`) ON UPDATE CASCADE,
CONSTRAINT `supplier_transactionFk` FOREIGN KEY (`transactionTypeSageFk`) REFERENCES `sage`.`TiposTransacciones` (`CodigoTransaccion`) ON UPDATE CASCADE,
CONSTRAINT `supplier_withholdingFk` FOREIGN KEY (`withholdingSageFk`) REFERENCES `sage`.`TiposRetencion` (`CodigoRetencion`) ON UPDATE CASCADE
CONSTRAINT `supplier_withholdingFk` FOREIGN KEY (`withholdingSageFk`) REFERENCES `sage`.`TiposRetencion` (`CodigoRetencion`) ON UPDATE CASCADE,
CONSTRAINT `suppplier_supplierActivityFk` FOREIGN KEY (`supplierActivityFk`) REFERENCES `supplierActivity` (`code`) ON UPDATE CASCADE
) ENGINE=InnoDBDEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
@ -35849,6 +36313,20 @@ DELIMITER ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
--
-- Table structure for table `supplierActivity`
--
DROP TABLE IF EXISTS `supplierActivity`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `supplierActivity` (
`code` varchar(45) CHARACTER SET utf8 NOT NULL,
`name` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `supplierContact`
--
@ -77948,7 +78426,7 @@ USE `vn`;
/*!50001 SET collation_connection = utf8mb4_general_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */
/*!50001 VIEW `accounting` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `accountingTypeFk`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */;
/*!50001 VIEW `accounting` AS select `b`.`id` AS `id`,`b`.`bank` AS `bank`,`b`.`account` AS `account`,`b`.`cash` AS `accountingTypeFk`,`b`.`entityFk` AS `entityFk`,`b`.`isActive` AS `isActive`,`b`.`currencyFk` AS `currencyFk` from `bank` `b` */;
/*!50001 SET character_set_client = @saved_cs_client */;
/*!50001 SET character_set_results = @saved_cs_results */;
/*!50001 SET collation_connection = @saved_col_connection */;
@ -80248,4 +80726,4 @@ USE `vncontrol`;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2021-03-02 7:45:42
-- Dump completed on 2021-03-04 8:02:58

View File

@ -32,6 +32,7 @@ TABLES=(
salix
ACL
fieldAcl
module
)
dump_tables ${TABLES[@]}

View File

@ -28,6 +28,59 @@ export default {
firstModulePinIcon: 'vn-home a:nth-child(1) vn-icon[icon="push_pin"]',
firstModuleRemovePinIcon: 'vn-home a:nth-child(1) vn-icon[icon="remove_circle"]'
},
accountIndex: {
addAccount: 'vn-user-index button vn-icon[icon="add"]',
newName: 'vn-user-create vn-textfield[ng-model="$ctrl.user.name"]',
newNickname: 'vn-user-create vn-textfield[ng-model="$ctrl.user.nickname"]',
newEmail: 'vn-user-create vn-textfield[ng-model="$ctrl.user.email"]',
newRole: 'vn-user-create vn-autocomplete[ng-model="$ctrl.user.roleFk"]',
newPassword: 'vn-user-create vn-textfield[ng-model="$ctrl.user.password"]',
createAccountButton: 'vn-user-create button[type="submit"]',
},
accountBasicData: {
name: 'vn-user-basic-data vn-textfield[ng-model="$ctrl.user.name"]',
nickname: 'vn-user-basic-data vn-textfield[ng-model="$ctrl.user.nickname"]',
email: 'vn-user-basic-data vn-textfield[ng-model="$ctrl.user.email"]',
language: 'vn-user-basic-data vn-autocomplete[ng-model="$ctrl.user.lang"]',
save: 'vn-user-basic-data button[type="submit"]'
},
accountRoles: {
anyResult: 'vn-user-roles > vn-data-viewer vn-list > a'
},
accountAliasIndex: {
addAlias: 'vn-alias-index button vn-icon[icon="add"]',
newName: 'vn-alias-create vn-textfield[ng-model="$ctrl.alias.alias"]',
newDescription: 'vn-alias-create vn-textfield[ng-model="$ctrl.alias.description"]',
createAliasButton: 'vn-alias-create button[type="submit"]',
},
accountAliasBasicData: {
name: 'vn-alias-basic-data vn-textfield[ng-model="$ctrl.alias.alias"]',
description: 'vn-alias-basic-data vn-textfield[ng-model="$ctrl.alias.description"]',
save: 'vn-alias-basic-data button[type="submit"]'
},
accountAliasUsers: {
anyResult: 'vn-alias-users > vn-data-viewer vn-tr'
},
accountRoleIndex: {
addRole: 'vn-role-index button vn-icon[icon="add"]',
newName: 'vn-role-create vn-textfield[ng-model="$ctrl.role.name"]',
newDescription: 'vn-role-create vn-textfield[ng-model="$ctrl.role.description"]',
createRoleButton: 'vn-role-create button[type="submit"]',
},
accountRoleBasicData: {
name: 'vn-role-basic-data vn-textfield[ng-model="$ctrl.role.name"]',
description: 'vn-role-basic-data vn-textfield[ng-model="$ctrl.role.description"]',
save: 'vn-role-basic-data button[type="submit"]'
},
accountSubroles: {
addSubrole: 'vn-role-subroles button vn-icon[icon="add"]',
role: 'vn-autocomplete[ng-model="$ctrl.addData.inheritsFrom"]',
save: 'button[response="accept"]',
anyResult: 'vn-role-subroles > vn-data-viewer > div > div > vn-card > vn-list > a'
},
accountRoleInheritance: {
anyResult: 'vn-role-inherited > vn-data-viewer > div > div > vn-card > vn-list > a'
},
clientsIndex: {
createClientButton: `vn-float-button`
},
@ -357,7 +410,6 @@ export default {
submitNichesButton: 'vn-item-niche button[type=submit]'
},
itemBotanical: {
botanical: 'vn-item-botanical vn-horizontal:nth-child(1) vn-textfield[ng-model="$ctrl.botanical.botanical"]',
genus: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.genusFk"]',
species: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.specieFk"]',
submitBotanicalButton: `vn-item-botanical button[type=submit]`
@ -855,6 +907,14 @@ export default {
anySearchResult: 'vn-travel-index vn-tbody > a',
firstSearchResult: 'vn-travel-index vn-tbody > a:nth-child(1)',
firstTravelAddEntryButton: 'vn-travel-index a:nth-child(1) vn-icon[icon="icon-ticket"]',
newTravelButton: 'vn-travel-index button vn-icon[icon="add"]',
reference: 'vn-travel-create vn-textfield[ng-model="$ctrl.travel.ref"]',
agency: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.agencyModeFk"]',
shipDate: 'vn-travel-create vn-date-picker[ng-model="$ctrl.travel.shipped"]',
landingDate: 'vn-travel-create vn-date-picker[ng-model="$ctrl.travel.landed"]',
warehouseOut: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.warehouseOutFk"]',
warehouseIn: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.warehouseInFk"]',
save: 'vn-travel-create vn-submit > button'
},
travelExtraCommunity: {
anySearchResult: 'vn-travel-extra-community > vn-data-viewer div > vn-tbody > vn-tr',
@ -865,6 +925,7 @@ export default {
travelBasicData: {
reference: 'vn-travel-basic-data vn-textfield[ng-model="$ctrl.travel.ref"]',
agency: 'vn-travel-basic-data vn-autocomplete[ng-model="$ctrl.travel.agencyModeFk"]',
shippedDate: 'vn-travel-basic-data vn-date-picker[ng-model="$ctrl.travel.shipped"]',
deliveryDate: 'vn-travel-basic-data vn-date-picker[ng-model="$ctrl.travel.landed"]',
outputWarehouse: 'vn-travel-basic-data vn-autocomplete[ng-model="$ctrl.travel.warehouseOutFk"]',
inputWarehouse: 'vn-travel-basic-data vn-autocomplete[ng-model="$ctrl.travel.warehouseInFk"]',

View File

@ -48,10 +48,10 @@ describe('Item summary path', () => {
});
it(`should check the item summary preview shows fields from botanical`, async() => {
await page.waitForTextInElement(selectors.itemSummary.botanical, 'Hedera helix');
await page.waitForTextInElement(selectors.itemSummary.botanical, 'Abelia');
const result = await page.waitToGetProperty(selectors.itemSummary.botanical, 'innerText');
expect(result).toContain('Hedera helix');
expect(result).toContain('Abelia');
});
it(`should check the item summary preview shows fields from barcode`, async() => {
@ -102,7 +102,7 @@ describe('Item summary path', () => {
await page.waitForSelector(selectors.itemSummary.basicData, {hidden: true});
});
it(`should navigate to the one of the items detailed section`, async() => {
it(`should navigate to one of the items detailed section`, async() => {
await page.accessToSearchResult('Melee weapon combat fist 15cm');
await page.waitForState('item.card.summary');
});
@ -135,7 +135,7 @@ describe('Item summary path', () => {
it(`should check the item summary shows fields from botanical section`, async() => {
const result = await page.waitToGetProperty(selectors.itemSummary.botanical, 'innerText');
expect(result).toContain('-');
expect(result).toContain('procera');
});
it(`should check the item summary shows fields from barcodes section`, async() => {

View File

@ -17,7 +17,6 @@ describe('Item Create botanical path', () => {
});
it(`should create a new botanical for the item`, async() => {
await page.write(selectors.itemBotanical.botanical, 'Cicuta maculata');
await page.autocompleteSearch(selectors.itemBotanical.genus, 'Abelia');
await page.autocompleteSearch(selectors.itemBotanical.species, 'dealbata');
await page.waitToClick(selectors.itemBotanical.submitBotanicalButton);
@ -26,15 +25,6 @@ describe('Item Create botanical path', () => {
expect(message.text).toContain('Data saved!');
});
it(`should confirm the botanical for the item was created`, async() => {
await page.reloadSection('item.card.botanical');
await page.waitForTextInField(selectors.itemBotanical.botanical, 'Cicuta maculata');
const result = await page
.waitToGetProperty(selectors.itemBotanical.botanical, 'value');
expect(result).toEqual('Cicuta maculata');
});
it(`should confirm the Genus for the item was created`, async() => {
await page.waitForTextInField(selectors.itemBotanical.genus, 'Abelia');
const result = await page
@ -51,8 +41,6 @@ describe('Item Create botanical path', () => {
});
it(`should edit botanical for the item`, async() => {
await page.clearInput(selectors.itemBotanical.botanical);
await page.write(selectors.itemBotanical.botanical, 'Herp Derp');
await page.autocompleteSearch(selectors.itemBotanical.genus, 'Abies');
await page.autocompleteSearch(selectors.itemBotanical.species, 'decurrens');
await page.waitToClick(selectors.itemBotanical.submitBotanicalButton);
@ -61,15 +49,6 @@ describe('Item Create botanical path', () => {
expect(message.text).toContain('Data saved!');
});
it(`should confirm the botanical for the item was edited`, async() => {
await page.reloadSection('item.card.botanical');
await page.waitForTextInField(selectors.itemBotanical.botanical, 'Herp Derp');
const result = await page
.waitToGetProperty(selectors.itemBotanical.botanical, 'value');
expect(result).toEqual('Herp Derp');
});
it(`should confirm the Genus for the item was edited`, async() => {
await page.waitForTextInField(selectors.itemBotanical.genus, 'Abies');
const result = await page

View File

@ -0,0 +1,76 @@
import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';
describe('Travel create path', () => {
let browser;
let page;
const date = new Date();
const day = 15;
date.setDate(day);
beforeAll(async() => {
browser = await getBrowser();
page = browser.page;
await page.loginAndModule('buyer', 'travel');
});
afterAll(async() => {
await browser.close();
});
it('should open the create travel form by clicking on the "new" button', async() => {
await page.waitToClick(selectors.travelIndex.newTravelButton);
await page.waitForState('travel.create');
});
it('should fill the reference, agency and ship date then save the form', async() => {
await page.write(selectors.travelIndex.reference, 'Testing reference');
await page.autocompleteSearch(selectors.travelIndex.agency, 'inhouse pickup');
await page.pickDate(selectors.travelIndex.shipDate, date);
await page.waitToClick(selectors.travelIndex.save);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Data saved!');
});
it('should check the user was redirected to the travel basic data upon creation', async() => {
await page.waitForState('travel.card.basicData');
});
it('should check the travel was created with the correct reference', async() => {
const reference = await page.waitToGetProperty(selectors.travelBasicData.reference, 'value');
expect(reference).toContain('Testing reference');
});
it('should check the travel was created with the correct agency', async() => {
const agency = await page.waitToGetProperty(selectors.travelBasicData.agency, 'value');
expect(agency).toContain('inhouse pickup');
});
it('should check the travel was created with the correct shiping date', async() => {
const shipDate = await page.waitToGetProperty(selectors.travelBasicData.shippedDate, 'value');
expect(shipDate).toContain(day);
});
it('should check the travel was created with the correct landing date', async() => {
const landingDate = await page.waitToGetProperty(selectors.travelBasicData.deliveryDate, 'value');
expect(landingDate).toContain(day);
});
it('should check the travel was created with the correct warehouseOut', async() => {
const warehouseOut = await page.waitToGetProperty(selectors.travelBasicData.outputWarehouse, 'value');
expect(warehouseOut).toContain('Warehouse One');
});
it('should check the travel was created with the correct warehouseIn', async() => {
const warehouseIn = await page.waitToGetProperty(selectors.travelBasicData.inputWarehouse, 'value');
expect(warehouseIn).toContain('Warehouse Five');
});
});

View File

@ -0,0 +1,82 @@
import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';
// #2833 Refactor account.basicData
xdescribe('Account create and basic data path', () => {
let browser;
let page;
beforeAll(async() => {
browser = await getBrowser();
page = browser.page;
await page.loginAndModule('developer', 'account');
});
afterAll(async() => {
await browser.close();
});
it('should open the new account form by clicking the add button', async() => {
await page.waitToClick(selectors.accountIndex.addAccount);
await page.waitForState('account.create');
});
it('should fill the form and then save it by clicking the create button', async() => {
await page.write(selectors.accountIndex.newName, 'Remy');
await page.write(selectors.accountIndex.newNickname, 'Gambit');
await page.write(selectors.accountIndex.newEmail, 'RemyEtienneLeBeau@verdnatura.es');
await page.autocompleteSearch(selectors.accountIndex.newRole, 'Trainee');
await page.write(selectors.accountIndex.newPassword, 'cestlavie');
await page.waitToClick(selectors.accountIndex.createAccountButton);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Data saved!');
});
it('should redirect the user to the created account basic data section', async() => {
await page.waitForState('account.card.basicData');
});
it('should edit the basic data', async() => {
await page.overwrite(selectors.accountBasicData.name, 'Anna');
await page.overwrite(selectors.accountBasicData.nickname, 'Rogue');
await page.overwrite(selectors.accountBasicData.email, 'AnnaMarieLeBeau@verdnatura.es');
await page.autocompleteSearch(selectors.accountBasicData.language, 'english');
await page.waitToClick(selectors.accountBasicData.save);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Data saved!');
});
it('should reload the section and check the name was edited successfully', async() => {
await page.reloadSection('account.card.basicData');
const result = await page.waitToGetProperty(selectors.accountBasicData.name, 'value');
expect(result).toEqual('Anna');
});
it('should check the nickname was edited successfully', async() => {
const result = await page.waitToGetProperty(selectors.accountBasicData.nickname, 'value');
expect(result).toEqual('Rogue');
});
it('should check the email was edited successfully', async() => {
const result = await page.waitToGetProperty(selectors.accountBasicData.email, 'value');
expect(result).toEqual('AnnaMarieLeBeau@verdnatura.es');
});
it('should check the language was edited successfully', async() => {
const result = await page.waitToGetProperty(selectors.accountBasicData.language, 'value');
expect(result).toEqual('English');
});
it('should navigate to the roles section to check the roles are correct', async() => {
await page.accessToSection('account.card.roles');
const rolesCount = await page.countElement(selectors.accountRoles.anyResult);
expect(rolesCount).toEqual(3);
});
});

View File

@ -0,0 +1,66 @@
import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';
describe('Account Alias create and basic data path', () => {
let browser;
let page;
beforeAll(async() => {
browser = await getBrowser();
page = browser.page;
await page.loginAndModule('developer', 'account');
await page.accessToSection('account.alias');
});
afterAll(async() => {
await browser.close();
});
it('should open the new account alias form by clicking the add button', async() => {
await page.waitToClick(selectors.accountAliasIndex.addAlias);
await page.waitForState('account.alias.create');
});
it('should fill the form and then save it by clicking the create alias button', async() => {
await page.write(selectors.accountAliasIndex.newName, 'Boring alias');
await page.write(selectors.accountAliasIndex.newDescription, 'Boring description');
await page.waitToClick(selectors.accountAliasIndex.createAliasButton);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Data saved!');
});
it('should redirect the user to the created account alias basic data section', async() => {
await page.waitForState('account.alias.card.basicData');
});
it('should edit the alias basic data', async() => {
await page.overwrite(selectors.accountAliasBasicData.name, 'Psykers');
await page.overwrite(selectors.accountAliasBasicData.description, 'Email group for psykers');
await page.waitToClick(selectors.accountAliasBasicData.save);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Data saved!');
});
it('should reload the basicData section and check the name was edited successfully', async() => {
await page.reloadSection('account.alias.card.basicData');
const result = await page.waitToGetProperty(selectors.accountAliasBasicData.name, 'value');
expect(result).toEqual('Psykers');
});
it('should check the alias description was edited successfully', async() => {
const result = await page.waitToGetProperty(selectors.accountAliasBasicData.description, 'value');
expect(result).toContain('psykers');
});
it('should search for the IT alias group then access to the users section then check the role listed is the expected one', async() => {
await page.accessToSearchResult('IT');
await page.accessToSection('account.alias.card.users');
const rolesCount = await page.countElement(selectors.accountAliasUsers.anyResult);
expect(rolesCount).toEqual(1);
});
});

View File

@ -0,0 +1,86 @@
import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';
describe('Account Role create and basic data path', () => {
let browser;
let page;
beforeAll(async() => {
browser = await getBrowser();
page = browser.page;
await page.loginAndModule('developer', 'account');
await page.accessToSection('account.role');
});
afterAll(async() => {
await browser.close();
});
it('should open the new account role form by clicking the add button', async() => {
await page.waitToClick(selectors.accountRoleIndex.addRole);
await page.waitForState('account.role.create');
});
it('should fill the form and then save it by clicking the create role button', async() => {
await page.write(selectors.accountRoleIndex.newName, 'boringRole');
await page.write(selectors.accountRoleIndex.newDescription, 'Boring description');
await page.waitToClick(selectors.accountRoleIndex.createRoleButton);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Data saved!');
});
it('should redirect the user to the created role basic data section', async() => {
await page.waitForState('account.role.card.basicData');
});
it('should edit the role basic data', async() => {
await page.overwrite(selectors.accountRoleBasicData.name, 'psyker');
await page.overwrite(selectors.accountRoleBasicData.description, 'A role just for psykers');
await page.waitToClick(selectors.accountRoleBasicData.save);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Data saved!');
});
it('should reload the role basicData section and check the name was edited successfully', async() => {
await page.reloadSection('account.role.card.basicData');
const result = await page.waitToGetProperty(selectors.accountRoleBasicData.name, 'value');
expect(result).toEqual('psyker');
});
it('should check the role description was edited successfully', async() => {
const result = await page.waitToGetProperty(selectors.accountRoleBasicData.description, 'value');
expect(result).toContain('psykers');
});
it('should navigate to the subroles section', async() => {
await page.accessToSection('account.role.card.subroles');
});
it('should asign a subrole', async() => {
await page.waitToClick(selectors.accountSubroles.addSubrole);
await page.autocompleteSearch(selectors.accountSubroles.role, 'teamManager');
await page.waitToClick(selectors.accountSubroles.save);
const message = await page.waitForSnackbar();
expect(message.text).toContain('Role added!');
});
it('should reload the subroles section and check a role was added', async() => {
await page.reloadSection('account.role.card.subroles');
const subrolesCount = await page.countElement(selectors.accountSubroles.anyResult);
expect(subrolesCount).toEqual(1);
});
it('should search for the employee role group then access to the roles inheritance section then check the roles listed are the expected ones', async() => {
await page.accessToSearchResult('employee');
await page.accessToSection('account.role.card.inherited');
const rolesCount = await page.countElement(selectors.accountRoleInheritance.anyResult);
expect(rolesCount).toEqual(6);
});
});

View File

@ -22,10 +22,23 @@
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-invoiceIn:before {
content: "\e960";
.icon-basketadd:before {
content: "\e901";
}
.icon-addperson:before {
content: "\e955";
}
.icon-supplierfalse:before {
content: "\e962";
}
.icon-invoice-in-create:before {
content: "\e948";
}
.icon-invoiceOut:before {
content: "\e960";
}
.icon-invoiceIn:before {
content: "\e961";
}
.icon-supplier:before {
@ -73,9 +86,6 @@
.icon-deliveryprices:before {
content: "\e956";
}
.icon-basketadd:before {
content: "\e955";
}
.icon-catalog:before {
content: "\e952";
}
@ -118,15 +128,9 @@
.icon-actions:before {
content: "\e900";
}
.icon-addperson:before {
content: "\e901";
}
.icon-albaran:before {
content: "\e902";
}
.icon-apps:before {
content: "\e948";
}
.icon-artificial:before {
content: "\e903";
}

View File

@ -8,7 +8,7 @@
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe900;" glyph-name="actions" d="M354.133 558.933v183.467c0 68.267 55.467 123.733 123.733 123.733s119.467-59.733 119.467-123.733v-183.467c59.733 38.4 98.133 106.667 98.133 183.467 0 119.467-98.133 217.6-221.867 217.6s-217.6-98.133-217.6-217.6c0-76.8 38.4-145.067 98.133-183.467zM832 332.8l-221.867 110.933c-8.533 4.267-17.067 4.267-25.6 4.267h-38.4v294.4c0 38.4-34.133 72.533-72.533 72.533s-72.533-34.133-72.533-72.533v-524.8l-166.4 34.133c-4.267 0-8.533 0-12.8 0-17.067 0-29.867-4.267-38.4-17.067l-38.4-38.4 238.933-238.933c12.8-12.8 29.867-21.333 51.2-21.333h332.8c38.4 0 64 25.6 68.267 64l38.4 256c0 4.267 0 8.533 0 8.533 4.267 29.867-17.067 55.467-42.667 68.267z" />
<glyph unicode="&#xe901;" glyph-name="addperson" d="M201.6 755.2c0 115.2 89.6 204.8 201.6 204.8s201.6-89.6 201.6-204.8-89.6-204.8-201.6-204.8c-112 0-201.6 92.8-201.6 204.8zM387.2 153.6v208h214.4v108.8c-70.4 22.4-147.2 32-198.4 32-134.4 0-403.2-70.4-403.2-204.8v-153.6h387.2v9.6zM1024 297.6v-144h-214.4v-214.4h-144v214.4h-214.4v144h214.4v214.4h144v-214.4h214.4z" />
<glyph unicode="&#xe901;" glyph-name="basketadd" d="M197.973 505.173c-15.787-2.987-25.6-15.787-25.6-32l15.787-261.973c0-12.8 12.8-25.6 25.6-22.187h2.987c15.787 2.987 25.6 15.787 25.6 32l-12.8 258.987c-2.56 12.373-18.773 25.173-31.573 25.173zM284.587 479.573v-261.973c0-19.2 12.8-28.587 28.587-28.587s28.587 12.8 28.587 28.587v261.973c0 15.787-12.8 28.587-28.587 28.587s-28.587-12.8-28.587-28.587zM359.68 182.187h-203.093l-44.8 348.16h384.427c61.44 47.36 137.813 75.52 220.587 75.52 39.68 0 78.080-6.4 113.92-18.347v35.84c0 15.787-12.8 28.587-32 32h-140.8l-115.2 226.987c6.4 6.4 6.4 19.2 6.4 28.587-6.4 32-34.987 54.187-64 47.787-32-6.4-54.187-32-47.787-64s34.987-54.187 64-47.787l89.6-197.973h-354.56l89.6 197.973c32-6.4 60.587 19.2 64 47.787 2.987 28.587-19.2 57.6-47.787 64-32 6.4-60.587-19.2-64-47.787 0-9.387 2.987-19.2 6.4-28.587l-115.2-233.387h-140.8c-15.787 0-28.587-12.8-28.587-28.587v-64c0-15.787 12.8-28.587 28.587-28.587h22.613l51.2-377.173c2.987-12.8 15.787-22.187 28.587-22.187h242.347c-5.973 17.067-10.667 35.413-13.653 53.76zM444.16 481.707v0.853c0 12.8-12.8 25.6-28.587 25.6s-28.587-12.8-28.587-28.587v-87.040c14.507 32.853 34.133 62.72 57.173 89.173zM716.8 550.4c-169.813 0-307.2-137.387-307.2-307.2s137.387-307.2 307.2-307.2c169.813 0 307.2 137.387 307.2 307.2s-137.387 307.2-307.2 307.2zM897.28 287.573v-89.173h-135.68v-135.68h-89.173v136.107h-135.68v89.173h135.68v135.68h89.173v-135.68h135.68v-0.427z" />
<glyph unicode="&#xe902;" glyph-name="albaran" d="M819.2 960h-622.933c-55.467 0-102.4-46.933-102.4-102.4v-819.2c0-55.467 46.933-102.4 102.4-102.4h622.933c55.467 0 102.4 46.933 102.4 102.4v819.2c0 55.467-46.933 102.4-102.4 102.4zM358.4 174.933h-102.4v102.4h503.467v-102.4h-401.067zM256 379.733v102.4h503.467v-102.4h-503.467zM759.467 584.533h-503.467v102.4h503.467v-102.4z" />
<glyph unicode="&#xe903;" glyph-name="artificial" d="M310.4-35.2c0 41.6 0 80 0 128-32-16-54.4-32-76.8-44.8-19.2-12.8-35.2-12.8-48 12.8-51.2 96-105.6 185.6-156.8 281.6-9.6 12.8-12.8 28.8-22.4 44.8 32 22.4 64 41.6 102.4 64-38.4 22.4-70.4 44.8-105.6 67.2 22.4 38.4 44.8 76.8 64 115.2 41.6 70.4 83.2 140.8 121.6 211.2 9.6 16 19.2 19.2 35.2 9.6 25.6-16 51.2-28.8 86.4-48 0 44.8 0 83.2 0 124.8 137.6 0 272 0 406.4 0 0-41.6 0-83.2 0-128 38.4 22.4 73.6 41.6 108.8 60.8 19.2-32 38.4-64 57.6-96 41.6-76.8 86.4-153.6 131.2-230.4 9.6-19.2 6.4-28.8-9.6-38.4-25.6-16-51.2-32-83.2-51.2 35.2-22.4 67.2-44.8 105.6-67.2-67.2-118.4-131.2-233.6-198.4-348.8-35.2 19.2-70.4 38.4-108.8 60.8 0-44.8 0-83.2 0-124.8-140.8-3.2-275.2-3.2-409.6-3.2zM796.8 745.6c-57.6-32-108.8-64-166.4-96 0 67.2 0 128 0 192-76.8 0-153.6 0-233.6 0 0-64 0-124.8 0-192-51.2 32-96 57.6-140.8 83.2-9.6 3.2-28.8 3.2-32-3.2-38.4-60.8-70.4-121.6-108.8-185.6 57.6-32 108.8-64 163.2-96-54.4-32-108.8-64-163.2-96 28.8-54.4 57.6-105.6 86.4-153.6 28.8-51.2 32-51.2 80-22.4 35.2 19.2 73.6 41.6 115.2 67.2 0-67.2 0-131.2 0-192 80 0 156.8 0 236.8 0 0 64 0 121.6 0 185.6 54.4-32 105.6-60.8 160-89.6 35.2 64 73.6 124.8 105.6 188.8 3.2 6.4-6.4 22.4-12.8 25.6-35.2 22.4-70.4 41.6-105.6 64-28.8 16-28.8 25.6 0 41.6 35.2 22.4 73.6 41.6 108.8 67.2 6.4 3.2 12.8 19.2 9.6 25.6-32 60.8-67.2 121.6-102.4 185.6zM387.2 323.2c0 86.4 0 166.4 0 252.8 83.2 0 163.2 0 246.4 0 0-83.2 0-166.4 0-252.8-83.2 0-163.2 0-246.4 0zM553.6 409.6c0 28.8 0 51.2 0 76.8-25.6 0-51.2 0-76.8 0 0-25.6 0-51.2 0-76.8 25.6 0 51.2 0 76.8 0z" />
<glyph unicode="&#xe904;" glyph-name="barcode" d="M0 857.6h102.4v-819.2h-102.4v819.2zM307.2 857.6h153.6v-819.2h-153.6v819.2zM768 857.6h51.2v-819.2h-51.2v819.2zM204.8 857.6h51.2v-819.2h-51.2v819.2zM921.6 857.6h102.4v-819.2h-102.4v819.2zM563.2 857.6h102.4v-819.2h-102.4v819.2z" />
@ -34,18 +34,18 @@
<glyph unicode="&#xe918;" glyph-name="greuge" d="M921.6 729.6h-204.8v102.4c0 55.467-46.933 102.4-102.4 102.4h-204.8c-55.467 0-102.4-46.933-102.4-102.4v-102.4h-204.8c-55.467 0-102.4-46.933-102.4-102.4v-563.2c0-55.467 46.933-102.4 102.4-102.4h819.2c55.467 0 102.4 46.933 102.4 102.4v563.2c0 55.467-46.933 102.4-102.4 102.4zM614.4 729.6h-204.8v102.4h204.8v-102.4z" />
<glyph unicode="&#xe919;" glyph-name="grid" d="M0 704h256v256h-256v-256zM384-64h256v256h-256v-256zM0-64h256v256h-256v-256zM0 320h256v256h-256v-256zM384 320h256v256h-256v-256zM768 960v-256h256v256h-256zM384 704h256v256h-256v-256zM768 320h256v256h-256v-256zM768-64h256v256h-256v-256z" />
<glyph unicode="&#xe91a;" glyph-name="history" d="M554.667 934.4c-260.267 0-469.333-209.067-469.333-469.333h-85.333l136.533-209.067 140.8 209.067h-85.333c0 200.533 162.133 362.667 362.667 362.667s362.667-162.133 362.667-362.667-162.133-362.667-362.667-362.667c-98.133 0-192 42.667-251.733 106.667l-72.533-72.533c85.333-85.333 200.533-136.533 332.8-136.533 260.267 0 465.067 209.067 465.067 465.067s-217.6 469.333-473.6 469.333zM503.467 674.133v-260.267l221.867-132.267 34.133 64-179.2 106.667v221.867h-76.8z" />
<glyph unicode="&#xe91b;" glyph-name="disabled" d="M98.133 174.933v17.067c0 76.8 81.067 128 179.2 162.133l-179.2-179.2zM247.467 42.667h678.4v149.333c0 110.933-183.467 179.2-328.533 200.533l-349.867-349.867zM686.933 763.733c-38.4 55.467-102.4 89.6-174.933 89.6-115.2 0-209.067-89.6-209.067-204.8 0-68.267 38.4-132.267 98.133-170.667l285.867 285.867zM0-4.267l59.733-59.733 964.267 964.267-59.733 59.733-964.267-964.267z" />
<glyph unicode="&#xe91c;" glyph-name="invoices" d="M320 576h341.333c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-341.333c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM320 469.333h341.333c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-341.333c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM320 358.4h128c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-128c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM917.333 960h-682.667c-59.733 0-106.667-46.933-106.667-106.667v-682.667c0-12.8 8.533-21.333 21.333-21.333s21.333 8.533 21.333 21.333v682.667c0 34.133 29.867 64 64 64h597.333c-12.8-17.067-21.333-38.4-21.333-64v-810.667c0-34.133-29.867-64-64-64s-64 29.867-64 64v42.667c0 12.8-8.533 21.333-21.333 21.333h-640c-12.8 0-21.333-8.533-21.333-21.333v-42.667c0-59.733 46.933-106.667 106.667-106.667h640c59.733 0 106.667 46.933 106.667 106.667v810.667c0 34.133 29.867 64 64 64s64-29.867 64-64v-42.667h-64c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h85.333c12.8 0 21.333 8.533 21.333 21.333v64c0 59.733-46.933 106.667-106.667 106.667zM42.667 42.667v21.333h597.333v-21.333c0-25.6 8.533-46.933 21.333-64h-554.667c-34.133 0-64 29.867-64 64zM657.067 247.467c-12.8-8.533-25.6-12.8-42.667-12.8-12.8 0-25.6 4.267-38.4 12.8-8.533 4.267-12.8 12.8-21.333 21.333h64c4.267 0 8.533 4.267 12.8 4.267 0 0 4.267 4.267 4.267 12.8 0 4.267 0 8.533-4.267 12.8 0 0-4.267 4.267-12.8 4.267h-72.533c0 0 0 0 0 4.267 0 0 0 4.267 0 4.267h89.6c4.267 0 8.533 4.267 12.8 4.267 4.267 4.267 4.267 8.533 4.267 12.8s0 8.533-4.267 12.8c0 0-4.267 4.267-12.8 4.267h-76.8c4.267 8.533 12.8 12.8 17.067 21.333 12.8 8.533 21.333 12.8 34.133 12.8 8.533 0 17.067 0 21.333-4.267s12.8-4.267 17.067-8.533c4.267-4.267 12.8-4.267 17.067-4.267 0 0 4.267 4.267 4.267 4.267s4.267 4.267 4.267 4.267c0 4.267 4.267 4.267 4.267 8.533s0 8.533-4.267 12.8c-8.533 8.533-17.067 12.8-29.867 17.067-17.067-4.267-46.933-4.267-72.533-17.067-12.8-4.267-25.6-12.8-34.133-25.6-8.533-8.533-12.8-21.333-17.067-29.867h-17.067c-4.267 0-8.533 0-12.8-4.267s-4.267-8.533-4.267-12.8c0-4.267 0-8.533 4.267-12.8s8.533-4.267 12.8-4.267h8.533c0 0 0-4.267 0-4.267s0 0 0-4.267h-8.533c-4.267 0-8.533 0-12.8-4.267s-4.267-8.533-4.267-12.8c0-4.267 0-8.533 4.267-12.8s8.533-4.267 12.8-4.267h12.8c4.267-12.8 8.533-21.333 17.067-34.133s21.333-21.333 34.133-25.6c12.8-4.267 25.6-8.533 42.667-8.533 25.6 0 46.933 8.533 64 21.333 8.533 8.533 8.533 12.8 8.533 21.333 0 4.267 0 8.533-4.267 12.8-8.533 4.267-12.8 4.267-21.333 0z" />
<glyph unicode="&#xe91b;" glyph-name="disabled" d="M1012.48 3.413c15.36-15.36 15.36-40.107 0-55.893-7.68-7.68-17.92-11.52-27.733-11.52-10.24 0-20.053 3.84-27.733 11.52l-945.493 945.067c-15.36 15.36-15.36 40.107 0 55.893 7.68 7.68 17.92 11.52 27.733 11.52 10.24 0 20.053-3.84 27.733-11.52l945.493-945.067zM938.667 140.8v37.973c0 87.467-105.813 148.48-220.16 183.040l220.16-221.013zM608 471.893c69.547 35.84 117.333 107.52 117.333 192.427 0 119.893-96 215.893-213.333 215.893-84.053 0-156.16-49.493-190.72-121.6l286.72-286.72zM449.707 390.827c-149.333-16.213-364.373-87.040-364.373-212.053v-162.56h738.987l-374.613 374.613z" />
<glyph unicode="&#xe91c;" glyph-name="invoices" d="M320 576h341.333c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-341.333c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM320 469.333h341.333c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-341.333c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM320 358.4h128c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-128c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM917.333 960h-682.667c-59.733 0-106.667-46.933-106.667-106.667v-682.667c0-12.8 8.533-21.333 21.333-21.333s21.333 8.533 21.333 21.333v682.667c0 34.133 29.867 64 64 64h597.333c-12.8-17.067-21.333-38.4-21.333-64v-810.667c0-34.133-29.867-64-64-64s-64 29.867-64 64v42.667c0 12.8-8.533 21.333-21.333 21.333h-640c-12.8 0-21.333-8.533-21.333-21.333v-42.667c0-59.733 46.933-106.667 106.667-106.667h640c59.733 0 106.667 46.933 106.667 106.667v810.667c0 34.133 29.867 64 64 64s64-29.867 64-64v-42.667h-64c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h85.333c12.8 0 21.333 8.533 21.333 21.333v64c0 59.733-46.933 106.667-106.667 106.667zM42.667 42.667v21.333h597.333v-21.333c0-25.6 8.533-46.933 21.333-64h-554.667c-34.133 0-64 29.867-64 64zM720.64 231.68c-3.413-8.533-8.96-16.213-15.36-22.613-6.827-6.4-14.080-11.947-22.613-16.64-8.533-4.267-17.493-7.68-26.88-10.24s-18.773-3.413-28.16-3.413c-12.373 0-24.32 2.133-35.413 6.4s-20.907 9.813-29.867 17.067c-8.96 7.253-16.64 15.36-23.040 25.173-6.4 9.387-11.52 19.627-14.933 30.72h-33.28l9.813 23.467h17.92c-0.427 4.267-0.853 8.96-0.853 14.080v2.133h-22.187l9.387 23.467h15.787c2.56 11.52 6.827 22.613 12.8 32.853 5.973 10.667 13.653 19.627 23.040 27.733s20.053 14.507 32 19.2c12.373 4.693 25.6 7.253 40.533 7.253 20.907 0 38.827-4.693 54.187-13.653s26.453-20.907 34.133-35.84l-33.707-23.467c-2.987 6.4-6.827 11.947-10.667 16.213-4.267 4.267-8.96 7.68-13.653 10.24s-9.813 4.267-15.36 5.547c-5.547 1.28-10.667 1.707-15.787 1.707-8.107 0-15.787-1.28-22.613-3.84s-12.8-5.973-17.92-10.24c-5.12-4.267-9.387-9.387-13.227-15.36s-6.4-11.947-8.107-18.773h81.92l-9.387-23.467h-76.373v-3.413c0-4.267 0.427-8.533 0.853-12.8h74.667l-9.387-23.467h-58.453c5.547-11.947 13.227-21.76 23.467-29.013s21.76-11.093 35.413-11.093c5.12 0 10.24 0.427 15.787 1.707s10.667 3.413 15.787 5.973c5.12 2.987 9.387 6.4 14.080 10.667 4.267 4.267 7.68 9.813 10.24 15.787l35.413-20.053z" />
<glyph unicode="&#xe91d;" glyph-name="languaje" d="M512 960c-281.6 0-512-230.4-512-512s230.4-512 512-512c281.6 0 512 230.4 512 512s-230.4 512-512 512zM866.133 652.8h-149.333c-17.067 64-38.4 123.733-72.533 183.467 93.867-34.133 174.933-98.133 221.867-183.467zM512 857.6c42.667-59.733 76.8-128 98.133-204.8h-196.267c21.333 72.533 55.467 140.8 98.133 204.8zM115.2 345.6c-8.533 34.133-12.8 68.267-12.8 102.4s4.267 68.267 12.8 102.4h174.933c-4.267-34.133-8.533-68.267-8.533-102.4s4.267-68.267 8.533-102.4h-174.933zM157.867 243.2h149.333c17.067-64 38.4-123.733 72.533-183.467-93.867 34.133-174.933 98.133-221.867 183.467zM307.2 652.8h-149.333c51.2 85.333 128 149.333 221.867 183.467-29.867-59.733-55.467-119.467-72.533-183.467zM512 38.4c-42.667 59.733-76.8 128-98.133 204.8h196.267c-21.333-72.533-55.467-140.8-98.133-204.8zM631.467 345.6h-238.933c-4.267 34.133-8.533 68.267-8.533 102.4s4.267 68.267 8.533 102.4h238.933c4.267-34.133 8.533-68.267 8.533-102.4s-4.267-68.267-8.533-102.4zM644.267 59.733c29.867 55.467 55.467 119.467 72.533 183.467h149.333c-46.933-85.333-128-149.333-221.867-183.467zM733.867 345.6c4.267 34.133 8.533 68.267 8.533 102.4s-4.267 68.267-8.533 102.4h174.933c8.533-34.133 12.8-68.267 12.8-102.4s-4.267-68.267-12.8-102.4h-174.933z" />
<glyph unicode="&#xe91e;" glyph-name="lines" d="M0 814.933h1024v-149.333h-1024v149.333zM0 524.8h1024v-149.333h-1024v149.333zM0 230.4h1024v-149.333h-1024v149.333z" />
<glyph unicode="&#xe91f;" glyph-name="logout" d="M405.333 243.2l81.067-81.067 281.6 285.867-285.867 285.867-76.8-81.067 145.067-149.333h-550.4v-115.2h550.4l-145.067-145.067zM908.8 960h-793.6c-64 0-115.2-51.2-115.2-115.2v-226.133h115.2v226.133h797.867v-797.867h-797.867v230.4h-115.2v-226.133c0-64 51.2-115.2 115.2-115.2h797.867c64 0 115.2 51.2 115.2 115.2v793.6c-4.267 64-55.467 115.2-119.467 115.2z" />
<glyph unicode="&#xe920;" glyph-name="mana" d="M529.067 494.933c0 17.067 12.8 29.867 29.867 29.867s29.867-12.8 29.867-29.867c0-17.067-12.8-29.867-29.867-29.867s-29.867 12.8-29.867 29.867zM614.4 324.267c21.333 0 38.4 17.067 38.4 38.4s-17.067 38.4-38.4 38.4c-21.333 0-38.4-17.067-38.4-38.4 0-17.067 17.067-38.4 38.4-38.4zM473.6 614.4c12.8 0 25.6 12.8 25.6 25.6s-12.8 25.6-25.6 25.6-25.6-12.8-25.6-25.6c0-17.067 12.8-25.6 25.6-25.6zM802.133 302.933v-4.267c-4.267-157.867-132.267-285.867-290.133-285.867s-285.867 128-290.133 285.867v4.267h580.267zM584.533 238.933c0 17.067-12.8 29.867-29.867 29.867s-29.867-12.8-29.867-29.867 12.8-29.867 29.867-29.867c17.067 0 29.867 12.8 29.867 29.867zM401.067 264.533c-25.6 0-46.933-21.333-46.933-46.933s21.333-46.933 46.933-46.933c25.6 0 46.933 21.333 46.933 46.933s-21.333 46.933-46.933 46.933zM456.533 354.133c25.6 0 46.933 21.333 46.933 46.933s-21.333 46.933-46.933 46.933c-25.6 0-46.933-21.333-46.933-46.933s21.333-46.933 46.933-46.933zM878.933 302.933c0-200.533-162.133-366.933-366.933-366.933s-366.933 162.133-366.933 366.933c0 136.533 72.533 260.267 192 324.267v187.733c-21.333 4.267-38.4 21.333-38.4 42.667v59.733c0 25.6 21.333 42.667 42.667 42.667h332.8c25.6 0 42.667-21.333 42.667-42.667v-55.467c0-21.333-17.067-42.667-38.4-42.667v-192c123.733-68.267 200.533-192 200.533-324.267zM840.533 302.933c0 128-76.8 243.2-192 298.667h-4.267v256h34.133c4.267 0 4.267 4.267 4.267 4.267v55.467c0 4.267-4.267 4.267-4.267 4.267h-332.8c-4.267 0-8.533-4.267-8.533-4.267v-55.467c0-4.267 4.267-4.267 4.267-4.267h34.133v-256h-4.267c-115.2-51.2-192-170.667-192-298.667 0-179.2 145.067-328.533 328.533-328.533s332.8 145.067 332.8 328.533z" />
<glyph unicode="&#xe921;" glyph-name="mandatory" d="M981.333 725.333v-618.667c0-93.867-76.8-170.667-170.667-170.667h-311.467c-46.933 0-89.6 17.067-119.467 51.2l-337.067 341.333c0 0 55.467 51.2 55.467 55.467 8.533 8.533 21.333 12.8 34.133 12.8 8.533 0 17.067-4.267 25.6-8.533 0 0 183.467-106.667 183.467-106.667v507.733c0 34.133 29.867 64 64 64s64-29.867 64-64v-298.667h42.667v405.333c0 34.133 29.867 64 64 64s64-29.867 64-64v-405.333h42.667v362.667c0 34.133 29.867 64 64 64s64-29.867 64-64v-362.667h42.667v234.667c0 34.133 29.867 64 64 64s64-29.867 64-64z" />
<glyph unicode="&#xe922;" glyph-name="niche" d="M512 960c-196.267 0-358.4-162.133-358.4-358.4 0-268.8 358.4-665.6 358.4-665.6s358.4 396.8 358.4 665.6c0 196.267-162.133 358.4-358.4 358.4zM512 473.6c-72.533 0-128 55.467-128 128s55.467 128 128 128 128-55.467 128-128-55.467-128-128-128z" />
<glyph unicode="&#xe923;" glyph-name="no036" d="M89.6 145.067v627.2c0 46.933 29.867 85.333 72.533 98.133v-46.933c-17.067-12.8-29.867-29.867-29.867-51.2v-584.533l-42.667-42.667zM409.6 465.067h-46.933v85.333h132.267l123.733 123.733h-46.933v226.133l136.533-136.533 51.2 51.2-149.333 145.067h-332.8c-42.667 0-81.067-38.4-81.067-81.067v-627.2l213.333 213.333zM686.933 51.2h-452.267l-42.667-42.667c0 0 0 0 0 0h494.933c51.2 0 93.867 38.4 102.4 85.333h-42.667c-8.533-25.6-34.133-42.667-59.733-42.667zM691.2 507.733v-42.667h-42.667l-81.067-81.067h123.733v-81.067h-204.8l-166.4-166.4h452.267c42.667 0 81.067 38.4 81.067 81.067v452.267l-162.133-162.133zM59.733-64l-59.733 59.733 964.267 964.267 59.733-59.733-964.267-964.267z" />
<glyph unicode="&#xe923;" glyph-name="no036" d="M39.253 960c-9.813 0-20.053-3.84-27.733-11.52-15.36-15.787-15.36-40.533 0-55.893l945.493-945.067c7.68-7.68 17.493-11.52 27.733-11.52 9.813 0 20.053 3.84 27.733 11.52 15.36 15.787 15.36 40.533 0 55.893l-945.493 945.067c-7.68 7.68-17.493 11.52-27.733 11.52zM555.947 520.107h116.907c19.627 0 35.413-15.787 35.413-35.413s-15.787-35.413-35.413-35.413h-46.080l52.053-52.053c14.933-2.56 26.453-14.080 29.013-29.013l145.92-145.92c4.267 9.813 6.827 20.48 6.827 32v355.413c0 20.48-8.107 40.533-22.613 54.613l-188.16 187.307c-14.933 14.933-34.56 23.040-55.467 23.040h-240.213c-42.24 0-76.373-33.707-77.653-75.52l279.467-279.040zM587.947 816.64l214.613-213.333h-175.36c-21.333 0-38.827 17.493-38.827 38.827v174.507zM353.707 176.64h313.6l-150.187 150.187h-58.027c-19.627 0-35.413 15.787-35.413 35.413 0 15.787 10.24 29.013 24.32 33.707l-171.52 171.52-0.427-313.173c0-43.093 34.987-77.653 77.653-77.653zM627.2 98.987h-389.973c-21.333 0-38.827 17.493-38.827 38.827v465.493c0 21.333-17.493 38.827-38.827 38.827s-38.827-17.493-38.827-38.827v-504.32c0-42.667 34.987-77.653 78.080-77.653h428.373c21.333 0 38.827 17.493 38.827 38.827s-17.493 38.827-38.827 38.827z" />
<glyph unicode="&#xe924;" glyph-name="notes" d="M614.4 960h-413.867c-59.733 0-106.667-46.933-106.667-102.4v-819.2c0-55.467 46.933-102.4 102.4-102.4h627.2c55.467 0 102.4 46.933 102.4 102.4v614.4l-311.467 307.2zM563.2 601.6v281.6l290.133-281.6h-290.133z" />
<glyph unicode="&#xe925;" glyph-name="noweb" d="M0 362.667c0 132.267 98.133 238.933 226.133 256 55.467 102.4 162.133 170.667 285.867 170.667 64 0 119.467-17.067 170.667-51.2l-580.267-580.267c-64 46.933-102.4 123.733-102.4 204.8zM823.467 533.333c-4.267 29.867-17.067 55.467-25.6 81.067l-507.733-507.733h520.533c119.467 0 213.333 93.867 213.333 213.333 0 110.933-85.333 204.8-200.533 213.333zM1024 900.267l-59.733 59.733-964.267-964.267 59.733-59.733 964.267 964.267z" />
<glyph unicode="&#xe926;" glyph-name="onlinepayment" d="M1024 448c0 136.533-55.467 264.533-149.333 362.667-98.133 98.133-226.133 149.333-362.667 149.333 0 0 0 0 0 0s0 0 0 0 0 0-4.267 0c0 0 0 0 0 0s0 0 0 0c-136.533 0-260.267-55.467-358.4-149.333-98.133-98.133-149.333-226.133-149.333-362.667 0-281.6 230.4-512 512-512 0 0 0 0 0 0s0 0 0 0c8.533 0 12.8 0 21.333 0-21.333 12.8-42.667 29.867-59.733 46.933-68.267 21.333-132.267 98.133-166.4 204.8 21.333 4.267 42.667 8.533 59.733 12.8 0 12.8-4.267 25.6-4.267 38.4 0 0 0 0 0 0-21.333 0-46.933-4.267-68.267-8.533-17.067 59.733-25.6 128-29.867 196.267h153.6c8.533 12.8 17.067 29.867 29.867 42.667h-183.467c0 81.067 12.8 153.6 34.133 221.867 59.733-12.8 123.733-21.333 187.733-21.333v-153.6c12.8 12.8 25.6 21.333 42.667 29.867v119.467c68.267 0 132.267 12.8 192 25.6 8.533-29.867 17.067-64 25.6-93.867 12.8 0 29.867-4.267 42.667-4.267-8.533 38.4-17.067 76.8-25.6 110.933 42.667 12.8 81.067 25.6 110.933 42.667 59.733-72.533 98.133-166.4 106.667-260.267 17.067-17.067 29.867-38.4 42.667-55.467 0 4.267 0 12.8 0 17.067 0 0 0 0 0 0s0 0 0 0 0 0 0 0zM145.067 742.4c34.133-17.067 72.533-29.867 115.2-38.4-21.333-68.267-34.133-149.333-38.4-230.4h-179.2c4.267 93.867 38.4 187.733 102.4 268.8zM132.267 170.667c-51.2 72.533-85.333 162.133-89.6 256h179.2c0-76.8 12.8-145.067 29.867-209.067-42.667-12.8-85.333-29.867-119.467-46.933zM371.2 0c-81.067 25.6-153.6 72.533-209.067 136.533 29.867 17.067 68.267 29.867 106.667 42.667 21.333-76.8 59.733-136.533 102.4-179.2zM273.067 738.133c-34.133 12.8-68.267 21.333-98.133 34.133 0 4.267 4.267 4.267 4.267 8.533 55.467 55.467 119.467 93.867 192 115.2-25.6-21.333-46.933-55.467-68.267-89.6-8.533-21.333-21.333-42.667-29.867-68.267zM486.4 708.267c-55.467 0-115.2 8.533-174.933 21.333 12.8 21.333 21.333 38.4 29.867 55.467 42.667 76.8 93.867 119.467 149.333 132.267v-209.067zM529.067 708.267v209.067c59.733-8.533 110.933-55.467 153.6-132.267 8.533-17.067 17.067-34.133 25.6-51.2-55.467-12.8-115.2-21.333-179.2-25.6zM746.667 742.4c-8.533 21.333-17.067 42.667-29.867 59.733-21.333 38.4-42.667 68.267-68.267 89.6 76.8-17.067 140.8-55.467 196.267-110.933 0 0 0 0 0 0-25.6-12.8-59.733-25.6-98.133-38.4zM721.067 541.867c-166.4 0-298.667-136.533-298.667-302.933s132.267-302.933 298.667-302.933c166.4 0 298.667 136.533 298.667 302.933 0 170.667-132.267 302.933-298.667 302.933zM853.333 110.933c-8.533-8.533-21.333-17.067-34.133-25.6s-25.6-12.8-42.667-17.067c-12.8-4.267-29.867-4.267-42.667-4.267-17.067 0-38.4 4.267-51.2 8.533-17.067 8.533-29.867 17.067-46.933 25.6-12.8 12.8-25.6 25.6-34.133 38.4s-17.067 29.867-21.333 46.933h-51.2l12.8 34.133h25.6c0 8.533 0 12.8 0 21.333v4.267h-34.133l12.8 34.133h25.6c4.267 17.067 8.533 34.133 21.333 51.2 8.533 17.067 21.333 29.867 34.133 42.667s29.867 21.333 46.933 29.867c17.067 8.533 38.4 12.8 59.733 12.8 29.867 0 59.733-8.533 81.067-21.333s38.4-29.867 51.2-55.467l-51.2-34.133c-4.267 8.533-8.533 17.067-17.067 25.6s-12.8 12.8-21.333 17.067c-8.533 4.267-17.067 8.533-21.333 8.533-8.533 0-17.067 4.267-25.6 4.267-12.8 0-25.6 0-34.133-4.267s-17.067-8.533-25.6-17.067c-8.533-8.533-12.8-12.8-21.333-21.333-4.267-8.533-8.533-17.067-12.8-29.867h123.733l-12.8-34.133h-115.2v-4.267c0-8.533 0-12.8 0-21.333h110.933l-12.8-34.133h-89.6c8.533-17.067 21.333-34.133 34.133-42.667 17.067-12.8 34.133-17.067 51.2-17.067 8.533 0 17.067 0 25.6 4.267 8.533 0 17.067 4.267 25.6 8.533s12.8 8.533 21.333 17.067c8.533 8.533 12.8 12.8 17.067 25.6l55.467-29.867c0-25.6-8.533-34.133-17.067-46.933z" />
<glyph unicode="&#xe925;" glyph-name="noweb" d="M39.253 960c-9.813 0-20.053-3.84-27.733-11.52-15.36-15.787-15.36-40.533 0-55.893l945.493-945.067c7.68-7.68 17.493-11.52 27.733-11.52 9.813 0 20.053 3.84 27.733 11.52 15.36 15.787 15.36 40.533 0 55.893l-945.493 945.067c-7.68 7.68-17.493 11.52-27.733 11.52zM873.387 202.667c40.107 32.427 65.28 81.92 65.28 138.667 0 92.587-71.253 170.667-163.413 177.92-24.747 120.747-131.413 213.333-263.253 213.333-48.64 0-94.293-12.8-133.547-34.987l494.933-494.933zM256.853 587.093c-98.133-20.907-171.52-106.24-171.52-210.347 0-117.333 96-213.333 213.333-213.333h381.867l-423.68 423.68z" />
<glyph unicode="&#xe926;" glyph-name="onlinepayment" d="M721.067 541.867c-166.4 0-298.667-136.533-298.667-302.933s132.267-302.933 298.667-302.933 298.667 136.533 298.667 302.933c0 170.667-132.267 302.933-298.667 302.933zM773.12 287.573v-28.16h-166.4c-0.853-6.4-1.707-13.227-1.707-20.48 0-6.827 0.427-14.080 1.707-20.48h166.4v-28.16h-159.147c9.387-26.027 25.6-46.933 48.64-62.72s49.92-23.467 80.213-23.467c39.68 0 72.533 14.080 99.413 42.24l32-31.573c-15.787-17.92-34.987-32-58.453-40.96-23.040-9.387-48.213-14.080-75.947-14.080-29.013 0-55.893 5.547-80.64 16.213s-45.653 26.027-62.72 46.080c-17.067 19.627-29.013 42.667-36.267 68.693h-56.747v28.16h52.053c-0.853 8.533-0.853 15.36-0.853 20.48s0.427 11.947 0.853 20.48h-52.053v28.16h57.173c6.827 26.027 19.2 49.067 36.267 68.693s37.973 34.987 62.72 46.080c24.747 10.667 51.627 16.213 80.64 16.213 27.733 0 53.333-4.693 75.947-14.080 23.040-9.387 42.24-23.040 58.027-40.533l-32-31.573c-26.453 27.733-59.733 41.813-99.413 41.813-30.293 0-57.173-7.68-80.213-23.467s-39.253-36.693-48.64-62.72h159.147zM874.667 810.667c-98.133 98.133-226.133 149.333-362.667 149.333 0 0 0 0-4.267 0-136.533 0-260.267-55.467-358.4-149.333-98.133-98.133-149.333-226.133-149.333-362.667 0-281.6 230.4-512 512-512 8.533 0 12.8 0 21.333 0-21.333 12.8-42.667 29.867-59.733 46.933-68.267 21.333-132.267 98.133-166.4 204.8 21.333 4.267 42.667 8.533 59.733 12.8 0 12.8-4.267 25.6-4.267 38.4-21.333 0-46.933-4.267-68.267-8.533-17.067 59.733-25.6 128-29.867 196.267h153.6c8.533 12.8 17.067 29.867 29.867 42.667h-183.467c0 81.067 12.8 153.6 34.133 221.867 59.733-12.8 123.733-21.333 187.733-21.333v-153.6c12.8 12.8 25.6 21.333 42.667 29.867v119.467c68.267 0 132.267 12.8 192 25.6 8.533-29.867 17.067-64 25.6-93.867 12.8 0 29.867-4.267 42.667-4.267-8.533 38.4-17.067 76.8-25.6 110.933 42.667 12.8 81.067 25.6 110.933 42.667 59.733-72.533 98.133-166.4 106.667-260.267 17.067-17.067 29.867-38.4 42.667-55.467 0 4.267 0 12.8 0 17.067 0 136.533-55.467 264.533-149.333 362.667zM145.067 742.4c34.133-17.067 72.533-29.867 115.2-38.4-21.333-68.267-34.133-149.333-38.4-230.4h-179.2c4.267 93.867 38.4 187.733 102.4 268.8zM132.267 170.667c-51.2 72.533-85.333 162.133-89.6 256h179.2c0-76.8 12.8-145.067 29.867-209.067-42.667-12.8-85.333-29.867-119.467-46.933zM268.8 179.2c21.333-76.8 59.733-136.533 102.4-179.2-81.067 25.6-153.6 72.533-209.067 136.533 29.867 17.067 68.267 29.867 106.667 42.667zM273.067 738.133c-34.133 12.8-68.267 21.333-98.133 34.133 0 4.267 4.267 4.267 4.267 8.533 55.467 55.467 119.467 93.867 192 115.2-25.6-21.333-46.933-55.467-68.267-89.6-8.533-21.333-21.333-42.667-29.867-68.267zM490.667 708.267h-4.267c-55.467 0-115.2 8.533-174.933 21.333 12.8 21.333 21.333 38.4 29.867 55.467 42.667 76.8 93.867 119.467 149.333 132.267v-209.067zM529.067 708.267v209.067c59.733-8.533 110.933-55.467 153.6-132.267 8.533-17.067 17.067-34.133 25.6-51.2-55.467-12.8-115.2-21.333-179.2-25.6zM746.667 742.4c-8.533 21.333-17.067 42.667-29.867 59.733-21.333 38.4-42.667 68.267-68.267 89.6 76.8-17.067 140.8-55.467 196.267-110.933-25.6-12.8-59.733-25.6-98.133-38.4z" />
<glyph unicode="&#xe927;" glyph-name="package" d="M512 580.267l-448 204.8 448 174.933 448-174.933-448-204.8zM46.933 755.2l448-204.8v-614.4l-448 238.933v580.267zM977.067 174.933l-448-238.933v614.4l448 204.8v-580.267z" />
<glyph unicode="&#xe928;" glyph-name="payment" d="M823.467 162.133c-12.8-59.733-64-81.067-115.2-98.133-38.4-17.067-81.067-21.333-123.733-25.6-29.867 0-59.733-4.267-89.6-4.267-68.267 0-132.267 12.8-192 34.133-42.667 17.067-81.067 42.667-102.4 85.333-29.867 4.267-55.467 8.533-81.067 17.067s-51.2 17.067-72.533 29.867c-29.867 17.067-46.933 42.667-46.933 81.067 0 149.333 0 294.4 0 439.467 0 34.133 12.8 59.733 38.4 76.8 38.4 29.867 85.333 38.4 136.533 46.933s102.4 8.533 149.333 4.267c59.733-4.267 119.467-17.067 170.667-51.2 4.267 0 4.267-4.267 8.533-4.267 59.733 46.933 128 59.733 200.533 64 38.4 4.267 76.8 0 115.2-4.267 51.2-4.267 102.4-17.067 149.333-42.667 38.4-17.067 55.467-46.933 55.467-89.6 0-140.8 0-281.6 0-418.133 0-42.667-21.333-72.533-55.467-93.867-29.867-17.067-64-29.867-98.133-34.133-12.8-8.533-29.867-8.533-46.933-12.8zM507.733 448c68.267 0 132.267 8.533 196.267 29.867 102.4 34.133 42.667 85.333 17.067 98.133-46.933 21.333-98.133 34.133-149.333 38.4-55.467 4.267-110.933 4.267-166.4-4.267-42.667-8.533-89.6-21.333-128-42.667-34.133-21.333-34.133-42.667-4.267-64 21.333-17.067 51.2-29.867 76.8-34.133 55.467-12.8 106.667-21.333 157.867-21.333zM251.733 273.067c0-29.867 0-55.467 0-81.067s8.533-42.667 29.867-51.2c25.6-12.8 46.933-21.333 72.533-29.867 64-21.333 128-21.333 192-21.333 51.2 0 98.133 8.533 145.067 25.6 25.6 8.533 51.2 17.067 68.267 38.4 4.267 4.267 12.8 12.8 12.8 21.333 0 29.867 0 59.733 0 93.867-132.267-72.533-388.267-72.533-520.533 4.267zM251.733 448c0-29.867 0-55.467 0-85.333 0-12.8 4.267-25.6 12.8-34.133 17.067-12.8 38.4-25.6 55.467-29.867 55.467-21.333 115.2-29.867 174.933-29.867 46.933 0 93.867 4.267 136.533 12.8 38.4 4.267 76.8 17.067 106.667 42.667 12.8 8.533 25.6 21.333 25.6 34.133 0 29.867 0 59.733 0 89.6-166.4-72.533-337.067-72.533-512 0zM968.533 733.867c-4.267 21.333-17.067 29.867-25.6 34.133-38.4 21.333-81.067 29.867-128 34.133-68.267 8.533-136.533 4.267-204.8-17.067-29.867-8.533-55.467-21.333-72.533-46.933 12.8-25.6 34.133-34.133 55.467-42.667 42.667-17.067 85.333-25.6 132.267-25.6 38.4 0 76.8 0 115.2 8.533 34.133 4.267 68.267 12.8 98.133 34.133 12.8 4.267 21.333 12.8 29.867 21.333zM273.067 665.6c12.8 0 29.867 0 42.667 0 46.933 4.267 89.6 12.8 132.267 34.133 8.533 4.267 21.333 12.8 29.867 21.333 12.8 8.533 8.533 21.333 0 34.133-8.533 4.267-17.067 12.8-25.6 17.067-64 29.867-128 34.133-196.267 34.133-29.867 0-59.733-4.267-85.333-12.8-38.4-8.533-72.533-17.067-102.4-42.667-12.8-12.8-17.067-21.333 0-34.133 12.8-8.533 25.6-17.067 42.667-21.333 46.933-25.6 102.4-34.133 162.133-29.867zM772.267 614.4c34.133-21.333 51.2-51.2 55.467-89.6 42.667 8.533 85.333 17.067 119.467 38.4 8.533 4.267 17.067 17.067 17.067 25.6 0 21.333 4.267 46.933 0 68.267-59.733-25.6-123.733-38.4-192-42.667zM55.467 652.8c0-21.333 0-42.667 0-59.733s8.533-29.867 21.333-38.4c29.867-21.333 68.267-29.867 102.4-34.133 4.267 0 8.533 0 17.067 0 0 38.4 17.067 64 42.667 89.6-64 0-123.733 12.8-183.467 42.667zM823.467 221.867c42.667 0 98.133 17.067 128 38.4 4.267 4.267 12.8 12.8 12.8 17.067 0 25.6 4.267 46.933 0 72.533-46.933-12.8-93.867-25.6-140.8-38.4 0-29.867 0-55.467 0-89.6zM968.533 503.467c-51.2-12.8-93.867-25.6-145.067-38.4 0-12.8 0-29.867 0-42.667 0-17.067-4.267-29.867 4.267-46.933 17.067 4.267 34.133 4.267 51.2 8.533 25.6 8.533 46.933 21.333 72.533 29.867 8.533 4.267 17.067 12.8 17.067 29.867-4.267 17.067 0 38.4 0 59.733zM196.267 209.067c0 34.133 0 68.267 0 98.133-46.933 8.533-93.867 17.067-136.533 38.4 0-17.067 0-34.133 0-51.2-4.267-29.867 8.533-46.933 34.133-59.733 8.533-4.267 17.067-8.533 29.867-12.8 21.333 0 42.667-4.267 72.533-12.8zM55.467 494.933c0-21.333 0-38.4 0-59.733 0-12.8 4.267-21.333 17.067-29.867 8.533-4.267 21.333-12.8 29.867-17.067 29.867-12.8 59.733-21.333 93.867-21.333 0 34.133 0 64 0 93.867-46.933 8.533-93.867 21.333-140.8 34.133z" />
<glyph unicode="&#xe929;" glyph-name="person" d="M512 960c-140.8 0-256-115.2-256-259.2s115.2-259.2 256-259.2 256 115.2 256 259.2c0 144-115.2 259.2-256 259.2zM512 377.6c-169.6 0-512-86.4-512-259.2v-195.2h1024v195.2c0 172.8-342.4 259.2-512 259.2z" />
@ -55,7 +55,7 @@
<glyph unicode="&#xe92d;" glyph-name="recovery" d="M746.667 477.867c68.267 0 140.8-21.333 196.267-72.533 110.933-102.4 115.2-277.333 8.533-384s-277.333-115.2-384-8.533c-93.867 85.333-110.933 221.867-51.2 328.533l51.2-46.933c-34.133-76.8-17.067-170.667 46.933-230.4 81.067-76.8 209.067-72.533 290.133 8.533 76.8 81.067 72.533 209.067-8.533 290.133-42.667 38.4-93.867 55.467-145.067 55.467l4.267-153.6-170.667 162.133 162.133 170.667v-119.467zM337.067 209.067c0 0 0 0 0 0-17.067 8.533-38.4 17.067-55.467 25.6-21.333 8.533-29.867 25.6-29.867 51.2s0 51.2 0 81.067c29.867-17.067 64-29.867 102.4-38.4 4.267 17.067 12.8 34.133 21.333 51.2-17.067 4.267-34.133 8.533-51.2 17.067-21.333 8.533-38.4 21.333-55.467 29.867-12.8 8.533-17.067 17.067-12.8 34.133 0 29.867 0 55.467 0 85.333 68.267-29.867 132.267-46.933 200.533-51.2 17.067 21.333 38.4 38.4 64 55.467 0 0-4.267 0-4.267 0-51.2 0-106.667 4.267-157.867 21.333-34.133 0-59.733 12.8-81.067 29.867-29.867 21.333-29.867 42.667 4.267 64 38.4 25.6 81.067 34.133 128 42.667 55.467 8.533 110.933 8.533 166.4 4.267 51.2-4.267 102.4-17.067 149.333-38.4 12.8-4.267 42.667-29.867 38.4-55.467 55.467 0 106.667-12.8 153.6-34.133 17.067 4.267 29.867 8.533 46.933 12.8 0-12.8 0-25.6 0-38.4 21.333-12.8 38.4-25.6 55.467-42.667 0 98.133 0 200.533 0 298.667 0 42.667-17.067 72.533-51.2 93.867-46.933 29.867-98.133 38.4-149.333 42.667-34.133 8.533-72.533 8.533-110.933 8.533-72.533-4.267-140.8-21.333-200.533-64-4.267 0-8.533 4.267-8.533 4.267-51.2 34.133-110.933 46.933-170.667 51.2-51.2 0-102.4 0-153.6-8.533-46.933-8.533-93.867-17.067-136.533-46.933-25.6-21.333-38.4-42.667-38.4-76.8 0-145.067 0-294.4 0-439.467 0-38.4 17.067-64 46.933-81.067 21.333-12.8 46.933-25.6 72.533-29.867 25.6-8.533 51.2-12.8 81.067-17.067 17.067-46.933 55.467-68.267 102.4-85.333 12.8-4.267 29.867-8.533 42.667-12.8-4.267 17.067-8.533 34.133-8.533 55.467zM964.267 686.933c0-8.533-8.533-21.333-17.067-25.6-34.133-21.333-76.8-34.133-119.467-38.4-4.267 38.4-17.067 68.267-55.467 89.6 68.267 0 128 12.8 192 42.667 4.267-25.6 4.267-46.933 0-68.267zM610.133 883.2c68.267 17.067 136.533 25.6 204.8 17.067 42.667-4.267 85.333-12.8 128-34.133 12.8-8.533 21.333-12.8 25.6-34.133-8.533-8.533-17.067-17.067-25.6-21.333-29.867-17.067-64-29.867-98.133-34.133-38.4-4.267-76.8-8.533-115.2-8.533-46.933 0-89.6 8.533-132.267 25.6-21.333 8.533-42.667 17.067-55.467 42.667 12.8 29.867 38.4 42.667 68.267 46.933zM68.267 844.8c25.6 25.6 64 34.133 98.133 38.4 29.867 4.267 59.733 12.8 85.333 12.8 68.267 0 132.267-4.267 196.267-34.133 8.533-4.267 17.067-8.533 25.6-17.067 12.8-8.533 12.8-21.333 0-34.133-8.533-8.533-17.067-12.8-29.867-21.333-42.667-21.333-85.333-29.867-132.267-34.133-17.067 0-29.867 0-42.667 0-55.467 4.267-110.933 12.8-162.133 29.867-12.8 4.267-29.867 12.8-42.667 21.333-12.8 17.067-8.533 25.6 4.267 38.4zM196.267 307.2c-25.6 8.533-51.2 12.8-72.533 21.333-8.533 4.267-21.333 8.533-29.867 12.8-25.6 12.8-38.4 29.867-34.133 59.733 0 17.067 0 29.867 0 51.2 46.933-25.6 89.6-34.133 136.533-38.4 0-42.667 0-72.533 0-106.667zM55.467 529.067c0 21.333 0 42.667 0 59.733 46.933-12.8 93.867-21.333 140.8-34.133 0-29.867 0-59.733 0-93.867-34.133 4.267-64 12.8-93.867 21.333-8.533 4.267-21.333 12.8-29.867 17.067-12.8 8.533-17.067 17.067-17.067 29.867zM196.267 618.667c-4.267 0-12.8-4.267-17.067 0-34.133 0-68.267 12.8-102.4 29.867-12.8 8.533-21.333 21.333-21.333 38.4s0 38.4 0 59.733c59.733-25.6 115.2-38.4 179.2-42.667-21.333-25.6-42.667-51.2-38.4-85.333z" />
<glyph unicode="&#xe92e;" glyph-name="regentry" d="M554.667 913.067c-260.267 0-469.333-209.067-469.333-469.333h-85.333l136.533-209.067 140.8 209.067h-85.333c0 200.533 162.133 362.667 362.667 362.667s362.667-162.133 362.667-362.667-162.133-362.667-362.667-362.667c-98.133 0-192 42.667-251.733 106.667l-72.533-72.533c85.333-85.333 200.533-136.533 332.8-136.533 251.733 4.267 460.8 213.333 460.8 473.6s-213.333 460.8-469.333 460.8zM332.8 234.667h430.933v179.2h-110.933v-68.267l-106.667 102.4 102.4 102.4v-68.267h110.933v179.2h-426.667v-426.667z" />
<glyph unicode="&#xe92f;" glyph-name="reserve" d="M841.6 864c48 0 86.4-38.4 86.4-86.4v-662.4c0-48-38.4-86.4-86.4-86.4h-659.2c-48 3.2-86.4 41.6-86.4 89.6v659.2c0 48 38.4 86.4 86.4 86.4h659.2zM841.6 960h-659.2c-99.2 0-182.4-83.2-182.4-182.4v-662.4c0-96 83.2-179.2 182.4-179.2h662.4c99.2 0 182.4 83.2 182.4 182.4v659.2c-3.2 99.2-86.4 182.4-185.6 182.4v0zM611.2 192l-99.2 144h-108.8v-144h-118.4v512h220.8c44.8 0 83.2-6.4 118.4-22.4 32-16 57.6-35.2 76.8-64s25.6-60.8 25.6-99.2c0-38.4-9.6-70.4-28.8-99.2s-44.8-48-76.8-64l115.2-163.2h-124.8zM582.4 585.6c-19.2 16-44.8 22.4-80 22.4h-96v-179.2h96c35.2 0 64 6.4 80 22.4 19.2 16 28.8 38.4 28.8 67.2-3.2 28.8-9.6 51.2-28.8 67.2z" />
<glyph unicode="&#xe930;" glyph-name="risk" d="M640 320v85.333h-51.2l-85.333-85.333h136.533zM362.667 422.4c0 8.533 0 17.067 0 25.6 0 12.8 0 29.867 4.267 42.667h68.267l85.333 85.333h-128c46.933 89.6 140.8 149.333 247.467 149.333 8.533 0 17.067 0 25.6-4.267l89.6 89.6c-34.133 12.8-76.8 21.333-115.2 21.333-166.4 0-307.2-106.667-362.667-256h-149.333v-85.333h132.267c-4.267-12.8-4.267-29.867-4.267-42.667s0-29.867 4.267-42.667h-132.267v-85.333h136.533l98.133 102.4zM640 170.667c-76.8 0-149.333 34.133-200.533 85.333l-76.8-76.8c72.533-72.533 170.667-115.2 277.333-115.2 98.133 0 187.733 38.4 256 98.133l-76.8 76.8c-46.933-42.667-110.933-68.267-179.2-68.267zM1024 900.267l-59.733 59.733-964.267-964.267 59.733-59.733 964.267 964.267z" />
<glyph unicode="&#xe930;" glyph-name="risk" d="M700.587 143.36c-20.48-3.84-42.24-5.973-64.427-5.973-69.973 0-131.84 17.92-184.747 54.187s-90.453 84.48-112.213 144.213h168.533l-64.853 64.853h-119.467c-2.133 15.36-3.413 31.147-3.413 47.36 0 17.067 1.28 32.853 3.413 47.36h25.173l-114.773 114.773c-6.4-16.213-12.373-32.853-17.067-49.92h-131.413v-64.853h119.893c-1.707-20.053-2.133-35.84-2.133-47.36s0.853-27.307 2.133-47.36h-119.893v-64.853h131.84c16.213-60.16 43.947-112.64 83.2-158.293 39.253-45.227 87.467-80.64 144.213-105.813s119.040-37.547 186.027-37.547c55.467 0 106.667 8.107 154.453 24.747l-84.48 84.48zM580.693 495.36h124.587v64.853h-189.44zM407.467 668.16c13.227 13.227 27.733 25.173 43.947 35.84 52.907 36.267 114.773 54.187 184.747 54.187 91.733 0 167.68-32 228.693-96l73.813 72.533c-36.267 40.96-80.64 72.107-133.547 93.44s-110.933 32.427-174.933 32.427c-66.987 0-128.853-12.373-186.027-37.547-43.52-18.347-82.347-43.947-115.627-75.52l78.933-79.36zM39.253 960c10.24 0 20.053-3.84 27.733-11.52l945.493-945.067c15.36-15.36 15.36-40.107 0-55.893-7.68-7.68-17.92-11.52-27.733-11.52-10.24 0-20.053 3.84-27.733 11.52l-945.493 945.067c-15.36 15.36-15.36 40.107 0 55.893 7.68 7.68 17.92 11.52 27.733 11.52z" />
<glyph unicode="&#xe931;" glyph-name="settings" d="M891.733 396.8c0 17.067 4.267 34.133 4.267 51.2s0 34.133-4.267 51.2l106.667 85.333c8.533 8.533 12.8 21.333 4.267 34.133l-102.4 179.2c-4.267 12.8-21.333 17.067-29.867 12.8l-128-51.2c-25.6 21.333-55.467 38.4-85.333 51.2l-17.067 128c0 12.8-12.8 21.333-25.6 21.333h-204.8c-12.8 0-25.6-8.533-25.6-21.333l-17.067-136.533c-34.133-12.8-59.733-29.867-89.6-51.2l-128 51.2c-8.533 4.267-21.333 0-29.867-8.533l-102.4-179.2c-4.267-8.533-4.267-25.6 8.533-29.867l106.667-85.333c-4.267-17.067-4.267-34.133-4.267-51.2s0-34.133 4.267-51.2l-106.667-85.333c-8.533-8.533-12.8-21.333-4.267-34.133l102.4-179.2c4.267-12.8 21.333-17.067 29.867-12.8l128 51.2c25.6-21.333 55.467-38.4 85.333-51.2l17.067-128c0-12.8 12.8-21.333 25.6-21.333h204.8c12.8 0 25.6 8.533 25.6 21.333l21.333 136.533c29.867 12.8 59.733 29.867 85.333 51.2l128-51.2c12.8-4.267 25.6 0 29.867 12.8l102.4 179.2c4.267 12.8 4.267 25.6-4.267 34.133l-110.933 76.8zM512 268.8c-98.133 0-179.2 81.067-179.2 179.2s81.067 179.2 179.2 179.2 179.2-81.067 179.2-179.2-81.067-179.2-179.2-179.2z" />
<glyph unicode="&#xe932;" glyph-name="sms" d="M896 729.6h-443.733c-29.867 0-55.467-25.6-55.467-55.467v-332.8c0-29.867 25.6-55.467 55.467-55.467h443.733c29.867 0 55.467 25.6 55.467 55.467v332.8c0 29.867-25.6 55.467-55.467 55.467zM896 618.667l-221.867-140.8-221.867 140.8v55.467l221.867-140.8 221.867 140.8v-55.467zM640 221.867v-55.467h-486.4v652.8h486.4v-25.6h85.333v25.6c0 76.8-64 140.8-140.8 140.8h-371.2c-81.067 0-140.8-64-140.8-140.8v-746.667c0-72.533 59.733-136.533 140.8-136.533h371.2c76.8 0 140.8 64 140.8 140.8v145.067h-85.333zM490.667 29.867h-187.733v46.933h187.733v-46.933z" />
<glyph unicode="&#xe933;" glyph-name="solclaim" d="M1024 917.333v-938.667h-938.667v68.267h234.667v51.2h38.4c8.533-4.267 17.067-4.267 29.867-4.267h298.667c42.667 0 76.8 34.133 76.8 76.8 0 0 0 0 0 0 29.867 12.8 46.933 38.4 46.933 72.533 0 0 0 0 0 0 29.867 12.8 46.933 38.4 46.933 72.533s-21.333 59.733-46.933 72.533c0 0 0 0 0 0 0 42.667-34.133 76.8-76.8 76.8h-106.667c21.333 21.333 29.867 55.467 17.067 89.6-12.8 25.6-38.4 42.667-68.267 42.667-12.8 0-21.333-4.267-34.133-8.533l-217.6-98.133v29.867h-238.933v396.8h362.667v-209.067h209.067v209.067h366.933zM0 89.6h281.6v51.2h89.6c4.267-4.267 12.8-4.267 17.067-4.267h298.667c21.333 0 34.133 12.8 34.133 34.133s-12.8 34.133-34.133 34.133h-136.533v12.8h183.467c21.333 0 34.133 12.8 34.133 29.867 0 21.333-12.8 29.867-34.133 29.867h-179.2v12.8h234.667c21.333 0 34.133 8.533 34.133 29.867s-12.8 29.867-34.133 29.867h-230.4v12.8h183.467c21.333 0 29.867 12.8 29.867 34.133s-12.8 34.133-34.133 34.133h-230.4l93.867 64c12.8 8.533 21.333 29.867 12.8 46.933s-29.867 25.6-51.2 17.067l-251.733-119.467c-4.267 0-4.267-4.267-8.533-4.267-4.267-4.267-8.533-8.533-12.8-12.8h-8.533v55.467h-281.6v-388.267z" />
@ -79,7 +79,7 @@
<glyph unicode="&#xe945;" glyph-name="linesplit" d="M686.933 217.6h-119.467l-268.8 230.4 268.8 230.4h119.467v-153.6l337.067 196.267-337.067 238.933v-153.6h-153.6l-290.133-251.733h-243.2v-213.333h243.2l290.133-251.733h153.6v-153.6l337.067 238.933-337.067 196.267z" />
<glyph unicode="&#xe946;" glyph-name="linedelete" d="M354.133 192l-98.133 98.133 157.867 153.6-157.867 157.867 98.133 102.4 157.867-157.867 157.867 153.6 98.133-98.133-157.867-157.867 157.867-153.6-98.133-98.133-157.867 157.867-157.867-157.867zM780.8 507.733l-64-64 59.733-55.467h247.467v119.467h-243.2zM307.2 443.733l-64 64h-243.2v-119.467h251.733l55.467 55.467z" />
<glyph unicode="&#xe947;" glyph-name="exit" d="M405.333 243.2l81.067-81.067 281.6 285.867-285.867 285.867-76.8-81.067 145.067-149.333h-550.4v-115.2h550.4l-145.067-145.067zM908.8 960h-793.6c-64 0-115.2-51.2-115.2-115.2v-226.133h115.2v226.133h797.867v-797.867h-797.867v230.4h-115.2v-226.133c0-64 51.2-115.2 115.2-115.2h797.867c64 0 115.2 51.2 115.2 115.2v793.6c-4.267 64-55.467 115.2-119.467 115.2z" />
<glyph unicode="&#xe948;" glyph-name="apps" d="M0 704h256v256h-256v-256zM384-64h256v256h-256v-256zM0-64h256v256h-256v-256zM0 320h256v256h-256v-256zM384 320h256v256h-256v-256zM768 960v-256h256v256h-256zM384 704h256v256h-256v-256zM768 320h256v256h-256v-256zM768-64h256v256h-256v-256z" />
<glyph unicode="&#xe948;" glyph-name="invoice-in-create" d="M153.6 443.733c85.333 0 153.6 68.267 153.6 153.6s-68.267 153.6-153.6 153.6-153.6-68.267-153.6-153.6 68.267-153.6 153.6-153.6zM64 605.867h81.067v42.667c0 8.533 4.267 12.8 12.8 8.533l98.133-55.467c8.533-4.267 8.533-12.8 0-17.067l-98.133-55.467c-8.533-4.267-12.8 0-12.8 8.533v42.667h-81.067c-12.8 0-17.067 8.533-17.067 8.533 0 8.533 8.533 17.067 17.067 17.067zM153.6 405.333c5.547 0 11.52 0.427 17.067 0.853v-235.52c0-12.8-8.533-21.333-21.333-21.333s-21.333 8.533-21.333 21.333v236.373c8.533-1.28 17.067-1.707 25.6-1.707zM344.32 576c0.853 6.827 1.28 14.080 1.28 21.333s-0.427 14.507-1.28 21.333h317.013c12.8 0 21.333-8.533 21.333-21.333s-8.533-21.333-21.333-21.333h-317.013zM917.333 810.667c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h85.333c12.8 0 21.333 8.533 21.333 21.333v64c0 59.733-46.933 106.667-106.667 106.667h-682.667c-59.733 0-106.667-46.933-106.667-106.667v-65.707c8.533 1.28 17.067 1.707 25.6 1.707 5.547 0 11.52-0.427 17.067-0.853v64.853c0 34.133 29.867 64 64 64h597.333c-12.8-17.067-21.333-38.4-21.333-64v-317.44c-29.44 9.387-61.013 14.507-93.867 14.507-53.76 0-104.533-14.080-148.907-38.4h-241.92c-5.973-12.373-13.653-24.32-22.613-35.413 3.84-4.693 9.387-7.253 16.64-7.253h189.013c-21.76-20.053-40.533-43.093-55.893-68.693-1.707 0.427-3.413 0.427-5.12 0.427h-128c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h112.213c-14.507-35.413-22.613-74.24-22.613-115.2 0-49.067 11.52-95.573 32-136.533h-420.267c-12.8 0-21.333-8.533-21.333-21.333v-42.667c0-59.733 46.933-106.667 106.667-106.667h640c15.36 0 29.867 2.987 43.093 8.96 134.4 32.853 234.24 154.027 234.24 298.24 0 120.747-69.547 224.853-170.667 275.2v334.933c0 34.133 29.867 64 64 64s64-29.867 64-64v-42.667h-64zM128-21.333h-21.333c-34.133 0-64 29.867-64 64v21.333h424.533c24.747-34.56 56.747-63.573 93.44-85.333h-432.64zM897.28 287.573v-89.173h-135.68v-135.68h-89.173v136.107h-135.68v89.173h135.68v135.68h89.173v-135.68h135.68z" />
<glyph unicode="&#xe949;" glyph-name="info" d="M512 960c-281.6 0-512-230.4-512-512s230.4-512 512-512 512 230.4 512 512-230.4 512-512 512zM563.2 192h-102.4v307.2h102.4v-307.2zM563.2 601.6h-102.4v102.4h102.4v-102.4z" />
<glyph unicode="&#xe94a;" glyph-name="delivery" d="M789.333 264.533c-55.467 0-102.4-46.933-102.4-102.4s46.933-102.4 102.4-102.4 102.4 46.933 102.4 102.4c0 59.733-46.933 102.4-102.4 102.4zM789.333 110.933c-29.867 0-51.2 21.333-51.2 51.2s21.333 51.2 51.2 51.2 51.2-21.333 51.2-51.2c0-25.6-25.6-51.2-51.2-51.2zM251.733 264.533c-55.467 0-102.4-46.933-102.4-102.4s46.933-102.4 102.4-102.4c55.467 0 102.4 46.933 102.4 102.4 0 59.733-46.933 102.4-102.4 102.4zM251.733 110.933c-29.867 0-51.2 21.333-51.2 51.2s21.333 51.2 51.2 51.2c29.867 0 51.2-21.333 51.2-51.2 0-25.6-25.6-51.2-51.2-51.2zM1006.933 537.6l-196.267 192c-12.8 12.8-29.867 17.067-46.933 17.067h-98.133v38.4c0 25.6-21.333 51.2-51.2 51.2h-563.2c-29.867 0-51.2-21.333-51.2-51.2v-554.667c0-29.867 25.6-51.2 51.2-51.2h68.267c8.533 64 64 115.2 132.267 115.2 64 0 123.733-51.2 132.267-115.2h268.8c8.533 64 64 115.2 132.267 115.2s128-51.2 136.533-115.2h51.2c29.867 0 51.2 25.6 51.2 51.2v260.267c0 17.067-8.533 34.133-17.067 46.933zM725.333 682.667c0 4.267 4.267 8.533 8.533 8.533h34.133c0 0 4.267 0 4.267-4.267l153.6-145.067c4.267 0 0-12.8-4.267-12.8h-187.733c-8.533 0-8.533 4.267-8.533 8.533v145.067zM311.467 597.333c0 46.933 29.867 85.333 59.733 93.867 4.267 0 4.267 0 8.533 0l98.133 12.8v-51.2c0-46.933-29.867-85.333-59.733-93.867-4.267 0-4.267 0-8.533 0l-98.133-17.067v55.467zM311.467 516.267l46.933 8.533c17.067 4.267 29.867-17.067 29.867-38.4l4.267-29.867-51.2-4.267c-17.067-4.267-29.867 12.8-29.867 38.4v25.6zM149.333 597.333v51.2l85.333 12.8c34.133 4.267 55.467-25.6 55.467-72.533v-51.2l-85.333-12.8c-34.133 0-59.733 29.867-55.467 72.533zM285.867 512v-38.4c0-34.133-21.333-64-42.667-68.267h-4.267l-72.533-8.533v38.4c0 34.133 21.333 64 42.667 68.267h4.267l72.533 8.533z" />
<glyph unicode="&#xe94b;" glyph-name="linesprepaired" d="M870.4 857.6h-213.333c-21.333 59.733-76.8 102.4-145.067 102.4s-123.733-42.667-145.067-102.4h-213.333c-55.467 0-102.4-46.933-102.4-102.4v-716.8c0-55.467 46.933-102.4 102.4-102.4h716.8c55.467 0 102.4 46.933 102.4 102.4v716.8c0 55.467-46.933 102.4-102.4 102.4zM512 857.6c29.867 0 51.2-21.333 51.2-51.2s-21.333-51.2-51.2-51.2-51.2 21.333-51.2 51.2 21.333 51.2 51.2 51.2zM614.4 140.8h-358.4v102.4h358.4v-102.4zM768 345.6h-512v102.4h512v-102.4zM768 550.4h-512v102.4h512v-102.4z" />
@ -90,10 +90,10 @@
<glyph unicode="&#xe950;" glyph-name="pbx" d="M512 960c-230.4 0-418.133-187.733-418.133-418.133v-324.267c0-76.8 64-140.8 140.8-140.8h140.8v371.2h-187.733v93.867c0 179.2 145.067 324.267 324.267 324.267s324.267-145.067 324.267-324.267v-93.867h-187.733v-371.2h187.733v-46.933h-324.267v-93.867h277.333c76.8 0 140.8 64 140.8 140.8v465.067c0 230.4-187.733 418.133-418.133 418.133z" />
<glyph unicode="&#xe951;" glyph-name="buscaman" d="M774.4 67.2c0-19.2-16-38.4-38.4-38.4s-38.4 16-38.4 38.4 16 38.4 38.4 38.4 38.4-19.2 38.4-38.4zM262.4 102.4c-19.2 0-38.4-16-38.4-38.4s16-38.4 38.4-38.4c19.2 0 38.4 16 38.4 38.4s-16 38.4-38.4 38.4zM809.6 176c0 0 0 0 0 0 35.2-22.4 57.6-64 57.6-108.8 0-70.4-57.6-131.2-131.2-131.2-70.4 0-131.2 57.6-131.2 131.2 0 0 0-3.2 0-3.2-64-3.2-137.6-9.6-214.4-12.8 0 0 0 0 0 0-6.4-64-64-115.2-128-115.2-70.4 0-131.2 57.6-131.2 131.2 0 54.4 32 99.2 80 121.6 0 0 0 0 0 0-3.2 89.6 0 198.4 16 275.2 0 0 73.6 73.6 243.2 86.4 6.4-16 19.2-28.8 38.4-28.8s32 12.8 38.4 28.8c12.8 0 25.6-3.2 38.4-3.2v-249.6c0 0 48-60.8 220.8-67.2zM345.6 67.2c0 44.8-35.2 80-80 80s-80-35.2-80-80c0-44.8 35.2-80 80-80 44.8-3.2 80 35.2 80 80zM416 454.4c0 9.6-6.4 16-16 16s-16-6.4-16-16c3.2-48-6.4-80-28.8-99.2-28.8-25.6-73.6-12.8-73.6-12.8-9.6 3.2-16-3.2-19.2-12.8s3.2-16 12.8-19.2c0 0 12.8-3.2 32-3.2s48 3.2 70.4 22.4c25.6 25.6 38.4 67.2 38.4 124.8zM819.2 67.2c0 44.8-35.2 80-80 80s-80-35.2-80-80c0-44.8 35.2-80 80-80 41.6-3.2 80 35.2 80 80zM886.4 806.4c-118.4 102.4-243.2 156.8-377.6 153.6-214.4-3.2-368-150.4-374.4-156.8-12.8-12.8-12.8-28.8 0-41.6s28.8-12.8 41.6 0c0 0 140.8 137.6 332.8 137.6 115.2 0 230.4-44.8 336-140.8 6.4-6.4 12.8-6.4 19.2-6.4 9.6 0 16 3.2 22.4 9.6 12.8 12.8 12.8 32 0 44.8zM806.4 720c-92.8 83.2-192 121.6-297.6 121.6-169.6-3.2-291.2-118.4-294.4-121.6-12.8-12.8-12.8-28.8 0-41.6s28.8-12.8 41.6 0c0 0 108.8 102.4 252.8 105.6 0 0 3.2 0 3.2 0 86.4 0 172.8-35.2 252.8-105.6 6.4-6.4 12.8-6.4 19.2-6.4 9.6 0 16 3.2 22.4 9.6 12.8 9.6 12.8 28.8 0 38.4zM732.8 636.8c-70.4 60.8-144 92.8-220.8 89.6-128 0-217.6-89.6-220.8-92.8-12.8-12.8-12.8-28.8 0-41.6s28.8-12.8 41.6 0c0 0 76.8 73.6 179.2 73.6 64 0 124.8-25.6 182.4-76.8 6.4-6.4 12.8-6.4 19.2-6.4 9.6 0 16 3.2 22.4 9.6 9.6 12.8 9.6 32-3.2 44.8zM512 585.6c-16 0-28.8-12.8-28.8-28.8s12.8-28.8 28.8-28.8c16 0 28.8 12.8 28.8 28.8-3.2 16-16 28.8-28.8 28.8z" />
<glyph unicode="&#xe952;" glyph-name="catalog" d="M60.8 604.8h64v-310.4h-64v310.4zM979.2 960h-873.6c-25.6 0-44.8-19.2-44.8-44.8v-176h64v156.8h835.2v-896h-835.2v156.8h-64v-176c0-25.6 19.2-44.8 44.8-44.8h873.6c25.6 0 44.8 19.2 44.8 44.8v934.4c0 25.6-19.2 44.8-44.8 44.8zM230.4 688c0 9.6-9.6 19.2-19.2 19.2h-192c-9.6 0-19.2-9.6-19.2-19.2v-35.2c0-9.6 9.6-19.2 19.2-19.2h195.2c9.6 0 19.2 9.6 19.2 19.2v35.2zM230.4 240c0 9.6-9.6 19.2-19.2 19.2h-192c-9.6 0-19.2-9.6-19.2-19.2v-35.2c0-9.6 9.6-19.2 19.2-19.2h195.2c9.6 0 19.2 9.6 19.2 19.2v35.2zM876.8 742.4h-275.2v-275.2h275.2v275.2zM876.8 428.8h-275.2v-275.2h275.2v275.2zM528 710.4h-211.2v-211.2h211.2v211.2zM560 742.4v-275.2h-275.2v275.2h275.2zM560 428.8h-275.2v-275.2h275.2v275.2z" />
<glyph unicode="&#xe953;" glyph-name="unavailable" d="M469.333 524.8v366.933h-136.533v-499.2zM290.133 345.6v546.133h-42.667v-588.8zM776.533 832v59.733h-42.667v-102.4zM644.267 699.733v192h-89.6c0 0 0-145.067 0-277.333l89.6 85.333zM866.133 682.667v-42.667c34.133-17.067 64-42.667 89.6-68.267v200.533l-89.6-89.6zM776.533 593.067l-64-64c8.533 0 17.067 4.267 25.6 4.267 85.333 0 149.333-68.267 149.333-149.333 0-85.333-68.267-149.333-149.333-149.333s-149.333 68.267-149.333 149.333c0 8.533 0 17.067 0 25.6l-68.267-68.267c8.533-38.4 21.333-72.533 46.933-102.4l-12.8-12.8h-25.6l-166.4-170.667 51.2-51.2 166.4 170.667v25.6l8.533 12.8c38.4-34.133 89.6-51.2 145.067-51.2 123.733 0 217.6 98.133 217.6 217.6 0 106.667-76.8 192-174.933 213.333zM157.867 213.333v678.4h-89.6v-733.867h29.867zM460.8 273.067l-119.467-115.2h21.333l102.4 102.4c-4.267 4.267-4.267 8.533-4.267 12.8zM964.267 960l59.733-59.733-964.267-964.267-59.733 59.733 964.267 964.267z" />
<glyph unicode="&#xe953;" glyph-name="unavailable" d="M39.253 960c-9.813 0-20.053-3.84-27.733-11.52-15.36-15.787-15.36-40.533 0-55.893l945.493-945.067c7.68-7.68 17.493-11.52 27.733-11.52 9.813 0 20.053 3.84 27.733 11.52 15.36 15.787 15.36 40.533 0 55.893l-945.493 945.067c-7.68 7.68-17.493 11.52-27.733 11.52zM469.333 606.72v267.947h-128v-139.947zM640 874.667h-85.333c0 0 0-142.080 0-273.92 24.747 21.333 53.333 35.413 85.333 46.080v227.84zM563.2 512.853l46.933-46.933c26.453 36.267 69.973 60.587 118.613 60.587 81.92 0 145.92-64 145.92-145.92 0-49.493-23.893-92.16-60.587-118.187l43.947-43.947c47.36 38.827 77.227 97.707 77.227 162.133 0 117.333-96 209.92-209.92 209.92-66.133-0.427-124.16-30.72-162.133-77.653zM938.667 565.333v309.333h-85.333v-241.92c32-17.493 60.587-38.827 85.333-67.413zM768 657.92v216.747h-42.667l3.413-213.333c14.507 0 28.587 0 39.253-3.413zM298.667 777.387v97.28h-42.667v-54.613zM524.373 320c8.107-28.587 22.187-54.613 40.96-78.080l-10.667-7.253h-24.747l-160-163.413 49.493-49.92 160 163.413v24.747l7.253 10.667c21.76-19.627 48.64-33.28 78.507-41.387l-140.8 141.227zM444.587 376.747c0 7.253 0.427 14.507 1.28 21.333l-104.533 104.533v-335.36h24.747l99.413 99.413c-14.080 35.413-20.907 71.253-20.907 110.080zM85.333 758.613v-591.36h85.333v506.027zM256 587.947v-420.693h42.667v378.027z" />
<glyph unicode="&#xe954;" glyph-name="wand" d="M829.649 565.029l-18.808-50.155-50.155-18.808 50.155-18.808 18.808-50.155 18.808 50.155 50.155 18.808-50.155 18.808-18.808 50.155zM624.849 870.139l-35.527 89.861-33.437-89.861-89.861-35.527 89.861-33.437 33.437-89.861 33.437 89.861 91.951 33.437-89.861 35.527zM969.665 819.984l-20.898 54.335-20.898-54.335-52.245-20.898 52.245-20.898 20.898-52.245 20.898 52.245 54.335 20.898-54.335 20.898zM783.673 648.62l-71.053 71.053c-4.18 4.18-8.359 4.18-12.539 4.18s-8.359-2.090-12.539-4.18l-681.273-681.273c0 0 0 0 0 0v0c-6.269-6.269-6.269-18.808 0-25.078l71.053-71.053c6.269-6.269 16.718-6.269 22.988 0v0c0 0 0 0 0 0l683.363 683.363c6.269 6.269 6.269 16.718 0 22.988zM626.939 506.514l-56.424 56.424 129.567 129.567 56.424-56.424-129.567-129.567z" />
<glyph unicode="&#xe955;" glyph-name="basketadd" d="M515.2 512c-16 0-28.8-12.8-28.8-28.8v-83.2c16 22.4 35.2 41.6 57.6 60.8v22.4c0 16-12.8 28.8-28.8 28.8zM416 185.6h-259.2l-44.8 348.8h566.4c32 9.6 64 16 99.2 16 16 0 32 0 48-3.2 3.2 3.2 6.4 9.6 6.4 16v64c0 16-12.8 28.8-32 32h-140.8l-115.2 227.2c6.4 6.4 6.4 19.2 6.4 28.8-6.4 32-35.2 54.4-64 48-32-6.4-54.4-32-48-64s35.2-54.4 64-48l89.6-198.4h-355.2l89.6 198.4c32-6.4 60.8 19.2 64 48s-19.2 57.6-48 64c-32 6.4-60.8-19.2-64-48 0-9.6 3.2-19.2 6.4-28.8l-115.2-233.6h-140.8c-16 0-28.8-12.8-28.8-28.8v-64c0-16 12.8-28.8 28.8-28.8h22.4l51.2-377.6c3.2-12.8 16-22.4 28.8-22.4h288c-3.2 16-3.2 35.2-3.2 54.4zM416 512c-16 0-28.8-12.8-28.8-28.8v-259.2c0-16 12.8-28.8 28.8-28.8 0 0 0 0 0 0 0 44.8 9.6 89.6 28.8 131.2v160c0 12.8-12.8 25.6-28.8 25.6zM198.4 508.8c-16-3.2-25.6-16-25.6-32l16-262.4c0-12.8 12.8-25.6 25.6-22.4h3.2c16 3.2 25.6 16 25.6 32l-12.8 259.2c-3.2 12.8-19.2 25.6-32 25.6zM284.8 483.2v-262.4c0-19.2 12.8-28.8 28.8-28.8s28.8 12.8 28.8 28.8v262.4c0 16-12.8 28.8-28.8 28.8s-28.8-12.8-28.8-28.8zM1024 243.2v-121.6h-185.6v-185.6h-121.6v185.6h-185.6v121.6h185.6v185.6h121.6v-185.6z" />
<glyph unicode="&#xe956;" glyph-name="deliveryprices" d="M789.333 264.533c-55.467 0-102.4-46.933-102.4-102.4s46.933-102.4 102.4-102.4 102.4 46.933 102.4 102.4c0 59.733-46.933 102.4-102.4 102.4zM789.333 110.933c-29.867 0-51.2 21.333-51.2 51.2s21.333 51.2 51.2 51.2 51.2-21.333 51.2-51.2c0-25.6-25.6-51.2-51.2-51.2zM251.733 264.533c-55.467 0-102.4-46.933-102.4-102.4s46.933-102.4 102.4-102.4 102.4 46.933 102.4 102.4c0 59.733-46.933 102.4-102.4 102.4zM251.733 110.933c-29.867 0-51.2 21.333-51.2 51.2s21.333 51.2 51.2 51.2 51.2-21.333 51.2-51.2c0-25.6-25.6-51.2-51.2-51.2zM1006.933 537.6l-196.267 192c-12.8 12.8-29.867 17.067-46.933 17.067h-98.133v38.4c0 25.6-21.333 51.2-51.2 51.2h-563.2c-29.867 0-51.2-21.333-51.2-51.2v-554.667c0-29.867 25.6-51.2 51.2-51.2h68.267c8.533 64 64 115.2 132.267 115.2 64 0 123.733-51.2 132.267-115.2h268.8c8.533 64 64 115.2 132.267 115.2s128-51.2 136.533-115.2h51.2c29.867 0 51.2 25.6 51.2 51.2v260.267c0 17.067-8.533 34.133-17.067 46.933zM392.533 605.867v-38.4h-170.667c0-8.533 0-12.8 0-17.067s0-12.8 0-17.067h170.667v-42.667h-157.867c12.8-25.6 25.6-42.667 51.2-59.733 21.333-12.8 46.933-21.333 76.8-21.333 42.667 0 76.8 17.067 102.4 46.933l46.933-42.667c-17.067-21.333-38.4-38.4-68.267-46.933-25.6-12.8-55.467-17.067-89.6-17.067s-64 4.267-89.6 17.067c-25.6 12.8-51.2 29.867-68.267 51.2s-29.867 42.667-38.4 72.533h-64v38.4h55.467c0 4.267 0 8.533 0 17.067s0 12.8 0 17.067h-55.467v42.667h64c8.533 29.867 21.333 51.2 38.4 76.8s42.667 38.4 68.267 51.2c29.867 8.533 59.733 12.8 93.867 12.8 29.867 0 59.733-4.267 89.6-17.067 25.6-8.533 46.933-25.6 64-46.933l-46.933-42.667c-29.867 29.867-64 46.933-102.4 46.933-29.867 0-55.467-8.533-76.8-21.333-25.6-17.067-42.667-34.133-51.2-59.733h157.867zM921.6 529.067h-187.733c-8.533 0-8.533 4.267-8.533 8.533v145.067c0 4.267 4.267 8.533 8.533 8.533h34.133c0 0 4.267 0 4.267-4.267l153.6-145.067c4.267 0 0-12.8-4.267-12.8z" />
<glyph unicode="&#xe955;" glyph-name="addperson" d="M716.8 550.4c-169.813 0-307.2-137.387-307.2-307.2s137.387-307.2 307.2-307.2 307.2 137.387 307.2 307.2-137.387 307.2-307.2 307.2zM897.28 287.573v-89.173h-135.68v-135.68h-89.173v136.107h-135.68v89.173h135.68v135.68h89.173v-135.68h92.16l43.52-0.427zM354.133 243.2c0 96.853 37.547 187.733 105.813 256-20.907 2.133-40.107 2.987-56.747 2.987-134.4 0-403.2-70.4-403.2-204.8v-153.6h367.787c-8.96 32-13.653 65.28-13.653 99.413zM605.013 755.2c0-113.108-90.355-204.8-201.813-204.8s-201.813 91.692-201.813 204.8c0 113.108 90.355 204.8 201.813 204.8s201.813-91.692 201.813-204.8z" />
<glyph unicode="&#xe956;" glyph-name="deliveryprices" d="M251.733 264.533c-55.467 0-102.4-46.933-102.4-102.4s46.933-102.4 102.4-102.4 102.4 46.933 102.4 102.4c0 59.733-46.933 102.4-102.4 102.4zM251.733 110.933c-29.867 0-51.2 21.333-51.2 51.2s21.333 51.2 51.2 51.2 51.2-21.333 51.2-51.2c0-25.6-25.6-51.2-51.2-51.2zM789.333 264.533c-55.467 0-102.4-46.933-102.4-102.4s46.933-102.4 102.4-102.4 102.4 46.933 102.4 102.4c0 59.733-46.933 102.4-102.4 102.4zM789.333 110.933c-29.867 0-51.2 21.333-51.2 51.2s21.333 51.2 51.2 51.2 51.2-21.333 51.2-51.2c0-25.6-25.6-51.2-51.2-51.2zM1006.933 537.6l-196.267 192c-12.8 12.8-29.867 17.067-46.933 17.067h-98.133v38.4c0 25.6-21.333 51.2-51.2 51.2h-563.2c-29.867 0-51.2-21.333-51.2-51.2v-554.667c0-29.867 25.6-51.2 51.2-51.2h68.267c8.533 64 64 115.2 132.267 115.2 64 0 123.733-51.2 132.267-115.2h268.8c8.533 64 64 115.2 132.267 115.2s128-51.2 136.533-115.2h51.2c29.867 0 51.2 25.6 51.2 51.2v260.267c0 17.067-8.533 34.133-17.067 46.933zM376.32 614.827v-28.16h-166.4c-0.853-6.4-1.707-13.227-1.707-20.48 0-6.827 0.427-14.080 1.707-20.48h166.4v-28.16h-159.147c9.387-26.027 25.6-46.933 48.64-62.72s49.92-23.467 80.213-23.467c39.68 0 72.533 14.080 99.413 42.24l32-31.573c-15.787-17.92-34.987-32-58.453-40.96-23.040-9.387-48.213-14.080-75.947-14.080-29.013 0-55.893 5.547-80.64 16.213s-45.653 26.027-62.72 46.080c-17.067 19.627-29.013 42.667-36.267 68.693h-56.747v28.16h52.053c-0.853 8.533-0.853 15.36-0.853 20.48s0.427 11.947 0.853 20.48h-52.053v28.16h57.173c6.827 26.027 19.2 49.067 36.267 68.693s37.973 34.987 62.72 46.080c24.747 10.667 51.627 16.213 80.64 16.213 27.733 0 53.333-4.693 75.947-14.080 23.040-9.387 42.24-23.040 58.027-40.533l-32-31.573c-26.453 27.733-59.733 41.813-99.413 41.813-30.293 0-57.173-7.68-80.213-23.467s-39.253-36.693-48.64-62.72h159.147zM921.6 529.067h-187.733c-8.533 0-8.533 4.267-8.533 8.533v145.067c0 4.267 4.267 8.533 8.533 8.533h34.133c0 0 4.267 0 4.267-4.267l153.6-145.067c4.267 0 0-12.8-4.267-12.8z" />
<glyph unicode="&#xe957;" glyph-name="fruit" d="M870.4 814.933c-204.8 196.267-529.067 192-725.333-8.533-196.267-204.8-192-529.067 8.533-725.333s524.8-192 725.333 12.8c196.267 200.533 192 524.8-8.533 721.067zM840.533 128c-174.933-179.2-465.067-183.467-644.267-8.533s-179.2 465.067-4.267 644.267 465.067 183.467 644.267 8.533c179.2-174.933 179.2-460.8 4.267-644.267zM145.067 366.933c-38.4 51.2-4.267 149.333 8.533 162.133 29.867 17.067 157.867-25.6 183.467-38.4s98.133-29.867 98.133-55.467c0-29.867-64-46.933-119.467-55.467-59.733-12.8-153.6-38.4-170.667-12.8zM256 170.667c-59.733 17.067-89.6 102.4-85.333 119.467 12.8 29.867 136.533 68.267 162.133 76.8 25.6 4.267 93.867 34.133 106.667 12.8 17.067-25.6-29.867-64-64-106.667-38.4-46.933-89.6-115.2-119.467-102.4zM405.333 622.933c-25.6 51.2-72.533 128-51.2 153.6 38.4 51.2 132.267 51.2 145.067 38.4 25.6-21.333 17.067-157.867 12.8-183.467s0-102.4-25.6-106.667c-29.867-8.533-55.467 46.933-81.067 98.133zM537.6 648.533c8.533 59.733 8.533 149.333 42.667 162.133 59.733 21.333 140.8-29.867 149.333-51.2 8.533-34.133-72.533-145.067-93.867-166.4s-59.733-85.333-85.333-76.8c-29.867 12.8-17.067 76.8-12.8 132.267zM494.933 217.6c-8.533-51.2-12.8-128-38.4-136.533-51.2-17.067-119.467 25.6-123.733 42.667-8.533 29.867 68.267 123.733 85.333 140.8s51.2 72.533 72.533 64c21.333-4.267 8.533-59.733 4.267-110.933zM320 516.267c-55.467 25.6-136.533 51.2-136.533 85.333 0 64 68.267 123.733 85.333 123.733 34.133 0 110.933-110.933 128-132.267 12.8-25.6 64-76.8 46.933-98.133-17.067-29.867-72.533 0-123.733 21.333zM887.467 482.133c38.4-51.2 8.533-149.333-17.067-162.133-29.867-17.067-145.067 38.4-170.667 46.933-25.6 12.8-98.133 29.867-98.133 55.467 0 29.867 64 38.4 123.733 51.2 55.467 8.533 140.8 34.133 162.133 8.533zM785.067 686.933c55.467-17.067 89.6-98.133 85.333-115.2-8.533-29.867-132.267-64-157.867-72.533-25.6-4.267-89.6-29.867-102.4-12.8-17.067 25.6 25.6 64 64 102.4 29.867 42.667 76.8 106.667 110.933 98.133zM725.333 328.533c51.2-17.067 102.4-46.933 102.4-76.8-4.267-51.2-64-115.2-98.133-115.2-29.867 0-89.6 106.667-102.4 132.267-12.8 21.333-51.2 76.8-34.133 98.133s76.8-17.067 132.267-38.4zM610.133 238.933c21.333-46.933 59.733-110.933 38.4-132.267-34.133-42.667-115.2-42.667-128-29.867-21.333 17.067-8.533 136.533-4.267 157.867 4.267 25.6 4.267 89.6 25.6 93.867 29.867 4.267 46.933-46.933 68.267-89.6z" />
<glyph unicode="&#xe958;" glyph-name="deletedTicket" horiz-adv-x="900" d="M96.823 84.328h694.333v640.777c0 0-2.019 234.895-350.243 234.895s-344.090-234.895-344.090-234.895v-640.777zM227.684 652.223h171.244v152.494h102.496v-152.494h171.276v-102.496h-171.276v-357.519h-102.496v357.519h-171.244v102.496zM0 59.649v-123.649h900.415v123.649h-900.415z" />
<glyph unicode="&#xe959;" glyph-name="entry" d="M0 328.882l392.882-392.882 265.404 265.404-100.31 100.31-102.4-100.31v303.020h303.020l-100.31-102.4 100.31-100.31 265.404 265.404-392.882 392.882z" />
@ -103,8 +103,9 @@
<glyph unicode="&#xe95d;" glyph-name="zone" d="M243.2 448c-12.8 17.067-25.6 34.133-38.4 51.2-34.133 46.933-68.267 98.133-89.6 153.6-17.067 34.133-25.6 72.533-17.067 110.933 8.533 51.2 38.4 89.6 85.333 110.933 59.733 25.6 132.267 8.533 174.933-34.133 34.133-38.4 42.667-81.067 34.133-132.267-8.533-46.933-29.867-85.333-51.2-123.733-29.867-46.933-59.733-89.6-89.6-132.267-4.267 0-4.267 0-8.533-4.267zM247.467 823.467c-46.933 0-89.6-38.4-89.6-89.6 0-46.933 38.4-89.6 85.333-89.6s89.6 38.4 89.6 85.333c0 55.467-38.4 93.867-85.333 93.867zM490.667 379.733l-17.067 25.6 12.8 8.533-34.133 183.467c0 0 0 8.533-8.533 8.533l-42.667 4.267c0 0-68.267-110.933-157.867-217.6 4.267 4.267-93.867 110.933-132.267 187.733l-110.933-51.2c0 0-4.267 0-4.267-8.533l25.6-145.067 34.133-21.333-8.533-21.333-17.067 8.533 59.733-332.8 213.333 102.4 238.933-21.333-51.2 290.133zM149.333 285.867c-12.8 4.267-29.867 12.8-42.667 17.067 4.267 8.533 4.267 17.067 8.533 21.333 17.067 0 29.867-4.267 42.667-12.8-4.267-8.533-4.267-17.067-8.533-25.6zM256 268.8c-17.067 0-34.133 4.267-46.933 4.267 0 8.533 4.267 17.067 4.267 25.6 12.8 0 29.867-4.267 42.667-4.267 0-8.533 0-17.067 0-25.6zM315.733 277.333c-4.267 8.533-4.267 12.8-8.533 21.333 17.067 8.533 29.867 17.067 42.667 21.333 4.267-8.533 8.533-12.8 8.533-21.333-12.8-8.533-25.6-12.8-42.667-21.333zM405.333 328.533c-4.267 8.533-8.533 12.8-12.8 21.333 12.8 8.533 25.6 17.067 38.4 25.6 4.267-4.267 8.533-12.8 12.8-21.333-8.533-8.533-21.333-17.067-38.4-25.6zM972.8 460.8l-29.867 25.6 12.8 21.333 12.8-8.533-34.133 187.733c0 0 0 8.533-8.533 8.533l-226.133 17.067-209.067-93.867c0 0-8.533-4.267-4.267-12.8l29.867-170.667 21.333-12.8-17.067-17.067 55.467-307.2 213.333 102.4 234.667-21.333-51.2 281.6zM580.267 465.067c-4.267 4.267-8.533 12.8-12.8 17.067 12.8 12.8 21.333 21.333 29.867 34.133 4.267-4.267 12.8-12.8 17.067-17.067-12.8-8.533-25.6-21.333-34.133-34.133zM657.067 541.867c-4.267 4.267-8.533 12.8-12.8 21.333 12.8 8.533 25.6 17.067 38.4 25.6 8.533-8.533 12.8-17.067 12.8-21.333-12.8-8.533-25.6-17.067-38.4-25.6zM797.867 571.733c-12.8 4.267-25.6 4.267-42.667 4.267 0 8.533 0 17.067 0 25.6 17.067 0 34.133 0 51.2-4.267-4.267-8.533-4.267-17.067-8.533-25.6zM891.733 520.533c-12.8 8.533-25.6 17.067-38.4 25.6 4.267 8.533 8.533 12.8 12.8 21.333 12.8-8.533 25.6-17.067 38.4-25.6-4.267-8.533-8.533-12.8-12.8-21.333z" />
<glyph unicode="&#xe95e;" glyph-name="inventory" d="M273.067 226.133c4.267 0 8.533 4.267 8.533 8.533v85.333h98.133v-221.867h-217.6v221.867h98.133v-81.067c0-8.533 8.533-12.8 12.8-12.8zM512 226.133c4.267 0 8.533 4.267 8.533 8.533v85.333h98.133v-221.867h-217.6v221.867h98.133v-81.067c0-8.533 8.533-12.8 12.8-12.8zM750.933 226.133c4.267 0 8.533 4.267 8.533 8.533v85.333h98.133v-221.867h-217.6v221.867h98.133v-81.067c4.267-8.533 8.533-12.8 12.8-12.8zM644.267 780.8h98.133v-81.067c0-4.267 4.267-8.533 8.533-8.533s8.533 4.267 8.533 8.533v81.067h98.133v-221.867h-217.6v221.867h4.267zM401.067 780.8h98.133v-81.067c0-4.267 4.267-8.533 8.533-8.533s8.533 4.267 8.533 8.533v81.067h98.133v-221.867h-213.333v221.867zM162.133 780.8h98.133v-81.067c0-4.267 4.267-8.533 8.533-8.533s8.533 4.267 8.533 8.533v81.067h98.133v-221.867h-213.333v221.867zM153.6 537.6h780.8v-38.4h-844.8v38.4zM68.267-42.667h-42.667v981.333h42.667v-908.8zM89.6 38.4v38.4h844.8v-38.4zM998.4-42.667h-42.667v981.333h42.667z" />
<glyph unicode="&#xe95f;" glyph-name="latestBuy" d="M183.467 750.933h712.533v-38.4h-768v38.4zM89.6 64c8.533 0 12.8 0 21.333-4.267v900.267h-42.667v-900.267c8.533 4.267 12.8 4.267 21.333 4.267zM955.733 512v448h-42.667v-413.867c17.067-12.8 29.867-21.333 42.667-34.133zM145.067-8.533c0-30.633-24.833-55.467-55.467-55.467s-55.467 24.833-55.467 55.467c0 30.633 24.833 55.467 55.467 55.467s55.467-24.833 55.467-55.467zM418.133 426.667h-290.133v-38.4h273.067c4.267 17.067 8.533 29.867 17.067 38.4zM392.533 106.667h-264.533v-38.4h281.6c-8.533 12.8-12.8 25.6-17.067 38.4zM725.333 247.467c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333c12.8 0 21.333 8.533 21.333 21.333 0 8.533-12.8 21.333-21.333 21.333zM721.067 541.867c-166.4 0-298.667-136.533-298.667-302.933s132.267-302.933 298.667-302.933c166.4 0 298.667 136.533 298.667 302.933 0 170.667-132.267 302.933-298.667 302.933zM725.333 34.133c-98.133 0-174.933 72.533-187.733 162.133h-34.133l51.2 64 59.733-64h-38.4c8.533-68.267 72.533-123.733 149.333-123.733 81.067 0 149.333 64 149.333 145.067s-68.267 145.067-149.333 145.067c-68.267 0-128-46.933-145.067-110.933l-21.333 29.867-17.067-12.8c8.533 29.867 25.6 55.467 46.933 76.8l-25.6 21.333c-4.267 4.267-4.267 12.8 0 17.067l12.8 12.8c4.267 4.267 12.8 4.267 17.067 0l25.6-25.6c21.333 12.8 51.2 25.6 76.8 25.6v29.867h-8.533c-8.533 0-12.8 4.267-12.8 12.8v17.067c0 8.533 4.267 12.8 12.8 12.8h59.733c8.533 0 12.8-4.267 12.8-12.8v-17.067c0-8.533-4.267-12.8-12.8-12.8h-8.533v-21.333c29.867-4.267 55.467-12.8 81.067-29.867l34.133 29.867c4.267 4.267 12.8 4.267 17.067 0l12.8-12.8c4.267-4.267 4.267-12.8 0-17.067l-25.6-25.6c29.867-34.133 51.2-76.8 51.2-128 4.267-102.4-81.067-187.733-183.467-187.733zM772.267 226.133c0-25.6-21.333-46.933-46.933-46.933s-46.933 21.333-46.933 46.933c0 25.6 21.333 46.933 46.933 46.933 8.533 0 17.067-4.267 21.333-4.267l46.933 46.933 21.333-21.333-46.933-46.933c4.267-4.267 4.267-12.8 4.267-21.333z" />
<glyph unicode="&#xe960;" glyph-name="invoiceIn" d="M320 358.4h128c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-128c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM832 396.8c-8.533 0-12.8 0-21.333 4.267v-358.4c0-34.133-29.867-64-64-64s-64 29.867-64 64v42.667c0 12.8-8.533 21.333-21.333 21.333h-640c-12.8 0-21.333-8.533-21.333-21.333v-42.667c0-59.733 46.933-106.667 106.667-106.667h640c59.733 0 106.667 46.933 106.667 106.667v358.4c-8.533 0-12.8-4.267-21.333-4.267zM128-21.333h-21.333c-34.133 0-64 29.867-64 64v21.333h597.333v-21.333c0-25.6 8.533-46.933 21.333-64h-533.333zM149.333 149.333c12.8 0 21.333 8.533 21.333 21.333v682.667c0 34.133 29.867 64 64 64h597.333c-12.8-17.067-21.333-38.4-21.333-64v-68.267c8.533 0 12.8 4.267 21.333 4.267s12.8 0 21.333-4.267v68.267c0 34.133 29.867 64 64 64s64-29.867 64-64v-42.667h-64c-12.8 0-21.333-8.533-21.333-21.333 0-4.267 4.267-12.8 4.267-12.8 4.267 0 8.533-4.267 12.8-8.533 0 0 0 0 0 0h85.333c17.067 0 25.6 8.533 25.6 21.333v64c0 59.733-46.933 106.667-106.667 106.667h-682.667c-59.733 0-106.667-46.933-106.667-106.667v-682.667c0-12.8 8.533-21.333 21.333-21.333zM614.4 366.933c8.533 0 17.067 0 21.333-4.267s12.8-4.267 17.067-8.533c4.267-4.267 12.8-4.267 17.067-4.267 0 0 4.267 4.267 4.267 4.267s4.267 4.267 4.267 4.267c0 4.267 4.267 4.267 4.267 8.533s0 8.533-4.267 12.8c-8.533 8.533-17.067 12.8-29.867 17.067-21.333 8.533-51.2 8.533-76.8-4.267-12.8-4.267-25.6-12.8-34.133-25.6-8.533-8.533-12.8-21.333-17.067-29.867h-17.067c-4.267 0-8.533 0-12.8-4.267s-4.267-8.533-4.267-12.8c0-4.267 0-8.533 4.267-12.8s8.533-4.267 12.8-4.267h8.533c0 0 0-4.267 0-4.267s0 0 0-4.267h-8.533c-4.267 0-8.533 0-12.8-4.267s-4.267-8.533-4.267-12.8c0-4.267 0-8.533 4.267-12.8s8.533-4.267 12.8-4.267h12.8c4.267-12.8 8.533-21.333 17.067-34.133s21.333-21.333 34.133-25.6c12.8-4.267 25.6-8.533 42.667-8.533 25.6 0 46.933 8.533 64 21.333 8.533 8.533 8.533 12.8 8.533 21.333 0 4.267 0 8.533-4.267 12.8s-12.8 8.533-21.333 0c-12.8-8.533-25.6-12.8-42.667-12.8-12.8 0-25.6 4.267-38.4 12.8-8.533 4.267-12.8 12.8-21.333 21.333h64c4.267 0 8.533 4.267 12.8 4.267 0 0 4.267 4.267 4.267 12.8 0 4.267 0 8.533-4.267 12.8 0 0-4.267 4.267-12.8 4.267h-72.533c0 0 0 0 0 4.267 0 0 0 4.267 0 4.267h89.6c4.267 0 8.533 4.267 12.8 4.267 4.267 4.267 4.267 8.533 4.267 12.8s0 8.533-4.267 12.8c0 0-4.267 4.267-12.8 4.267h-76.8c4.267 8.533 12.8 12.8 17.067 21.333 12.8-4.267 25.6 0 38.4 0zM635.733 593.067c0 8.533 0 17.067 4.267 25.6h-320c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h320c0 4.267-4.267 12.8-4.267 17.067zM657.067 512h-337.067c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h341.333c8.533 0 12.8 4.267 17.067 8.533-8.533 8.533-17.067 21.333-21.333 34.133zM832 746.667c-85.333 0-153.6-68.267-153.6-153.6s68.267-153.6 153.6-153.6 153.6 68.267 153.6 153.6c0 85.333-68.267 153.6-153.6 153.6zM921.6 576h-81.067v-42.667c0-8.533-4.267-12.8-12.8-8.533l-98.133 55.467c-8.533 4.267-8.533 12.8 0 17.067l98.133 55.467c8.533 4.267 12.8 0 12.8-8.533v-42.667h81.067c8.533 0 17.067-8.533 17.067-17.067 0 0-4.267-8.533-17.067-8.533z" />
<glyph unicode="&#xe961;" glyph-name="invoiceOut" d="M320 358.4h128c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-128c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM832 396.8c-8.533 0-12.8 0-21.333 4.267v-358.4c0-34.133-29.867-64-64-64s-64 29.867-64 64v42.667c0 12.8-8.533 21.333-21.333 21.333h-640c-12.8 0-21.333-8.533-21.333-21.333v-42.667c0-59.733 46.933-106.667 106.667-106.667h640c59.733 0 106.667 46.933 106.667 106.667v358.4c-8.533 0-12.8-4.267-21.333-4.267zM128-21.333h-21.333c-34.133 0-64 29.867-64 64v21.333h597.333v-21.333c0-25.6 8.533-46.933 21.333-64h-533.333zM149.333 149.333c12.8 0 21.333 8.533 21.333 21.333v682.667c0 34.133 29.867 64 64 64h597.333c-12.8-17.067-21.333-38.4-21.333-64v-68.267c8.533 0 12.8 4.267 21.333 4.267s12.8 0 21.333-4.267v68.267c0 34.133 29.867 64 64 64s64-29.867 64-64v-42.667h-64c-12.8 0-21.333-8.533-21.333-21.333 0-4.267 4.267-12.8 4.267-12.8 4.267 0 8.533-4.267 12.8-8.533 0 0 0 0 0 0h85.333c17.067 0 25.6 8.533 25.6 21.333v64c0 59.733-46.933 106.667-106.667 106.667h-682.667c-59.733 0-106.667-46.933-106.667-106.667v-682.667c0-12.8 8.533-21.333 21.333-21.333zM614.4 366.933c8.533 0 17.067 0 21.333-4.267s12.8-4.267 17.067-8.533c4.267-4.267 12.8-4.267 17.067-4.267 0 0 4.267 4.267 4.267 4.267s4.267 4.267 4.267 4.267c0 4.267 4.267 4.267 4.267 8.533s0 8.533-4.267 12.8c-8.533 8.533-17.067 12.8-29.867 17.067-21.333 8.533-51.2 8.533-76.8-4.267-12.8-4.267-25.6-12.8-34.133-25.6-8.533-8.533-12.8-21.333-17.067-29.867h-17.067c-4.267 0-8.533 0-12.8-4.267s-4.267-8.533-4.267-12.8c0-4.267 0-8.533 4.267-12.8s8.533-4.267 12.8-4.267h8.533c0 0 0-4.267 0-4.267s0 0 0-4.267h-8.533c-4.267 0-8.533 0-12.8-4.267s-4.267-8.533-4.267-12.8c0-4.267 0-8.533 4.267-12.8s8.533-4.267 12.8-4.267h12.8c4.267-12.8 8.533-21.333 17.067-34.133s21.333-21.333 34.133-25.6c12.8-4.267 25.6-8.533 42.667-8.533 25.6 0 46.933 8.533 64 21.333 8.533 8.533 8.533 12.8 8.533 21.333 0 4.267 0 8.533-4.267 12.8s-12.8 8.533-21.333 0c-12.8-8.533-25.6-12.8-42.667-12.8-12.8 0-25.6 4.267-38.4 12.8-8.533 4.267-12.8 12.8-21.333 21.333h64c4.267 0 8.533 4.267 12.8 4.267 0 0 4.267 4.267 4.267 12.8 0 4.267 0 8.533-4.267 12.8 0 0-4.267 4.267-12.8 4.267h-72.533c0 0 0 0 0 4.267 0 0 0 4.267 0 4.267h89.6c4.267 0 8.533 4.267 12.8 4.267 4.267 4.267 4.267 8.533 4.267 12.8s0 8.533-4.267 12.8c0 0-4.267 4.267-12.8 4.267h-76.8c4.267 8.533 12.8 12.8 17.067 21.333 12.8-4.267 25.6 0 38.4 0zM635.733 593.067c0 8.533 0 17.067 4.267 25.6h-320c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h320c0 4.267-4.267 12.8-4.267 17.067zM657.067 512h-337.067c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333h341.333c8.533 0 12.8 4.267 17.067 8.533-8.533 8.533-17.067 21.333-21.333 34.133zM832 746.667c-85.333 0-153.6-68.267-153.6-153.6s68.267-153.6 153.6-153.6 153.6 68.267 153.6 153.6c0 85.333-68.267 153.6-153.6 153.6zM934.4 584.533l-98.133-55.467c-8.533-4.267-12.8 0-12.8 8.533v38.4h-81.067c-12.8 0-17.067 8.533-17.067 17.067s8.533 17.067 17.067 17.067h81.067v42.667c0 8.533 4.267 12.8 12.8 8.533l98.133-55.467c8.533-8.533 8.533-17.067 0-21.333z" />
<glyph unicode="&#xe960;" glyph-name="invoiceOut" d="M320 358.4h128c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-128c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM832 746.667c85.333 0 153.6-68.267 153.6-153.6s-68.267-153.6-153.6-153.6-153.6 68.267-153.6 153.6 68.267 153.6 153.6 153.6zM742.4 576h81.067v-42.667c0-8.533 4.267-12.8 12.8-8.533l98.133 55.467c8.533 4.267 8.533 12.8 0 17.067l-98.133 55.467c-8.533 4.267-12.8 0-12.8-8.533v-42.667h-81.067c-8.533 0-17.067-8.533-17.067-17.067 0 0 4.267-8.533 17.067-8.533zM720.64 231.68c-3.413-8.533-8.96-16.213-15.36-22.613-6.827-6.4-14.080-11.947-22.613-16.64-8.533-4.267-17.493-7.68-26.88-10.24s-18.773-3.413-28.16-3.413c-12.373 0-24.32 2.133-35.413 6.4s-20.907 9.813-29.867 17.067c-8.96 7.253-16.64 15.36-23.040 25.173-6.4 9.387-11.52 19.627-14.933 30.72h-33.28l9.813 23.467h17.92c-0.427 4.267-0.853 8.96-0.853 14.080v2.133h-22.187l9.387 23.467h15.787c2.56 11.52 6.827 22.613 12.8 32.853 5.973 10.667 13.653 19.627 23.040 27.733s20.053 14.507 32 19.2c12.373 4.693 25.6 7.253 40.533 7.253 20.907 0 38.827-4.693 54.187-13.653s26.453-20.907 34.133-35.84l-33.707-23.467c-2.987 6.4-6.827 11.947-10.667 16.213-4.267 4.267-8.96 7.68-13.653 10.24s-9.813 4.267-15.36 5.547c-5.547 1.28-10.667 1.707-15.787 1.707-8.107 0-15.787-1.28-22.613-3.84s-12.8-5.973-17.92-10.24c-5.12-4.267-9.387-9.387-13.227-15.36s-6.4-11.947-8.107-18.773h81.92l-9.387-23.467h-76.373v-3.413c0-4.267 0.427-8.533 0.853-12.8h74.667l-9.387-23.467h-58.453c5.547-11.947 13.227-21.76 23.467-29.013s21.76-11.093 35.413-11.093c5.12 0 10.24 0.427 15.787 1.707s10.667 3.413 15.787 5.973c5.12 2.987 9.387 6.4 14.080 10.667 4.267 4.267 7.68 9.813 10.24 15.787l35.413-20.053zM634.88 576h-314.88c-12.8 0-21.333 8.533-21.333 21.333s8.533 21.333 21.333 21.333h315.733c-1.28-8.533-2.56-16.64-2.56-25.6 0-5.973 1.28-11.52 1.707-17.067zM673.707 473.6c-2.987-2.56-6.827-4.267-12.373-4.267h-341.333c-12.8 0-21.333 8.533-21.333 21.333s8.533 21.333 21.333 21.333h330.667c5.973-13.653 14.080-26.453 23.040-38.4zM832 394.24c-7.253 0-14.080 1.28-21.333 2.133v-353.707c0-34.133-29.867-64-64-64s-64 29.867-64 64v42.667c0 12.8-8.533 21.333-21.333 21.333h-640c-12.8 0-21.333-8.533-21.333-21.333v-42.667c0-59.733 46.933-106.667 106.667-106.667h640c59.733 0 106.667 46.933 106.667 106.667v353.707c-7.253-0.853-14.080-2.133-21.333-2.133zM128-21.333h-21.333c-34.133 0-64 29.867-64 64v21.333h597.333v-21.333c0-25.6 8.533-46.933 21.333-64h-533.333zM832 917.333h-597.333c-34.133 0-64-29.867-64-64v-682.667c0-12.8-8.533-21.333-21.333-21.333s-21.333 8.533-21.333 21.333v682.667c0 59.733 46.933 106.667 106.667 106.667h682.667c59.733 0 106.667-46.933 106.667-106.667v-64c0-12.8-8.533-21.333-25.6-21.333h-73.387c-8.533 4.267-17.067 8.533-26.027 11.52-1.28 2.987-2.987 7.253-2.987 9.813 0 12.8 8.533 21.333 21.333 21.333h64v42.667c0 34.133-29.867 64-64 64s-64-29.867-64-64v-63.573c-7.253 0.853-14.080 2.133-21.333 2.133s-14.080-1.28-21.333-2.133v63.573c0 25.6 8.533 46.933 21.333 64z" />
<glyph unicode="&#xe961;" glyph-name="invoiceIn" d="M320 358.4h128c12.8 0 21.333 8.533 21.333 21.333s-8.533 21.333-21.333 21.333h-128c-12.8 0-21.333-8.533-21.333-21.333s8.533-21.333 21.333-21.333zM832 746.667c-85.333 0-153.6-68.267-153.6-153.6s68.267-153.6 153.6-153.6 153.6 68.267 153.6 153.6-68.267 153.6-153.6 153.6zM921.6 576h-81.067v-42.667c0-8.533-4.267-12.8-12.8-8.533l-98.133 55.467c-8.533 4.267-8.533 12.8 0 17.067l98.133 55.467c8.533 4.267 12.8 0 12.8-8.533v-42.667h81.067c8.533 0 17.067-8.533 17.067-17.067 0 0-4.267-8.533-17.067-8.533zM720.64 231.68c-3.413-8.533-8.96-16.213-15.36-22.613-6.827-6.4-14.080-11.947-22.613-16.64-8.533-4.267-17.493-7.68-26.88-10.24s-18.773-3.413-28.16-3.413c-12.373 0-24.32 2.133-35.413 6.4s-20.907 9.813-29.867 17.067c-8.96 7.253-16.64 15.36-23.040 25.173-6.4 9.387-11.52 19.627-14.933 30.72h-33.28l9.813 23.467h17.92c-0.427 4.267-0.853 8.96-0.853 14.080v2.133h-22.187l9.387 23.467h15.787c2.56 11.52 6.827 22.613 12.8 32.853 5.973 10.667 13.653 19.627 23.040 27.733s20.053 14.507 32 19.2c12.373 4.693 25.6 7.253 40.533 7.253 20.907 0 38.827-4.693 54.187-13.653s26.453-20.907 34.133-35.84l-33.707-23.467c-2.987 6.4-6.827 11.947-10.667 16.213-4.267 4.267-8.96 7.68-13.653 10.24s-9.813 4.267-15.36 5.547c-5.547 1.28-10.667 1.707-15.787 1.707-8.107 0-15.787-1.28-22.613-3.84s-12.8-5.973-17.92-10.24c-5.12-4.267-9.387-9.387-13.227-15.36s-6.4-11.947-8.107-18.773h81.92l-9.387-23.467h-76.373v-3.413c0-4.267 0.427-8.533 0.853-12.8h74.667l-9.387-23.467h-58.453c5.547-11.947 13.227-21.76 23.467-29.013s21.76-11.093 35.413-11.093c5.12 0 10.24 0.427 15.787 1.707s10.667 3.413 15.787 5.973c5.12 2.987 9.387 6.4 14.080 10.667 4.267 4.267 7.68 9.813 10.24 15.787l35.413-20.053zM634.88 576h-314.88c-12.8 0-21.333 8.533-21.333 21.333s8.533 21.333 21.333 21.333h315.733c-1.28-8.533-2.56-16.64-2.56-25.6 0-5.973 1.28-11.52 1.707-17.067zM673.707 473.6c-2.987-2.56-6.827-4.267-12.373-4.267h-341.333c-12.8 0-21.333 8.533-21.333 21.333s8.533 21.333 21.333 21.333h330.667c5.973-13.653 14.080-26.453 23.040-38.4zM832 394.24c-7.253 0-14.080 1.28-21.333 2.133v-353.707c0-34.133-29.867-64-64-64s-64 29.867-64 64v42.667c0 12.8-8.533 21.333-21.333 21.333h-640c-12.8 0-21.333-8.533-21.333-21.333v-42.667c0-59.733 46.933-106.667 106.667-106.667h640c59.733 0 106.667 46.933 106.667 106.667v353.707c-7.253-0.853-14.080-2.133-21.333-2.133zM128-21.333h-21.333c-34.133 0-64 29.867-64 64v21.333h597.333v-21.333c0-25.6 8.533-46.933 21.333-64h-533.333zM832 917.333h-597.333c-34.133 0-64-29.867-64-64v-682.667c0-12.8-8.533-21.333-21.333-21.333s-21.333 8.533-21.333 21.333v682.667c0 59.733 46.933 106.667 106.667 106.667h682.667c59.733 0 106.667-46.933 106.667-106.667v-64c0-12.8-8.533-21.333-25.6-21.333h-73.387c-8.533 4.267-17.067 8.533-26.027 11.52-1.28 2.987-2.987 7.253-2.987 9.813 0 12.8 8.533 21.333 21.333 21.333h64v42.667c0 34.133-29.867 64-64 64s-64-29.867-64-64v-63.573c-7.253 0.853-14.080 2.133-21.333 2.133s-14.080-1.28-21.333-2.133v63.573c0 25.6 8.533 46.933 21.333 64z" />
<glyph unicode="&#xe962;" glyph-name="supplierfalse" d="M198.827 882.773c22.187 0.427 41.813-14.080 48.64-34.133l8.107-22.187 105.813-105.813-54.187 149.333c-25.6 59.733-89.6 89.6-149.333 72.533l-13.653-5.12 54.613-54.613zM708.693 129.28l-173.653 173.653 15.36-43.093c-8.533-4.267-12.8-4.267-21.333-4.267l-29.867 83.2-108.373 108.373 74.24-208.64c-42.667-25.6-72.533-76.8-72.533-132.267 0-89.6 72.533-157.867 157.867-157.867 89.6 0 157.867 72.533 157.867 157.867 0 8.533-4.267 12.8-4.267 21.333l4.693 1.707zM550.4 12.373c-51.2 0-93.867 42.667-93.867 93.867s42.667 93.867 93.867 93.867 93.867-42.667 93.867-93.867c0-55.467-42.667-93.867-93.867-93.867zM960 289.707l-122.453-45.227 49.493-49.067 94.293 34.56zM504.32 577.707l-0.853 2.133 76.8 29.867 17.067-51.2c4.267-12.8 17.067-21.333 29.867-21.333 4.267 0 8.533 0 12.8 0l115.2 42.667c8.533 4.267 12.8 8.533 17.067 17.067s4.267 17.067 0 25.6l-17.067 51.2 76.8 29.867 119.467-332.8-174.507-65.707 45.653-45.653 180.053 64.427c8.533 4.267 12.8 8.533 17.067 17.067s4.267 17.067 4.267 21.333l-145.067 396.8c-4.267 8.533-8.533 12.8-17.067 17.067s-17.067 4.267-25.6 0l-136.533-51.2-115.2-42.667-134.4-50.347 54.187-54.187zM695.467 656.64l8.533-21.333-59.733-21.333-8.533 21.333 59.733 21.333zM896 439.040l-98.133-34.133 21.333-59.733 98.133 34.133zM39.253 960c-9.813 0-20.053-3.84-27.733-11.52-15.36-15.787-15.36-40.533 0-55.893l945.493-945.067c7.68-7.68 17.493-11.52 27.733-11.52 9.813 0 20.053 3.84 27.733 11.52 15.36 15.787 15.36 40.533 0 55.893l-945.493 945.067c-7.68 7.68-17.493 11.52-27.733 11.52z" />
<glyph unicode="&#xe968;" glyph-name="wiki" d="M793.6 733.867c0 0 4.267 0 4.267 0l76.8 12.8v-42.667c0-34.133-21.333-68.267-46.933-72.533 0 0-4.267 0-4.267 0l-76.8-12.8v42.667c0 34.133 21.333 64 46.933 72.533zM742.4 597.333l38.4 4.267c12.8 0 25.6-12.8 25.6-29.867v-21.333l-38.4-4.267c-12.8 0-25.6 12.8-25.6 29.867v21.333zM618.667 699.733l68.267 8.533c25.6 4.267 42.667-21.333 42.667-55.467v-38.4l-68.267-8.533c-25.6-4.267-42.667 21.333-42.667 55.467v38.4zM665.6 588.8c4.267 0 4.267 0 0 0l59.733 4.267v-29.867c0-25.6-17.067-46.933-34.133-55.467 0 0-4.267 0-4.267 0l-55.467-8.533v29.867c4.267 29.867 17.067 51.2 34.133 59.733zM443.733 648.533c0 0-4.267 0-4.267 0-119.467 85.333-273.067 46.933-277.333 46.933s-8.533 0-12.8 8.533c0 4.267 0 8.533 8.533 12.8 0 0 42.667 12.8 98.133 8.533 51.2 0 128-12.8 196.267-59.733 4.267-4.267 4.267-8.533 4.267-12.8-4.267-4.267-8.533-4.267-12.8-4.267zM443.733 512c0 0-4.267 0-4.267 0-119.467 85.333-273.067 46.933-277.333 46.933s-8.533 0-12.8 8.533c0 4.267 0 8.533 8.533 12.8 0 0 42.667 12.8 98.133 8.533 51.2 0 128-12.8 196.267-59.733 4.267-4.267 4.267-8.533 4.267-12.8-4.267 0-8.533-4.267-12.8-4.267zM443.733 379.733c0 0-4.267 0-4.267 0-119.467 85.333-273.067 46.933-277.333 46.933s-8.533 0-12.8 8.533c0 4.267 0 8.533 8.533 12.8 0 0 42.667 12.8 98.133 8.533 51.2 0 128-12.8 196.267-59.733 4.267-4.267 4.267-8.533 4.267-12.8-4.267 0-8.533-4.267-12.8-4.267zM443.733 247.467c0 0-4.267 0-4.267 0-119.467 85.333-273.067 46.933-277.333 46.933s-8.533 0-12.8 8.533c0 4.267 0 8.533 8.533 12.8 0 0 42.667 12.8 98.133 8.533 51.2 0 128-12.8 196.267-59.733 4.267-4.267 4.267-8.533 4.267-12.8-4.267 0-8.533-4.267-12.8-4.267zM588.8 379.733c-4.267 0-4.267 0-8.533 4.267s0 8.533 4.267 12.8c68.267 46.933 140.8 59.733 196.267 59.733s93.867-8.533 98.133-8.533c4.267 0 8.533-8.533 8.533-12.8s-8.533-8.533-12.8-8.533v0c0 0-153.6 38.4-277.333-46.933-4.267 4.267-4.267 0-8.533 0zM588.8 247.467c-4.267 0-4.267 0-8.533 4.267s0 8.533 4.267 12.8c68.267 46.933 140.8 59.733 196.267 59.733s93.867-8.533 98.133-8.533c4.267 0 8.533-8.533 8.533-12.8s-8.533-8.533-12.8-8.533v0c0 0-153.6 38.4-277.333-46.933-4.267 4.267-4.267 0-8.533 0zM985.6 738.133v64l-8.533 4.267c-4.267 0-81.067 29.867-179.2 29.867-106.667 0-200.533-34.133-277.333-98.133-76.8 64-170.667 98.133-277.333 98.133-102.4 0-174.933-29.867-179.2-29.867l-12.8-4.267v-59.733c-34.133-4.267-51.2-17.067-51.2-34.133v-614.4h452.267c17.067-12.8 38.4-21.333 64-21.333s46.933 8.533 64 21.333h443.733v614.4c0 17.067-17.067 25.6-38.4 29.867v0zM512 145.067c-38.4 17.067-166.4 64-298.667 64-51.2 0-98.133-8.533-136.533-21.333v597.333c21.333 8.533 85.333 25.6 162.133 25.6 98.133 0 183.467-29.867 256-89.6v-358.4l17.067 17.067v-234.667zM955.733 183.467c-42.667 17.067-89.6 25.6-140.8 25.6-128 0-251.733-51.2-290.133-64v238.933l17.067-17.067v349.867c68.267 59.733 153.6 89.6 256 89.6 76.8 0 136.533-17.067 162.133-25.6v-597.333z" />
<glyph unicode="&#xe96c;" glyph-name="attach" d="M960 866.133c-42.667 42.667-98.133 64-157.867 64s-115.2-21.333-157.867-64l-593.067-593.067c-34.133-34.133-55.467-85.333-51.2-136.533 0-42.667 17.067-81.067 46.933-110.933 34.133-38.4 81.067-59.733 132.267-59.733 46.933 0 93.867 17.067 128 51.2l541.867 546.133c25.6 25.6 42.667 64 42.667 98.133s-12.8 68.267-38.4 93.867c-25.6 25.6-59.733 38.4-98.133 38.4-34.133 0-72.533-17.067-98.133-42.667l-354.133-354.133c-4.267 0-4.267-4.267-4.267-12.8s4.267-12.8 8.533-17.067 25.6-8.533 34.133 0l354.133 354.133c12.8 17.067 38.4 25.6 59.733 25.6 25.6 0 51.2-12.8 68.267-34.133 8.533-12.8 17.067-25.6 17.067-42.667 4.267-25.6-4.267-55.467-25.6-72.533l-541.867-541.867c-25.6-25.6-55.467-38.4-93.867-38.4-34.133 0-68.267 12.8-93.867 38.4s-38.4 59.733-38.4 93.867c0 34.133 12.8 68.267 38.4 93.867l588.8 584.533c34.133 34.133 76.8 51.2 123.733 51.2s89.6-17.067 123.733-51.2c34.133-34.133 51.2-76.8 51.2-123.733s-17.067-89.6-51.2-123.733l-401.067-401.067c-4.267-4.267-8.533-12.8-8.533-17.067 0-8.533 4.267-12.8 8.533-17.067 8.533-8.533 25.6-8.533 34.133 0l401.067 401.067c89.6 89.6 89.6 230.4 4.267 320z" />
<glyph unicode="&#xe96d;" glyph-name="zone2" d="M98.133 17.067c-4.267 29.867-12.8 64-17.067 93.867-17.067 98.133-34.133 192-51.2 290.133-12.8 46.933-21.333 98.133-29.867 149.333 0 4.267 0 8.533 4.267 8.533 42.667 21.333 85.333 42.667 128 59.733 0 0 0 0 4.267 0 4.267-8.533 8.533-12.8 12.8-21.333-21.333-8.533-42.667-21.333-64-29.867-17.067-8.533-34.133-17.067-51.2-21.333-4.267 0-4.267-4.267-4.267-8.533 8.533-42.667 17.067-85.333 25.6-132.267 0-4.267 4.267-4.267 4.267-8.533 8.533-4.267 17.067-8.533 25.6-17.067 0-4.267-4.267-12.8-8.533-17.067-4.267 4.267-12.8 4.267-17.067 8.533 17.067-102.4 38.4-209.067 55.467-311.467 17.067 8.533 29.867 12.8 42.667 21.333 51.2 25.6 102.4 51.2 153.6 72.533 4.267 0 8.533 0 17.067 0 68.267-4.267 136.533-12.8 204.8-17.067 0 0 4.267 0 8.533 0-4.267 17.067-4.267 34.133-8.533 51.2-12.8 68.267-25.6 136.533-38.4 204.8 0 8.533-4.267 17.067-12.8 25.6-4.267 4.267-4.267 8.533-8.533 12.8 12.8 4.267 8.533 17.067 8.533 25.6-8.533 51.2-17.067 106.667-29.867 157.867 0 4.267 0 4.267-8.533 4.267-17.067 0-38.4 4.267-55.467 4.267 4.267 8.533 8.533 17.067 12.8 21.333 0 0 4.267 4.267 8.533 4.267 17.067 0 34.133-4.267 46.933-4.267 4.267 0 8.533 0 12.8 0 68.267 29.867 132.267 64 200.533 93.867 4.267 4.267 8.533 8.533 12.8 8.533 68.267-4.267 136.533-8.533 204.8-17.067 8.533 0 17.067 0 29.867-4.267 4.267 0 8.533-4.267 8.533-8.533 12.8-64 25.6-132.267 34.133-196.267 17.067-102.4 38.4-204.8 55.467-311.467 0-8.533 4.267-17.067 4.267-25.6-17.067 0-34.133 4.267-51.2 4.267-42.667 4.267-89.6 8.533-132.267 12.8-17.067 0-38.4 4.267-55.467 4.267-4.267 0-12.8 0-17.067-4.267-68.267-29.867-132.267-64-200.533-93.867 0 0-4.267 0-8.533 0-76.8 8.533-149.333 12.8-226.133 21.333-4.267 0-8.533 0-12.8 0-72.533-34.133-140.8-68.267-213.333-102.4 0-4.267 0-8.533-4.267-8.533zM989.867 217.6c0 4.267 0 4.267 0 8.533-8.533 34.133-12.8 72.533-21.333 106.667-8.533 46.933-17.067 89.6-25.6 136.533 0 8.533-4.267 12.8-8.533 17.067-8.533 4.267-12.8 12.8-21.333 17.067 4.267 8.533 8.533 12.8 12.8 17.067 4.267-4.267 8.533-4.267 12.8-8.533-4.267 12.8-4.267 21.333-4.267 34.133-8.533 46.933-17.067 93.867-25.6 145.067 0 4.267-4.267 8.533-8.533 8.533-68.267 4.267-136.533 12.8-209.067 17.067-4.267 0-8.533 0-12.8-4.267-64-29.867-123.733-59.733-187.733-85.333-4.267-4.267-8.533-4.267-4.267-12.8 4.267-29.867 12.8-64 17.067-93.867 4.267-21.333 8.533-42.667 12.8-59.733 12.8-4.267 12.8-12.8 21.333-21.333-12.8-4.267-12.8-12.8-12.8-25.6 12.8-68.267 25.6-132.267 38.4-200.533 4.267-25.6 8.533-51.2 12.8-76.8 4.267 0 4.267 0 8.533 4.267 59.733 29.867 119.467 59.733 183.467 89.6-4.267 4.267 0 4.267 4.267 4.267 51.2-4.267 106.667-8.533 157.867-12.8 21.333 0 38.4-4.267 59.733-4.267zM260.267 469.333c-12.8 17.067-25.6 34.133-38.4 46.933-29.867 46.933-59.733 93.867-85.333 145.067-12.8 29.867-21.333 64-17.067 102.4 8.533 51.2 34.133 85.333 81.067 102.4 55.467 21.333 123.733 8.533 162.133-34.133 34.133-34.133 42.667-76.8 34.133-123.733-8.533-42.667-25.6-76.8-46.933-115.2-25.6-42.667-55.467-81.067-85.333-123.733 0 4.267-4.267 0-4.267 0zM260.267 819.2c-46.933 0-81.067-34.133-81.067-81.067s38.4-81.067 81.067-81.067c46.933 0 81.067 38.4 85.333 81.067 0 42.667-38.4 81.067-85.333 81.067zM358.4 349.867c4.267-8.533 4.267-12.8 8.533-21.333-12.8-4.267-25.6-12.8-38.4-17.067-4.267 8.533-4.267 12.8-8.533 21.333 12.8 4.267 25.6 12.8 38.4 17.067zM226.133 302.933c0 8.533 4.267 17.067 4.267 21.333 12.8 0 25.6-4.267 38.4-4.267 0-8.533 0-12.8 0-25.6-12.8 8.533-29.867 8.533-42.667 8.533zM413.867 354.133c-4.267 8.533-8.533 12.8-12.8 21.333 12.8 8.533 21.333 17.067 34.133 25.6 4.267-4.267 8.533-12.8 12.8-17.067-12.8-12.8-21.333-21.333-34.133-29.867zM179.2 341.333c-4.267-8.533-4.267-12.8-8.533-21.333-12.8 4.267-25.6 8.533-38.4 17.067 4.267 8.533 4.267 12.8 8.533 21.333 12.8-8.533 25.6-12.8 38.4-17.067zM682.667 580.267c-12.8-8.533-21.333-17.067-34.133-21.333-4.267 4.267-8.533 12.8-12.8 17.067 12.8 8.533 25.6 17.067 38.4 25.6 4.267-8.533 4.267-17.067 8.533-21.333zM878.933 558.933c-4.267-8.533-8.533-12.8-12.8-21.333-12.8 8.533-25.6 17.067-34.133 21.333 4.267 8.533 8.533 12.8 8.533 21.333 12.8-8.533 25.6-17.067 38.4-21.333zM571.733 486.4c-4.267 4.267-8.533 12.8-12.8 17.067 8.533 8.533 21.333 21.333 29.867 29.867 4.267-4.267 8.533-12.8 12.8-17.067-8.533-8.533-17.067-21.333-29.867-29.867zM785.067 610.133c-4.267-8.533-4.267-17.067-8.533-21.333-12.8 0-25.6 4.267-38.4 4.267 0 8.533 0 12.8 0 21.333 17.067 0 29.867-4.267 46.933-4.267z" />

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View File

@ -92,5 +92,6 @@
"New ticket request has been created with price": "New ticket request has been created *'{{description}}'* for day *{{shipped}}*, with a quantity of *{{quantity}}* and a price of *{{price}} €*",
"New ticket request has been created": "New ticket request has been created *'{{description}}'* for day *{{shipped}}*, with a quantity of *{{quantity}}*",
"There's a new urgent ticket": "There's a new urgent ticket: [{{title}}](https://cau.verdnatura.es/WorkOrder.do?woMode=viewWO&woID={{issueId}})",
"Swift / BIC cannot be empty": "Swift / BIC cannot be empty"
"Swift / BIC cannot be empty": "Swift / BIC cannot be empty",
"Role name must be written in camelCase": "Role name must be written in camelCase"
}

View File

@ -174,5 +174,7 @@
"That item doesn't exists": "Ese artículo no existe",
"There's a new urgent ticket": "Hay un nuevo ticket urgente: [{{title}}](https://cau.verdnatura.es/WorkOrder.do?woMode=viewWO&woID={{issueId}})",
"Invalid account": "Cuenta inválida",
"Compensation account is empty": "La cuenta para compensar está vacia"
"Compensation account is empty": "La cuenta para compensar está vacia",
"This genus already exist": "Este genus ya existe",
"This specie already exist": "Esta especie ya existe"
}

View File

@ -23,8 +23,7 @@
</vn-thead>
<vn-tbody>
<a ng-repeat="invoiceIn in model.data"
class="clickable vn-tr search-result"
ui-sref="invoiceIn.card.summary({id: {{::invoiceIn.id}}})">
class="clickable vn-tr search-result">
<vn-td>{{::invoiceIn.id}}</vn-td>
<vn-td>
<span

View File

@ -1,12 +1,12 @@
{
"module": "invoiceIn",
"name": "Invoices in",
"icon": "contact_support",
"icon": "icon-invoiceIn",
"validations" : true,
"dependencies": ["worker", "supplier"],
"menus": {
"main": [
{"state": "invoiceIn.index", "icon": "contact_support"}
{"state": "invoiceIn.index", "icon": "icon-invoiceIn"}
]
},
"routes": [

View File

@ -0,0 +1,9 @@
let UserError = require('vn-loopback/util/user-error');
module.exports = Self => {
Self.rewriteDbError(function(err) {
if (err.code === 'ER_DUP_ENTRY')
return new UserError(`This genus already exist`);
return err;
});
};

View File

@ -3,26 +3,17 @@
"base": "VnModel",
"options": {
"mysql": {
"table": "edi.genus"
"table": "vn.genus"
}
},
"properties": {
"genus_id": {
"id": {
"type": "Number",
"id": true,
"description": "Identifier"
},
"latin_genus_name": {
"name": {
"type": "String"
},
"entry_date": {
"type": "date"
},
"expiry_date": {
"type": "date"
},
"change_date_time": {
"type": "date"
}
},
"acls": [

View File

@ -16,9 +16,6 @@
"type": "Number",
"id": true,
"description": "Identifier"
},
"botanical": {
"type": "String"
}
},
"relations": {

View File

@ -0,0 +1,9 @@
let UserError = require('vn-loopback/util/user-error');
module.exports = Self => {
Self.rewriteDbError(function(err) {
if (err.code === 'ER_DUP_ENTRY')
return new UserError(`This specie already exist`);
return err;
});
};

View File

@ -3,33 +3,17 @@
"base": "VnModel",
"options": {
"mysql": {
"table": "edi.specie"
"table": "vn.specie"
}
},
"properties": {
"specie_id": {
"id": {
"type": "Number",
"id": true,
"description": "Identifier"
},
"latin_species_name": {
"name": {
"type": "String"
},
"entry_date": {
"type": "date"
},
"expiry_date": {
"type": "date"
},
"change_date_time": {
"type": "date"
}
},
"relations": {
"genus": {
"type": "belongsTo",
"model": "Genus",
"foreignKey": "genus_id"
}
},
"acls": [

View File

@ -1,46 +1,48 @@
<vn-watcher
vn-id="watcher"
url="ItemBotanicals"
data="$ctrl.botanical"
id-field="itemFk"
id-value="$ctrl.$params.id"
include="[{relation: 'genus'}, {relation: 'specie'}]"
auto-fill="true"
form="form">
</vn-watcher>
<form name="form" ng-submit="watcher.submit()" ng-cloak class="vn-w-md">
<form name="form" ng-submit="$ctrl.onSubmit()" ng-cloak class="vn-w-md">
<vn-card class="vn-pa-lg">
<vn-horizontal>
<vn-textfield
label="Botanical"
ng-model="$ctrl.botanical.botanical"
vn-focus>
</vn-textfield>
</vn-horizontal>
<vn-horizontal>
<vn-autocomplete
label="Genus"
ng-model="$ctrl.botanical.genusFk"
initial-data="$ctrl.botanical.genus"
url="Genera"
show-field="latin_genus_name"
value-field="genus_id">
show-field="name"
value-field="id">
<append>
<vn-icon-button
icon="add_circle"
vn-tooltip="New genus"
ng-click="$ctrl.showGenus($event)"
vn-acl="logisticBoss"
vn-acl-action="remove">
</vn-icon-button>
</append>
</vn-autocomplete>
<vn-autocomplete
label="Species"
ng-model="$ctrl.botanical.specieFk"
initial-data="$ctrl.botanical.specie"
url="Species"
show-field="latin_species_name"
value-field="specie_id"
fields="['genus_id']"
include="'genus'">
show-field="name"
value-field="id">
<tpl-item>
<div>{{latin_species_name}}</div>
<div>{{name}}</div>
<div class="text-caption text-secondary">
{{genus.latin_genus_name}}
{{genus.name}}
</div>
</tpl-item>
<append>
<vn-icon-button
icon="add_circle"
vn-tooltip="New species"
ng-click="$ctrl.showSpecies($event)"
vn-acl="logisticBoss"
vn-acl-action="remove">
</vn-icon-button>
</append>
</vn-autocomplete>
</vn-horizontal>
</vn-card>
@ -58,3 +60,43 @@
</vn-button> -->
</vn-button-bar>
</form>
<!-- Create new genus dialog -->
<vn-dialog class="edit"
vn-id="genus"
on-response="$ctrl.onGenusResponse($response)"
on-accept="$ctrl.onGenusAccept()"
message="New genus">
<tpl-body>
<vn-horizontal>
<vn-textfield vn-one vn-focus
label="Latin genus name"
ng-model="$ctrl.data.name"
required="true">
</vn-textfield>
</vn-horizontal>
</tpl-body>
<tpl-buttons>
<input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
<button response="accept" translate>Create</button>
</tpl-buttons>
</vn-dialog>
<!-- Create new species dialog -->
<vn-dialog class="edit"
vn-id="species"
on-response="$ctrl.onSpeciesResponse($response)"
on-accept="$ctrl.onSpeciesAccept()"
message="New species">
<tpl-body>
<vn-horizontal>
<vn-textfield vn-one vn-focus
label="Latin species name"
ng-model="$ctrl.data.name"
required="true">
</vn-textfield>
</vn-horizontal>
</tpl-body>
<tpl-buttons>
<input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
<button response="accept" translate>Create</button>
</tpl-buttons>
</vn-dialog>

View File

@ -1,9 +1,99 @@
import ngModule from '../module';
import Section from 'salix/components/section';
class Controller extends Section {
get item() {
return this._item;
}
class Controller extends Section {}
set item(value) {
this._item = value;
if (value)
this.getBotanicalData();
}
showGenus(event) {
if (event.defaultPrevented) return;
event.preventDefault();
this.$.genus.show();
}
showSpecies(event) {
if (event.defaultPrevented) return;
event.preventDefault();
this.$.species.show();
}
onGenusAccept() {
try {
if (!this.data.name)
throw new Error(`The name of the genus can't be empty`);
this.$http.post(`genera`, this.data).then(res => {
this.vnApp.showMessage(this.$t('The genus has been created'));
this.emit('response', {$response: res.data});
this.onGenusResponse(res.data);
});
} catch (e) {
this.vnApp.showError(this.$t(e.message));
return false;
}
return true;
}
onSpeciesAccept() {
try {
if (!this.data.name)
throw new Error(`The name of the species can't be empty`);
this.$http.post(`species`, this.data).then(res => {
this.vnApp.showMessage(this.$t('The species has been created'));
this.emit('response', {$response: res.data});
this.onSpeciesResponse(res.data);
});
} catch (e) {
this.vnApp.showError(this.$t(e.message));
return false;
}
return true;
}
getBotanicalData() {
const filter = {
where: {itemFk: this.item.id}
};
const filterParams = encodeURIComponent(JSON.stringify(filter));
this.$http.get(`ItemBotanicals?filter=${filterParams}`).then(res => {
if (res.data[0])
this.botanical = res.data[0];
else
this.botanical = {itemFk: this.item.id};
});
}
onSubmit() {
this.$.watcher.check();
this.$http.patch(`ItemBotanicals`, this.botanical).then(() => {
this.$.watcher.notifySaved();
this.$.watcher.updateOriginalData();
});
}
onGenusResponse(response) {
this.botanical.genusFk = response.id;
}
onSpeciesResponse(response) {
this.botanical.specieFk = response.id;
}
}
ngModule.vnComponent('vnItemBotanical', {
template: require('./index.html'),
bindings: {
item: '<'
},
controller: Controller
});

View File

@ -0,0 +1,179 @@
import './index.js';
describe('vnItemBotanical', () => {
describe('Component vnItemBotanical', () => {
let $httpBackend;
let $scope;
let controller;
let vnApp;
beforeEach(ngModule('item'));
beforeEach(inject(($componentController, $rootScope, _$httpBackend_, _vnApp_) => {
$httpBackend = _$httpBackend_;
vnApp = _vnApp_;
jest.spyOn(vnApp, 'showError');
$scope = $rootScope.$new();
const $element = angular.element('<vn-item-botanical></vn-item-botanical>');
controller = $componentController('vnItemBotanical', {$element, $scope});
controller.item = {id: 5};
controller.$params = {itemFk: 5};
controller.$ = {
watcher: {
check: () => {},
notifySaved: () => {},
updateOriginalData: () => {}},
genus: {
show: () => {}
},
species: {
show: () => {}
}};
}));
beforeEach(() => {
const response = {data: 'MyResult'};
$httpBackend.whenRoute('GET', 'ItemBotanicals').respond(response);
});
describe('showGenus()', () => {
it('should do nothing in genus field if it default is prevented', () => {
const event = {
defaultPrevented: true,
preventDefault: () => {}
};
jest.spyOn(event, 'preventDefault');
jest.spyOn(controller.$.genus, 'show');
controller.showGenus(event);
expect(event.preventDefault).not.toHaveBeenCalledWith();
expect(controller.$.genus.show).not.toHaveBeenCalledWith();
});
it('should call show function in genus field when the default is not prevented', () => {
const event = {
defaultPrevented: false,
preventDefault: () => {}
};
jest.spyOn(event, 'preventDefault');
jest.spyOn(controller.$.genus, 'show');
controller.showGenus(event);
expect(event.preventDefault).toHaveBeenCalledWith();
expect(controller.$.genus.show).toHaveBeenCalledWith();
});
});
describe('showSpecies()', () => {
it('should do nothing in species field if it default is prevented', () => {
const event = {
defaultPrevented: true,
preventDefault: () => {}
};
jest.spyOn(event, 'preventDefault');
jest.spyOn(controller.$.species, 'show');
controller.showSpecies(event);
expect(event.preventDefault).not.toHaveBeenCalledWith();
expect(controller.$.species.show).not.toHaveBeenCalledWith();
});
it('should call show function in species field when the default is not prevented', () => {
const event = {
defaultPrevented: false,
preventDefault: () => {}
};
jest.spyOn(event, 'preventDefault');
jest.spyOn(controller.$.species, 'show');
controller.showSpecies(event);
expect(event.preventDefault).toHaveBeenCalledWith();
expect(controller.$.species.show).toHaveBeenCalledWith();
});
});
describe('onGenusAccept()', () => {
it('should throw an error if the item botanical has no genus name', () => {
jest.spyOn(controller.vnApp, 'showMessage');
controller.data = {};
controller.onGenusAccept();
expect(controller.vnApp.showError).toHaveBeenCalledWith(`The name of the genus can't be empty`);
});
it('should add the new genus', () => {
controller.data = {
id: 4,
name: 'Anilius'
};
$httpBackend.expectPOST('genera', controller.data).respond(200, controller.data);
controller.onGenusAccept();
$httpBackend.flush();
controller.onGenusResponse(controller.data);
expect(controller.botanical.genusFk).toEqual(controller.data.id);
});
});
describe('onSpeciesAccept()', () => {
it('should throw an error if the item botanical has no species name', () => {
jest.spyOn(controller.vnApp, 'showMessage');
controller.data = {};
controller.onSpeciesAccept();
expect(controller.vnApp.showError).toHaveBeenCalledWith(`The name of the species can't be empty`);
});
it('should add the new species', () => {
controller.data = {
id: 2,
name: 'Spasiva'
};
$httpBackend.expectPOST('species', controller.data).respond(200, controller.data);
controller.onSpeciesAccept();
$httpBackend.flush();
controller.onSpeciesResponse(controller.data);
});
});
describe('onSubmit()', () => {
it('should make HTTP POST request to save the genus and species data', () => {
jest.spyOn(controller.$.watcher, 'updateOriginalData');
jest.spyOn(controller.$.watcher, 'check');
jest.spyOn(controller.$.watcher, 'notifySaved');
$httpBackend.expectPATCH('ItemBotanicals').respond();
controller.onSubmit();
$httpBackend.flush();
expect(controller.$.watcher.updateOriginalData).toHaveBeenCalledWith();
expect(controller.$.watcher.check).toHaveBeenCalledWith();
expect(controller.$.watcher.notifySaved).toHaveBeenCalledWith();
});
});
describe('getBotanicalData()', () => {
it('should get the species and genus data references of the item', () => {
controller.getBotanicalData();
$httpBackend.flush();
expect(controller.botanical).toEqual(controller.$params);
});
});
});
});

View File

@ -0,0 +1,5 @@
The genus has been created: El genus ha sido creado
The species has been created: La especie ha sido creada
Latin species name: Nombre de la especie en latín
Latin genus name: Nombre del genus en latín
Species: Especie

View File

@ -26,7 +26,8 @@ Intrastat code: Código intrastat
Warehouse: Almacén
Code: Código
State: Estado
Species: Especie
New species: Nueva especie
New genus: Nuevo genus
Add tag: Añadir etiqueta
Remove tag: Quitar etiqueta
Add niche: Añadir nicho

View File

@ -111,7 +111,7 @@
</h4>
<h4
translate
ng-show="!$ctrl.isBuyer || !$ctrl.isReplenisher">
ng-show="!$ctrl.isBuyer && !$ctrl.isReplenisher">
Tags
</h4>
<vn-label-value
@ -130,7 +130,7 @@
</h4>
<h4
translate
ng-show="!$ctrl.isBuyer || !$ctrl.isAdministrative">
ng-show="!$ctrl.isBuyer && !$ctrl.isAdministrative">
Tax
</h4>
<vn-label-value label="{{tax.country.country}}"
@ -148,7 +148,7 @@
</h4>
<h4
translate
ng-show="!$ctrl.isBuyer || !$ctrl.isReplenisher">
ng-show="!$ctrl.isBuyer && !$ctrl.isReplenisher">
Niche
</h4>
<vn-label-value label="{{niche.warehouse.name}}"
@ -169,14 +169,11 @@
ng-show="!$ctrl.isBuyer">
Botanical
</h4>
<vn-label-value label="Botanical"
value="{{$ctrl.summary.botanical.botanical}}">
</vn-label-value>
<vn-label-value label="Genus"
value="{{$ctrl.summary.botanical.genus.latin_genus_name}}">
value="{{$ctrl.summary.botanical.genus.name}}">
</vn-label-value>
<vn-label-value label="Specie"
value="{{$ctrl.summary.botanical.specie.latin_species_name}}">
value="{{$ctrl.summary.botanical.specie.name}}">
</vn-label-value>
</vn-one>
<vn-one name="barcode">
@ -189,7 +186,7 @@
</h4>
<h4
translate
ng-show="!$ctrl.isBuyer || !$ctrl.isReplenisher">
ng-show="!$ctrl.isBuyer && !$ctrl.isReplenisher">
Barcode
</h4>
<p ng-repeat="barcode in $ctrl.summary.item.itemBarcode track by $index">

View File

@ -33,6 +33,11 @@
icon="verified_user"
ng-if="$ctrl.supplier.isSerious == true">
</vn-icon>
<vn-icon
vn-tooltip="Unverified supplier"
icon="icon-supplierfalse"
ng-if="$ctrl.supplier.isSerious == false">
</vn-icon>
</div>
<div class="quicklinks">
<div ng-transclude="btnOne">

View File

@ -2,4 +2,5 @@ Tax number: NIF / CIF
All entries with current supplier: Todas las entradas con el proveedor actual
Go to client: Ir al cliente
Verified supplier: Proveedor verificado
Unverified supplier: Proveedor no verificado
Inactive supplier: Proveedor inactivo

View File

@ -75,6 +75,7 @@ class Controller extends Component {
set shipped(value) {
this.ticket.shipped = value;
this.ticket.shipped.setHours(0, 0, 0, 0);
this.getLanded({
shipped: value,
addressFk: this.ticket.addressFk,

View File

@ -69,8 +69,13 @@
<vn-td expand class="before">
<vn-one ng-repeat="old in log.oldProperties">
<div>
<span translate class="label">{{::old.key}}</span><span class="label">: </span>
<span translate class="value">{{::old.value | dashIfEmpty}}</span>
<span translate class="label alignSpan">{{::old.key}}</span><span class="label alignSpan">: </span>
<span
translate
class="value ellipsis"
vn-tooltip="{{::old.value | dashIfEmpty}}">
{{::old.value | dashIfEmpty}}
</span>
</div>
</vn-one>
</vn-td>
@ -80,8 +85,13 @@
ng-if="!log.description"
id="newInstance">
<div>
<span translate class="label">{{::new.key}}</span><span class="label">: </span>
<span translate class="value">{{::new.value | dashIfEmpty}}</span>
<span translate class="label alignSpan">{{::new.key}}</span><span class="label alignSpan">: </span>
<span
translate
class="value ellipsis"
vn-tooltip="{{::new.value | dashIfEmpty}}">
{{::new.value | dashIfEmpty}}
</span>
</div>
</vn-one>
<vn-one

View File

@ -11,3 +11,4 @@ Updates: Actualiza
Deletes: Elimina
Views: Visualiza
System: Sistema
note: nota

View File

@ -24,3 +24,14 @@ vn-log {
}
}
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
max-width: 400px;
text-overflow: ellipsis;
display: inline-block;
}
.alignSpan {
overflow: hidden;
display: inline-block;
}