Jump to content

[Plugin] Client Notices (Set Text Or Html Notice For Each Client)


Blesta Addons
Message added by Michael,

Important Notice:

We have received reports that this developer is not responding to support requests. Some extensions may not be compatible with newer versions of Blesta.

Recommended Posts

Hello All .

we bring free and exclusive content , this plugin will help admin to set a notice for each client (text or html contents).

this plugin was coded specially for some request by memebers in this forum .

with the plugin, you can :

- Add/Edit/Delete notice for each client
- Set notice in text or html format .
- Filter notice in the list notices page with Jquery .

TODO LIST :
- nothing at the moment .

Some screenshoot :

addmin list notices

 

client_notices_admin.png

Add/Edit admin page

 

client_notices_add.png


admin staff action in client profile

 

client_notices_action.png


notice in client side

 

client_notices_clientside.png

as always the installtion steps is :
1 - download the file from your account
2 - upload the client_notices folder inside plugin directory .
3 - goto plugins , and install client Notices .
4 - enjoy the free content .


Best regards

Link to comment
Share on other sites

awesome +1 thank you so much

 

very happy to serve you .

 

Thanks mate going to try it, just to let you know I edited your post with the correct URL as it was linking to the admin tools, I was a bit confused and client_notices to replace the url folder and it worked so thought I'd save you some time haha :D

thanks for your correction . and waiting your feedbacks: and notes )

Link to comment
Share on other sites

very happy to serve you .

 

thanks for your correction . and waiting your feedbacks: and notes )

 

I would like to see their client ID probably or client name if possible mate at the moment it shows the client ID as their database ID.

 

Also if possible have the notes display at the top of the other boxes It's a bit hard out of view for a notice?

 

As for the above here's our contribution for your module, feel free to add if you would like.

 

 

OLD design:

post-38-0-47830700-1414893746_thumb.png

 

NEW design:

 

post-38-0-28520200-1414893776_thumb.png

 

CODE to replace in: plugins/client_notices/views/default/admin_main.pdt

		<?php
		echo $this->Html->ifSet($message);
		
		$links = array();
		
		$this->Widget->clear();
		$this->Widget->setLinks($links);
		$this->Widget->create($this->_("AdminMain.index.boxtitle_notices", true), array('id'=>"admin_main"), $this->Html->ifSet($render_section, null));

		if ($this->Html->ifSet($notices, false) && ($num_notices = count($notices)) > 0) {
		?>
<div class="content_section">		
	<div class="inner" style="padding: 20px 20px 0px 20px;font-size: 14px;">
		<ul>
			<li><?php $this->_("AdminMain.add.search_for");?>: <input id="system-search" name="q" type="text" /></li>
		</ul>
	</div>
</div>

<div style="padding: 10px 20px 0px 20px;">
	<table class="table table-list-search">
            <thead>
                <tr class="heading_row">
                    <td><span><a href="<?php echo $this->Html->safe($this->base_uri . "plugin/client_notices/admin_main/index/?sort=id&order=" . ($sort == "id" ? $negate_order : $order));?>" class="ajax<?php echo $this->Html->safe($sort == "id" ? " " . $order : "");?>"><?php $this->_("AdminMain.index.heading_id");?></a></span></td>
                    <td><span><a href="<?php echo $this->Html->safe($this->base_uri . "plugin/client_notices/admin_main/index/?sort=client_id&order=" . ($sort == "client_id" ? $negate_order : $order));?>" class="ajax<?php echo $this->Html->safe($sort == "client_id" ? " " . $order : "");?>"><?php $this->_("AdminMain.index.heading_client_id");?></a></span></td>
                    <td><span><a href="<?php echo $this->Html->safe($this->base_uri . "plugin/client_notices/admin_main/index/?sort=notice_name&order=" . ($sort == "notice_name" ? $negate_order : $order));?>" class="ajax<?php echo $this->Html->safe($sort == "notice_name" ? " " . $order : "");?>"><?php $this->_("AdminMain.index.heading_name");?></a></span></td>
                    <td><span><a href="<?php echo $this->Html->safe($this->base_uri . "plugin/client_notices/admin_main/index/?sort=date_added&order=" . ($sort == "date_added" ? $negate_order : $order));?>" class="ajax<?php echo $this->Html->safe($sort == "date_added" ? " " . $order : "");?>"><?php $this->_("AdminMain.index.heading_date_added");?></a></span></td>
                    <td><?php $this->_("AdminMain.index.heading_options");?></td>
                </tr>
            </thead>
            <tbody>
            	<?php
				$i=0;
				foreach ($notices as $notice) {
				?>
				<tr class="<?php echo $this->Html->concat(" ", ($i++%2 == 1) ? "odd_row" : "");?>">
                    <td><?php $this->Html->_($notice->id);?></td>
                    <td><a href="<?php echo $this->Html->safe($this->base_uri . "clients/view/" . $this->Html->ifSet($notice->client_id));?>"><?php $this->Html->_($notice->client_id);?></a></td>
                    <td><?php $this->Html->_($notice->notice_name);?></td>
                    <td><?php echo $this->Date->cast($notice->date_added);?></td>
                    <td><a href="<?php echo $this->Html->safe($this->base_uri . "plugin/client_notices/admin_main/edit/" . $this->Html->ifSet($notice->id));?>"><?php $this->_("AdminMain.index.option_edit");?></a>,
						<?php
						$this->Form->create($this->base_uri . "plugin/client_notices/admin_main/delete/" . $this->Html->ifSet($notice->id));
						$this->Form->fieldHidden("id", $this->Html->ifSet($notice->id));
						?>
						<a href="<?php echo $this->Html->safe($this->base_uri . "plugin/client_notices/admin_main/delete/" . $this->Html->ifSet($notice->id));?>" class="manage" rel="<?php $this->_("AdminMain.modal.delete_notice");?>"><?php $this->_("AdminMain.index.option_delete");?></a>
						<?php
						$this->Form->end();
						?>
					</td>
                </tr>
            <?php } ?>
            </tbody>
        </table>
</div>
    	<?php }else{ ?>
<div class="content_section">       
    <div class="inner" style="padding: 20px 20px 0px 20px;margin-bottom:-12px;font-size: 12px;">
        <ul>
            <li><?php $this->_("AdminMain.index.no_results");?></li>
        </ul>
    </div>
</div>
		<?php
		}
		$this->Widget->end();
		?>
<script type="text/javascript">
	$(document).ready(function() {
		$('#admin_main a.manage[rel]').blestaModalConfirm({base_url: '<?php echo $this->Html->safe($this->base_uri);?>', close: '<?php $this->_("AppController.modal.text_close");?>', submit: true});
	});
</script>

<script type="text/javascript">
$(document).ready(function() {
    var activeSystemClass = $('.list-group-item.active');

    //something is entered in search form
    $('#system-search').keyup( function() {
       var that = this;
        // affect all table rows on in systems table
        var tableBody = $('.table-list-search tbody');
        var tableRowsClass = $('.table-list-search tbody tr');
        $('.search-sf').remove();
        tableRowsClass.each( function(i, val) {
        
            //Lower text for case insensitive
            var rowText = $(val).text().toLowerCase();
            var inputText = $(that).val().toLowerCase();

            if( rowText.indexOf( inputText ) == -1 )
            {
                //hide rows
                tableRowsClass.eq(i).hide();
                
            }
            else
            {
                $('.search-sf').remove();
                tableRowsClass.eq(i).show();
            }
        });
        //all tr elements are hidden
        if(tableRowsClass.children(':visible').length == 0)
        {
            tableBody.append('<tr class="search-sf"><td class="text-muted" colspan="6">No entries found.</td></tr>');
        }
    });
});	
</script>		

Table design thanks to Eric who did a module for me :)

 

 

New Client Side:

post-38-0-30325300-1414893888_thumb.png

 

CODE to replace in: plugins/client_notices/views/default/client_widget.pdt

<?php
if ($this->Html->Ifset($notice) ) {
	// Don't show this container when only rendering the widget section
	if (!$this->Html->ifSet($render_section) && !$this->Html->ifSet($is_ajax) && $this->Html->Ifset($notice) ) {
?>
<div class="col-md-12">
		<?php
		}
			echo "<div class='alert alert-danger' role='alert'><b>";
			echo  $this->Html->Ifset($notice->notice_name);
			echo "</b><br />";		
			echo  $this->Html->Ifset($notice->notice_body);
			echo "</div>";
			
// Don't show this container when only rendering the widget section
if (!$this->Html->ifSet($render_section) && !$this->Html->ifSet($is_ajax)) {
?>
</div>
<?php
	}
}	
?>
Link to comment
Share on other sites

  • 7 months later...

Also if possible have the notes display at the top of the other boxes It's a bit hard out of view for a notice?

+1, I would love to use this plugin, but this is making it unusable. If someone could please advise, that would be great.

Link to comment
Share on other sites

+1, I would love to use this plugin, but this is making it unusable. If someone could please advise, that would be great.

This should be added to blesta core , to allow selecting the order fo the wodgets .

you can open anew feature request , you will have my vote .

Link to comment
Share on other sites

Oh, so it's not a plugin issue, but an issue with Blesta not allowing the re-ordering. Thanks for the insight!

i have create a feature request , this a good option not only to re-order widget but also to re-order native widget like transaction , services , invoices ....

http://www.blesta.com/forums/index.php?/topic/4594-option-to-reorder-widgets-for-client-side/

Link to comment
Share on other sites

  • 7 months later...

Thank you. 

Is there a way to write the notice at once and select it to be viewed to all clients?

 

you should then use the announcement plugin of naja7host .

 

I uploaded the plugin but could not see. It did not even appear with the boxes in the main screen, it came as one componenet in the top menu.

 

???

have you uploaded the folder to plugins directory ?

Link to comment
Share on other sites

Worked. Thank you all. 

Prpb : ) it says for most function, this is not working on this blesta version something like this : ) My version was downloaded from the site latest.

 

Plus - I could not find the way to delete all invoices and make the billings zero dollar?

 

You can void the invoices (Edit > Void)

Link to comment
Share on other sites

  • 10 months later...
7 hours ago, turner2f said:

REQUESTED FEATURE :

The ability to MANUALLY send an email to the client after a Notice is created or updated .

we will see this when we will update the plugin, but as the v4 has the built-in plugin for newsletter i think you can do this from admin side with the newsletter plugin .

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...